集群配置:两个脚本文件:(配置在/home/jinghang/bin下)
1)jpsall
#!/bin/bash
for((i=1;i<4;i++))
do
echo ----------------------hadoop0$i----------------------------
ssh hadoop0$i "source /etc/profile && jps"
done
2)myrsync
#!/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=2; host<4; host++)); do
echo ------------------- hadoop0$host --------------
rsync -av $pdir/$fname $user@hadoop0$host:$pdir
done
配置免密登录:
1.生成密钥对
ssh-keygen -t rsa 回车点三次
2.发送共钥到本机
ssh-copy-id hadoop101 输入一次密码
3.分别ssh登陆一下所有虚拟机
ssh hadoop102
exit (一定要记住登陆后退出!!!)
4.把密钥集群发送所有服务器
rsync -av /home/jinghang/.ssh/ jinghang@hadoop102:/home/jinghang/.ssh
(在.ssh之后加一个/,否则发送不全)
文件配置: 配置Core-site.xml 添加如下内容
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
配置hdfs-site.xml,添加如下内容
<!-- 数据的副本数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>主机名:50090</value>
</property>
配置yarn-site.xml 添加如下内容
<!-- Site specific YARN configuration properties -->
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>主机名</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
配置mapred-site.xml 添加如下内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>主机名:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>主机名:19888</value>
</property>
配置etc/hadoop/Slaves,添加从节点主机名
hadoop102
hadoop103
hadoop104
在配置完文件过后,复制与其他两个
rsync -av /opt/module/hadoop-2.7.2/etc/hadoop jinghang@hadoop102:/opt/module/hadoop-2.7.2/etc/hadoop
rsync -av /opt/module/hadoop-2.7.2/etc/hadoop jinghang@hadoop103:/opt/module/hadoop-2.7.2/etc/hadoop
启动集群:
在NameNode所在的服务器,格式化Namenode 在(如果之前启动过需要先rm -rf data logs)
hdfs namenode -format
启动hdfs,执行如下命令 (在第一个虚拟机中执行)
start-dfs.sh
在配置了Resourcemanager机器上执行 如下命令(在第二个虚拟机中执行)
start-yarn.sh
关闭集群 stop-dfs.sh stop-yarn.sh(关闭时要在开启的虚拟机中执行)