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的環(huán)境變量
echo $JAVA_HOME
4. 修改/opt/module/hadoop-2.9.2/etc/hadoop/hadoop-env.sh
將其中的export JAVA_HOME
的值改為自己的JDK環(huán)境變量
5. 修改/opt/module/hadoop-2.9.2/etc/hadoop/yarn-env.sh
將其中的export JAVA_HOME
的值改為自己的JDK環(huán)境變量
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環(huán)境變量
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 - #切換用戶并且切換用戶的環(huán)境變量
2. 進入/opt
鸟款,將1號主機上的/opt下的module目錄推到2號主機
sudo scp -r module/ root@hadoop2:/opt/
3. 將1號主機上的/opt
下的module
目錄拉到3號主機
#在3號主機上進入/opt目錄
#再執(zhí)行
scp -r root@hadoop3:/opt/module/ ./
4. 將所有主機上的/opt/module
目錄的權(quán)限改為自建用戶
#分別在2號和3號主機上執(zhí)行
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. 編寫集群分發(fā)腳本xsync
? 打開一號主機,并輸入命令echo $PATH
堕阔,查看/usr/local/bin
是否存在楔绞,如果存在就進入/usr/local/bin
cd /usr/local/bin
? 編寫分發(fā)腳本如下
#!/bin/bash
#1 獲取輸入?yún)?shù)的個數(shù)叔营,如果沒有參數(shù)鸿吆,直接退出
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循環(huán)
for((host=1; host<3; host++));do
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
? 保存退出雷滚,給與分發(fā)腳本可執(zhí)行權(quán)限
sudo chmod a+x xsync
9. 配置免密登錄
cd #在1號主機上執(zhí)行,進入當前登錄用戶的家目錄
ls -al #查看是否存在.ssh目錄。若沒有谷徙,就執(zhí)行下面的命令
ssh 某主機名 #進行遠程登錄拒啰,登錄成功后驯绎,退出登錄狀態(tài)完慧,再次查看,.ssh目錄生成
ssh-keygen -t rsa #進入.ssh目錄生成公鑰和私鑰
ssh-copy-id 其他主機名 #所有的主機都要分發(fā)公鑰,包括它自己
? 切換到root下屈尼,執(zhí)行同樣的公鑰私鑰操作
10. 修改slaves文件,在文件中加入
hadoop1
hadoop2
hadoop3 #不允許有多余的空格和換行
? 然后分發(fā)slaves文件到集群
xsync slaves
11. 格式化namenode
#格式化之前要關(guān)閉所有的進程
sbin/stop-dfs.sh
#刪除各臺主機上的data和logs目錄
rm -rf data logs
#執(zhí)行格式化命令
bin/hdfs namenode -format
12. 啟動HDFS
sbin/start-dfs.sh #路徑要對
13. 檢查所有的配置文件并分發(fā)
yarn-site.xml
mapred-site.xml
yarn-env.sh
mapred-env.sh
14. 在2號主機上啟動yarn
sbin/start-yarn.sh