赞
踩
进入hadoop0主机,将/etc/udev/rules.d/70-persistent-net.rules
文件删除
rm -rf /etc/udev/rules.d/70-persistent-net.rules
关闭虚拟机 --> 右键单击虚拟机 --> 选择快照 -->拍摄快照 --> 设置快照名称和描述
右键单击虚拟机-->选择管理
-->克隆
-->选择克隆源(现有快照)-->选择克隆类型-->修改虚拟机名称及位置
选择现有快照(前面保存的伪分布式快照),第一个首先选择完美克隆
位置自定义设置
右键克隆出来的虚拟机--> 选择快照 -->拍摄快照 --> 设置快照名称和描述(和前面方法相同设置)克隆出两个链接克隆
先开启虚拟机hadoop0虚拟机(完美克隆的)后开启后两个克隆的
分别更改hadopp1与hadopp2的虚拟机网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
分别更改hadopp1与hadopp2的虚拟机主机名配置文件
vi /etc/hostname
配置三台虚拟机的网络映射
vi /etc/hosts
在文件最后添加 ip地址 主机名(每一台虚拟机上都要配置,如下三行都要添加)
192.168.39.200 hadoop0
192.168.39.201 hadoop1
192.168.39.202 hadoop2
再分别重启三台虚拟机网络服务:
service network restart
最后关闭全部虚拟机再依次启动hadoop0,1,2虚拟机
设置SSH免密登录
三台虚拟机都执行:
ssh-keygen -t rsa
三台虚拟机都要互相执行:
ssh-copy-id hadoop0
ssh-copy-id hadoop1
ssh-copy-id hadoop2
执行完后每台虚拟机可以互相测试ssh 主机名 ,进行登录验证
使用 MobaXterm 分别连接到三台虚拟机
切换到Hadoop配置文件目录:
cd /opt/programs/hadoop-2.7.6/etc/hadoop/
配置hadoop-env.sh:
vi hadoop-env.sh
找到export JAVA_HOME=设置为jdk安装目录路径
yarn-env.sh 与
mapred-env.sh文件也同样方式去设置
输入命令:vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop0:9001</value>
</property><property>
<name>hadoop.tmp.dir</name>
<value>/opt/programs/hadoop-2.7.6/Tmp</value>
</property></configuration>
输入命令:vi hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop0:50070</value>
</property><property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop1:50090</value>
</property><property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoopTmp/dfs/name</value>
</property><property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoopTmp/dfs/data</value>
</property><property>
<name>dfs.replication</name>
<value>3</value>
</property><property>
<name>dfs.permissions</name>
<value>false</value>
</property></configuration>
输入命令:vi yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop0</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop0:8088</value>
</property><property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property><property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property><property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property><property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property><property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/user/container/logs</value>
</property><property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1536</value>
</property></configuration>
输入命令:vi mapred-site.xml
如果进入后文件是空的,先退出输入:
cp mapred-site.xml.template etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop2:10020</value>
</property><property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop2:19888</value>
</property><property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>${hadoop.tmp.dir}/mr-history/tmp</value>
</property><property>
<name>mapreduce.jobhistory.done-dir</name>
<value>${hadoop.tmp.dir}/mr-history/done</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
输入命令:vi slaves
添加所有虚拟机主机名
分发文件:
以上全部完成并且确定无误后,开即可开始分发到hadoop1和hadoop2虚拟机里
scp -r /opt/programs/hadoop-2.7.6 root@hadoop1:/opt/programs
scp -r /opt/programs/hadoop-2.7.6 root@hadoop2:/opt/programs
开启集群
首先输入格式化命令:hdfs namenode -format
全部启动命令:
start-all.sh #若要关闭则关闭为:
stop-all.sh启动或停止历史(日志)服务器:
mr-jobhistory-daemon.sh start historyserver #启动historyserver
mr-jobhistory-daemon.sh start historyserver #停止historyserver
输入命令检查有没有开启成功:
jps
hadoop0
hadoop1
hadoop2
若每个虚拟机都显示这些进程则开启成功
网页访问
注意;必须先关闭防火墙
访问HDFS为:
192.168.39.200:50070访问YARN为:
192.168.39.200:8088
设置虚拟机时间同步
查询是否安装NTP:rpm -qa | grep ntp
如果有显示则使用使用卸载命令:rpm -e xxx(xxx输入显示的NTP服务) 没有则跳过
上传以下安装包到hadoop0虚拟机的 opt/packages 下:
下载链接:centos 7 NTP离线安装部署 - 找不到Object - 博客园 (cnblogs.com)
然后切换到该目录下进行安装,安装过程中注意有先后顺序:
rpm -ivh ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm
rpm -ivh autogen-libopts-5.18-5.el7.x86_64.rpm
rpm -ivh ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm
完成安装后,修改配置文件
vi /etc/ntp.conf
删除 restrice 前面的#号,修改为自己的IP地址
注释掉四行server域名,并添加两行
输入命令:
vi /etc/sysconfig/ntpd 修改内容为:
启动NTP服务并且机自启动 永久启动:
service ntpd start & chkconfig ntpd on
其他两台虚拟机时间同步
保证hadoop1与hadoop2 也安装有NTP(安装方法同上)
然后分别执行命令:vi /etc/ntp.conf #hadoop1和hadoop2都要一样设置
再分别输入指令:vi /etc/sysconfig/ntpd #修改配置文件ntpd,也和上面的NTP配置一样
分别启动服务器:
service ntpd start & chkconfig ntpd on
然后可以回到hadoop0虚拟机输入命令:crontab -e
写入:
*/10 * * * * /usr/sbin/ntpdate hadoop0; /sbin/hwclock -w
#表示每10分钟与NTP服务器(hadoop0)进行一次时间同步,并写入本机BIOS
测试集群间的时间同步
输入命令:date '+%Y-%m-%d %H:%M:%S' #以“年-月-日 时:分:秒”的格式显示
查看三台虚拟机时间是否一致,如果是再重启虚拟机(先 stop-all.sh 关闭集群以防出现未知问题)最后查看时间是否同步,若还是时间同步则同步成功。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。