1. 修改/opt/module/hadoop-2.9.2/etc/hadoop/core-site.xml
文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.9.2/data/tmp</value>
</property>
</configuration>
2. 修改/opt/module/hadoop-2.9.2/etc/hadoop/hdfs-site.xml
文件
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop3:50090</value>
</property>
</configuration>
3. 打印JDK的环境变量
echo $JAVA_HOME
4. 修改/opt/module/hadoop-2.9.2/etc/hadoop/hadoop-env.sh
将其中的export JAVA_HOME
的值改为自己的JDK环境变量
5. 修改/opt/module/hadoop-2.9.2/etc/hadoop/yarn-env.sh
将其中的export JAVA_HOME
的值改为自己的JDK环境变量
6. 修改/opt/module/hadoop-2.9.2/etc/hadoop/yarn-site.xml
文件
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop2</value>
</property>
</configuration>
7. 修改/opt/module/hadoop-2.9.2/etc/hadoop/mapred-env.sh
将其中的export JAVA\_HOME
的值改为自己的JDK环境变量
8. 将同路径下的mapred-site.xml.template
改名
mv mapred-site.xml.template mapred-site.xml
9. 修改改名后的mapred-site.xml
文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
SCP集群间拷贝
1. 在1号主机上切换到root
用户
su #仅做切换用户操作
su - #切换用户并且切换用户的环境变量
2. 进入/opt
,将1号主机上的/opt下的module目录推到2号主机
sudo scp -r module/ root@hadoop2:/opt/
3. 将1号主机上的/opt
下的module
目录拉到3号主机
#在3号主机上进入/opt目录
#再执行
scp -r root@hadoop3:/opt/module/ ./
4. 将所有主机上的/opt/module
目录的权限改为自建用户
#分别在2号和3号主机上执行
chown hwhadoop:hwhadoop /opt/module -R
5. 将1号主机的/etc/profile
推送到2号和3号主机
scp -r /etc/profile root@hadoop2:/etc/profile
scp -r /etc/profile root@hadoop3:/etc/profile
6. 完成后别忘记了
source /etc/profile
7. 在所有主机上分别下载rsync
yum install rsync -y
8. 编写集群分发脚本xsync
打开一号主机,并输入命令echo $PATH
,查看/usr/local/bin
是否存在,如果存在就进入/usr/local/bin
cd /usr/local/bin
编写分发脚本如下
#!/bin/bash
#1 获取输入参数的个数,如果没有参数,直接退出
pcount=$#
if((pcount==0));then
echo no args;
exit;
fi
#2获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3获取上级目录到绝对目录
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4获取当前用户名
user=`whoami`
#5循环
for((host=1; host<3; host++));do
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
保存退出,给与分发脚本可执行权限
sudo chmod a+x xsync
9. 配置免密登录
cd #在1号主机上执行,进入当前登录用户的家目录
ls -al #查看是否存在.ssh目录。若没有,就执行下面的命令
ssh 某主机名 #进行远程登录,登录成功后,退出登录状态,再次查看,.ssh目录生成
ssh-keygen -t rsa #进入.ssh目录生成公钥和私钥
ssh-copy-id 其他主机名 #所有的主机都要分发公钥,包括它自己
切换到root下,执行同样的公钥私钥操作
10. 修改slaves文件,在文件中加入
hadoop1
hadoop2
hadoop3 #不允许有多余的空格和换行
然后分发slaves文件到集群
xsync slaves
11. 格式化namenode
#格式化之前要关闭所有的进程
sbin/stop-dfs.sh
#删除各台主机上的data和logs目录
rm -rf data logs
#执行格式化命令
bin/hdfs namenode -format
12. 启动HDFS
sbin/start-dfs.sh #路径要对
13. 检查所有的配置文件并分发
yarn-site.xml
mapred-site.xml
yarn-env.sh
mapred-env.sh
14. 在2号主机上启动yarn
sbin/start-yarn.sh
网友评论