引言
最近群里有很多同学问我如何才能学好大数据,思考再三,我决定写一篇文章来引导一下大家进入大数据的学习。(本文是从完全没基础的小白开始引导,如果有一定基础,可以直接根据目录寻找自己需要的内容)
第一章 想致富,先撸树。万丈高楼平地起
通过这一章学习,就可以了解到一个企业目前的热门软件和框架有哪些,如何装配Hadoop的基本环境。
在开始学习之前,首先我们需要了解一个东西:
大数据是什么?
让我们先来看一篇文章。
这时候可能有些同学会说:太长不看;太难,看不懂;看过了不了解。。。。。。
不想看也没关系,确实这篇文章写的太长了,介绍的内容也非常非常的多。我们只需要针对性的去了解一些东西,能够知道大数据的概况,生态圈也就够了。
因为这些都不是重点,简单的来说可以一句话概括:好比大家做菜,把一大段食材切成差不多长度的几段,然后找几个人对每一段进行一样的操作(比如说一起把自己的这一段切成同样的长度),最后把所有人切好的食材装到一个盘子里。
既然我们已经知道大数据是干什么的了,那么对于现有的食材(数据),我们可以开始安排几个人(搭建集群)来做这件事了。当然,我们也可以让一个人长出无数个手(搭建离线集群)来做这件事。
搭建集群的过程很漫长,我们需要耗费大量的精力。不过没关系,万丈高楼平地起。相信大家都玩过我的世界(或者饥荒)这类游戏,听过一句话叫“想致富,先撸树。”
想致富,先撸树
那么让我们开始吧!
准备好大数据相关的编译软件:
这边推荐一款java编译的明星产品:IntellijIdea(Eclipse也可以,随便你~)
idea官网:(请下载专业版)
至于是否对这个软件付费使用,随便你~
在idea中装配一些环境,准备好jdk,scala,maven等。
jdk官网:
scala官网:(scala:大数据框架经常会使用到的一种语言)
maven官网:(请修改settings文件配置阿里云镜像,如果是北方网友,请无视这条)
mysql官网:
Apache相关产品组件官网:
VMware(虚拟机)官网:
CentOS镜像:
Windows10操作系统:(如果你真的没有这玩意的话)
不想一个个找可以加群:556257229,在群文件中有相关内容
Q:相关产品需要下载一段时间,那么这段时间我们应该干什么呢?
A: 计算一下大概时间,然后出门饮茶先~当然是养生更重要。我这不叫摸鱼,这叫做适当放松,保持健康才能有更多的精力来投入工作!
好了,那我们茶足饭饱了(bushi),该开始工作了。现在让我们将下载好的软件按照官方文档中的要求去装配。哎哎哎,那个同学别睡觉,醒醒,该工作了!
让我们先来看看文档中的安装要求:(以下为hadoop官网)
其他软件安装内容可以加群讨论:556257229,后续章节中也会有更新
hadoop安装官方文档指引
(呼噜声)
没关系的,先别忙着睡。万事开头难,等我们把环境搭好了就可以开始学习我们的大数据了。
首先我们先配置一下windows的环境:
配置好所需的环境变量:
环境变量
环境变量
以及安装linux虚拟机(安装好VMware,在里面装一个centos7的环境)
在虚拟机中配置环境变量:
vi /etc/profile
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}
if [ -x /usr/bin/id ]; then
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`/usr/bin/id -u`
UID=`/usr/bin/id -ru`
fi
USER="`/usr/bin/id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
fi
HOSTNAME=`/usr/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
export HISTCONTROL=ignoreboth
else
export HISTCONTROL=ignoredups
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
unset i
unset -f pathmunge
JAVA_HOME=/root/install/jdk1.8.0_161
export JAVA_HOME
HADOOP_HOME=hadoop地址
export HADOOP_HOME
export HADOOP_CLASSPATH=`hadoop classpath`
export HADOOP_CLASSPATH=$CLASSPATH:$HIVE_HOME/lib/*
SCALA_HOME=scala地址
export SCALA_HOME
unset i
unset -f pathmunge
JAVA_HOME=java地址
export JAVA_HOME
#PATH=$PATH:$JAVA_HOME
HADOOP_HOME=hadoop地址
export HADOOP_HOME
export HADOOP_CLASSPATH=`hadoop classpath`
export HADOOP_CLASSPATH=$CLASSPATH:$HIVE_HOME/lib/*
SCALA_HOME=scala地址
export SCALA_HOME
SPARK_HOME=spark地址
FLINK_HOME=flink地址
export HIVE_HOME=hive地址
直接复制是没有效果的喔,请看清楚里面的内容,并按照自己的地址修改。
配置好以后请退出保存
:wq
保存
随后 source /etc/profile激活环境变量
配置好了以后将相关的软件装一个windows版一个linux版,方便后期的代码编译调试。
提示:在配置Linux的主机名映射的时候,需要找到/etc/hosts文件修改
现在让我们尝试使用linux搭建hadoop,使用mac搭建集群请跳过这部分直接点击目录寻找下面部分。
我们先在linux中解压hadoop,准备好我们的jdk文件。
jdk下载地址上面有↑↑↑
将下载好的jdk放在一个方便访问的位置(用的什么系统下载什么版本!这里是linux的版本教程所以请下载linux版。),并添加环境变量(在上面文件里直接改一下就行了)
随后我们打开解压的hadoop文件,在hadoop包里的/etc/hadoop中找到几个核心的配置文件:
hdfs-site.xml core-site.xml yarn-site.xml(其他几个可以按需修改,这几个是比较重要的)
然后查看官方文档:
可以按照这个官网安装好一个基本的单节点集群(离线),建议装单节点,不要装cluster,会增加学习负担!
先构建ssh链接
ssh-keygen -t rsa
一路回车
查看生成私钥和公钥
cd ~/.ssh
然后设置免密登录
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
测试ssh链接
ssh localhost(或者你的虚拟机映射)
几个核心配置文件的重点配置如下:
hadoop-env.sh
找到截图中的这行
随后添加如下代码:
export JAVA_HOME=你自己的java地址
core-site
fs.defaultFS
hdfs://hadoop映射:8020
hadoop映射这块请自行配置一下,在/etc/hosts里面。可以按照自己喜欢的来。
hdfs-site
dfs.replication
1
dfs.namenode.name.dir
你的namenode地址
dfs.datanode.data.dir
你的datanode地址
dfs.webhdfs.enabled
true
更多配置请看下面指引中的官方文档默认参数配置和解释↓↓↓(在Mac安装章节后面)
yarn-site
yarn.resourcemanager.hostname
你的hadoop映射
yarn.nodemanager.aux-services
mapreduce_shuffle
报错日志(log4j.properties)相关配置文件内容在第二章会有提及。
marped-site
mapreduce.framework.name
yarn
对hdfs的解释性文档:
初始化namenode节点:
hadoop namenode -format
如果没有报错则可以继续,报错请检查前面的操作。
启动集群:
start-all.sh
成功启动代表你的安装完成。
jps命令查看效果如下:
如果是使用的Mac系统,请查看以下内容:
Mac安装Hadoop步骤:
打开终端,使用如下指令生成秘钥
ssh-keygen -t rsa
查看生成的私钥和公钥
cd ~/.ssh
将公钥内容写到
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
随后测试ssh链接
ssh localhost
如果测试链接不成功,
请按下列步骤排查:设置->共享->远程登录和远程连接是否打开
成功以后会询问你一段话,随后输入yes(Are you sure you want to continue connecting?)
然后安装hadoop和jdk(注意jdk需要装mac版本,一般推荐1.8或者11)
需要注意的是mac的映射地址一般是localhost。也是在/etc/hosts里面可以查看
hadoop配置和上面linux的方法基本一致,跟着官网走即可。
修改环境变量
mac和linux稍微有点区别的是可以修改用户变量来使用,source /etc/profile会提示没效果。
所以mac步骤为:
vim ~/.bash_profile
如果创建了新文件也不要紧。在里面配置环境变量就可以了。大概格式为:
HADOOP_HOME=/xxxxxx/xxxx/xxx
export HADOOP_HOME(hadoop需要sbin和bin目录)
PATH = $PATH:xxx/bin
修改完成以后wq保存
随后source刷新这个文件夹就可以了
source ~/.bash_profile
初始化namenode节点
如果成功装好了环境变量,则可以使用start-all.sh指令。如果使用不了,请cd到bin目录,使用 chmod u+x *指令添加所有的权限。但是现在的start-all还不能使用。只是测试一下你的环境变量是否配置成功。
如果变量没问题,也添加了权限,则可以开始namenode初始化
然后使用start-all.sh尝试启动集群
然后jsp查看,看到节点启动了就可以成功了。
如果失败请参考下一章中linux失败查看log的方式。
相关软件列表:(不分先后)
mysql,hbase,hadoop,java,hive,kafka,zookeeper,spark,scala,flink,sqoop,redis,druid,clickhouse,Phoenix...(更多的软件可以按需添加)
以上内容如果不知道如何安装请根据左侧目录寻找到对应官网,其中hive,hadoop,kafka等都隶属于Apache,可以在产品列表中找到。
maven(只需要windows安装即可,方便通过maven直接引入需要的依赖包)
安装好以后根据官方文档配置相关配置文件(主要是配置Linux中的)
推荐使用finalshell或者xshell来配合VMware使用。
在你安装的hadoop文件中找到配置文件:
(在帮助文档的这个位置开始往下看,帮助文档地址请查看目录)
一般为了方便搭建,推荐只搭建一个离线集群。
可以在官方文档的左下角这个地方找到相关配置信息:
对安装环境有困难和疑问的可以加群讨论:556257229
完成了对hadoop集群搭建以后(再次提醒:尽量不要搭建多集群,一般离线模式在学习阶段就够用了。不然容易添加一些学习负担),就可以开始着手搭建一些基本环境了。(下一章会开始讲解hive相关的环境搭建)
完成了下载和hadoop的搭建以后,恭喜各位,踏出了大数据学习的第一步。(第二章会教大家怎么使用集群)
在搭建环境的过程中请注意版本搭配,各类设置配置内容。
更多内容敬请期待。(这才第一章,第一章!!!!!!!!!!!!)
码字不易,觉得内容对你有帮助可以点个赞加个关注再走~
文章末尾求个三连~(点赞收藏+关注)
后面几章内容传送门:
第二章:
第三章: