虚拟机克隆以后需要更改的文件
本步骤适用于CentOS6
//删除原型机的网卡,将新的eth1改为eth0
vim /etc/udev/rules.d/70-persistent-net.rules
//更改网卡地址和ip地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
//更改主机名
vim /etc/sysconfig/network
//配置所有主机与ip的映射
vim /etc/hosts
配置文件
伪分布式和分布式的区别就是namenode、datanode、secondarynamenode等配置到不同到节点
- etc/hadoop/core-site.xml :
<configuration>
<!-- 指定HDFS中NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.7/data/tmp</value>
</property>
</configuration>
- etc/hadoop/hdfs-site.xml :
<configuration>
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:50090</value>
</property>
<!-- 指定Hadoop白名单配置文件路径 -->
<property>
<name>dfs.hosts</name>
<value>/opt/module/hadoop-2.7.7/etc/hadoop/dfs.hosts</value>
</property>
</configuration>
- etc/hadoop/yarn-site.xml :
<configuration>
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</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>
</configuration>
- etc/hadoop/mapred-site.xml
<configuration>
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop101:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop101:19888</value>
</property>
</configuration>
集群分发脚本
分发到hadoop103和hadoop104
#!/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=103; host<105; host++)); do
echo ------------------- hadoop$host ---------------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done