1. 安装前准备
① 虚拟机配置
可参考
在上一篇的基础上继续后续步骤
新增软件:
⑤克隆虚拟机
关闭虚拟机wx,然后克隆2台虚拟机作为从机。
[hadoop@wx ~]$ sudo poweroff
⑥ 对每个主机固定IP地址,修改主机名,做主机映射
[hadoop@wx ~]$ sudo vi /etc/sysconfig/network-scripts/ifcfg-ens32
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.183.131
NETMASK=255.255.255.0
GATEWAY=192.168.183.2
DNS1=62.128.128.68
DNS2=8.8.8.8
打开Xshell,远程连接三台主机,后续操作就都在Xshell中完成了
分别修改三台主机的主机名并添加主机映射(每一台主机都要做)
[hadoop@wx ~]$ hostnamectl set-hostname wx1
[hadoop@wx ~]$ sudo vi /etc/hostname
wx1
[hadoop@wx1 ~]$ sudo vi /etc/hosts
192.168.183.131 wx1
192.168.183.132 wx2
192.168.183.133 wx3
⑦ 免密登录设置
保证任意一台主机都能连接上其他主机。
在Xshell的撰写栏中输入:
[hadoop@wx1 ~]$ ssh-keygen -t rsa
[hadoop@wx1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub wx1
[hadoop@wx1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub wx2
[hadoop@wx1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub wx3
[hadoop@wx1 ~]$ ssh wx1
[hadoop@wx1 ~]$ ssh wx2
[hadoop@wx1 ~]$ ssh wx3
2. 搭建Hadoop完全分布模式
① 修改Hadoop配置文件
修改hadoop-env.sh 配置文件
[hadoop@wx1 hadoop]$ sudo vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/home/hadoop/jdk
修改 core-site.xml 配置文件
[hadoop@wx1 hadoop]$ sudo vi $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
<property>
<!-- 注释:网页访问hdfs的接口-->
<name>fs.defaultFS</name>
<value>hdfs://wx1:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/tmp</value>
</property>
</configuration>
修改 hdfs-site.xml 配置文件
[hadoop@wx1 hadoop]$ sudo vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<!--注释:设置节点数,默认值为3-->
<name>dfs.replication</name>
<value>2</value>
</property>
</confiouration>
修改 mapred-site.xml 配置文件
[hadoop@wx1 hadoop]$ sudo cp ./mapred-site.xml.template ./mapred-site.xml
[hadoop@wx1 hadoop]$ sudo vi ./mapred--site.xml
<configuration>
<property>
<!--注释:mapreduce运行在yarn框架上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</confiouration>
修改 yarn-site.xml 配置文件
[hadoop@wx1 hadoop]$ sudo vi ./yarn--site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>wx1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</confiouration>
修改 slaves配置文件
[hadoop@wx1 hadoop]$ sudo vi ./slaves
wx2
wx3
③ 分发给其他节点
[hadoop@wx1 ~]$ scp -r /home/hadoop/hadoop hadoop@wx2:/home/hadoop
[hadoop@wx1 ~]$ scp -r /home/hadoop/hadoop hadoop@wx3:/home/hadoop
[hadoop@wx1 ~]$ scp -r /home/hadoop/jdk hadoop@wx2:/home/hadoop
[hadoop@wx1 ~]$ scp -r /home/hadoop/jdk hadoop@wx3:/home/hadoop
④ 在主节点wx1上格式化hdfs并启动hdfs和yarn:
[hadoop@wx1 ~]$ hdfs namenode -format
[hadoop@wx1 ~]$ start-all.sh
⑤分别在三个节点(虚拟机)上验证Hadoop进程,在撰写栏中输入:
[hadoop@wx1 ~]$ jps
主节点wx1上看到的进程包括:
jps
NameNode
SecondaryNameNode
ResourceManager
从节点wx2和wx3上看到的进程包括:
jps
DataNode
NodeManager
⑥通过web访问Hadoop:
⑦完成后停止Hadoop进程:
[hadoop@wx1 ~]$ stop-all.sh