1.免密登录配置。
(1)在Hadoop01上面执行公私钥生产,连按三个回车确认。
[qurui@hadoop102 ~]# ssh-keygen -t rsa
(2)将公钥拷贝到三台机器上面,输入以下代码,然后选择yes,输入密码即可。
[qurui@hadoop102 ~]# ssh-copy-id hadoop01
[qurui@hadoop102 ~]# ssh-copy-id hadoop02
[qurui@hadoop102 ~]# ssh-copy-id hadoop03
(3)在Hadoop02和Hadoop03两台机器重复以上步骤。
2.群发脚本撰写(可选)。
(1)cd到bin目录下面。
[qurui@hadoop102 ~]$ cd /bin #进入目录
(2)建立自己想要的脚本名(xsync)。
[qurui@hadoop102 ~]$ sudo vim xsync #打开文件,sudo是提高命令权限
(3)复制粘贴脚本。
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop01 hadoop02 hadoop03
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
(5)赋予脚本权限。
[qurui@hadoop102 bin]$ sudo chmod 777 xsync #777(-R)代表权限放开给所有人,或者u(属主),g(属组),o(其它)+r(读),w(写),x(执行)。
3.上传jar包,一共2个,最好放到/software文件夹下,解压jar包。
jar包:链接:https://pan.baidu.com/s/14HhHRGxz6OERslx_drqvEw
提取码:1234
(1)cd到/software文件夹,然后点上方的文件传输,点取消。
(2)把java和hadoop的jar包文件直接拖进去。
(3)解压两个文件到module文件夹。
[root@hadoop101 ~]tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
[root@hadoop101 ~]tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
4.更改环境变量,hadoop只需要java和hadoop就行。
(1)转换成root用户。
[qurui@hadoop102 ~]#su root
(2)进入到/etc/profile.d/my_env.sh文件。
[root@hadoop102 ~]#sudo vim /etc/profile.d/my_env.sh #打开文件夹,写入以下内容
(2)复制写入以下文件。
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_211
export PATH=$PATH:$JAVA_HOME/bin
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
(3)刷新使环境变量生效
[root@hadoop102 ~]# source /etc/profile.d/my_env.sh #用来刷新使环境变量生效
(4)查看下是否安装成功。
[root@hadoop102 ~]# java -version
5.配置hadoop文件。
(1)进入/opt/module/hadoop-3.1.3/etc/hadoop/文件下。
[qurui@hadoop102 ~]# cd /opt/module/hadoop-3.1.3/etc/hadoop/ #进入该目录
(2)修改core-site.xml文件。
[qurui@hadoop102 ~]# vim core-site.xml #修改hadoop配置文件
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:8020</value>
</property>
<property>
<name>hadoop.data.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
<property>
<name>hadoop.proxyuser.qurui.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.qurui.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>qurui</value>
</property>
<property>
<name>io.compression.codecs</name>
<value>
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec
</value>
</property>
<property>
<name>io.compression.codec.lzo.class</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property>
(3)修改hdfs-site.xml文件。
[qurui@hadoop102 ~]# vim hdfs-site.xml
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.data.dir}/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.data.dir}/data</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file://${hadoop.data.dir}/namesecondary</value>
</property>
<property>
<name>dfs.client.datanode-restart.timeout</name>
<value>30</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop03:9868</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
(4)修改 yarn-site.xml文件。
[qurui@hadoop102 ~]# vim yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop02</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
(5)修改 mapred-site.xml文件。
[qurui@hadoop102 ~]# vim mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
6.配置worker,写入机器名字。
[root@hadoop101 ~]# vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
hadoop01
hadoop02
hadoop03
#写入集群的机器名
7.分发/opt/module/hadoop-3.1.3/etc/hadoop/文件和环境变量,如下进行分发:
[qurui@hadoop102 ~]# xsync /opt/module/ #hadoop文件
[qurui@hadoop102 ~]# sudo xsync /etc/profile.d/my_env.sh #环境变量文件
15.启动集群。
(1)第一次启动需要在Hadoop01节点启动格式化。
[qurui@hadoop102 ~]# hdfs namenode -format
(2)在Hadoop01节点启动HDFS。
[qurui@hadoop102 ~]# start-dfs.sh
(3)在Hadoop02节点启动yarn。
[qurui@hadoop102 ~]# start-yarn.sh
(4)通过jps指令检查一下三台机器的状态。
(5)通过192.168.1.101:9870登录hadoop的hdfs网页界面。
(5)通过192.168.1.102:8088 登录Hadoop的yarn界面。