hadoop叢集配置
1.叢集部署規劃
hadoop11 | hadoop12 | hadoop13 | |
HDFS |
NameNode DataNode |
DataNode |
SecondaryNameNode DataNode |
YARN | NodeManager |
ResourceManager NodeManager |
NodeManager |
2.配置叢集
使用SecureCRT遠端工具連線虛擬機器
a.核心配置檔案
配置core-site.xml ($HADOOP/etc/hadoop目錄下)
在該檔案中編寫如下配置
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop11:9000</value>
</property>
<!-- 指定Hadoop執行時產生檔案的儲存目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
b.HDFS配置檔案
配置hdfs-env.sh($HADOOP/etc/hadoop目錄下)
將JAVA_HOME進行配置
配置hdfs-site.xml($HADOOP/etc/hadoop目錄下)
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop輔助名稱節點主機配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop13:50090</value>
</property>
c.YARN配置檔案
配置yarn-env.sh($HADOOP/etc/hadoop目錄下)
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置yarn-site.xml($HADOOP/etc/hadoop目錄下)
<!-- Reducer獲取資料的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop12</value>
</property>
d.MapReduce配置檔案
配置mapred-env.sh($HADOOP/etc/hadoop目錄下)
export JAVA_HOME=/opt/module/jdk1.8.0_144
將 mv mapred-site.xml.template mapred-site.xml
配置mapred-site.xml($HADOOP/etc/hadoop目錄下)
<!-- 指定MR執行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.在叢集上分發配置好的Hadoop配置檔案
系統如未安裝rsync,先執行以下命令進行安裝
yum -y install rsync
建立叢集分發指令碼
touch xsync
vim xsync
檔案內容如下
#!/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=11; host<14; host++)); do
echo ------------------- hadoop$host --------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
修改指令碼 xsync 具有執行許可權
chmod 777 xsync
將剛修改的hadoop檔案分發給其它虛擬機器
進行hadoop下的etc目錄
xsync /hadoop
注意:如果將xsync放到/home/hadoop/bin目錄下仍然不能實現全域性使用,
檢視 echo $PATH,是否有配置下面圈起的路徑
如沒有也可以將xsync移動到/usr/local/bin目錄下
到虛擬機器hadoop12、hadoop13虛擬機器上的檔案,確認是否跟最新的配置檔案一致
到此就完成hadoop配置檔案的配置