1.实训目的和内容
- 理解hadoop的全分布模式原理
- 熟练掌握部署Fully-Distributed Mode(全分布模式)
先决条件
支持平台:linux、window
所需软件:3台或5台虚拟机,安装jdk、ssh、hadoop
参考官网:Apache Hadoop 3.3.1 – Hadoop Cluster Setup
IP | 主机名 |
192.168.121.134 | hadoop01 |
192.168.121.135 | hadoop02 |
192.168.121.136 | hadoop03 |
2.实训步骤
1. 克隆虚拟机,修改网络配置和主机名
从原本的hadoop克隆出hadoop1、hadoop2和hadoop3
nmtui命令网络配置并激活,注意:/24是子网掩码设置,必须要添加。
修改主机名 hadoop01,hadoop02,hadoop03
三台都需要关闭防火墙
克隆三台虚拟机,选择完整克隆
Hadoop02和Hadoop03和他一样的
然后三台都关闭自己的防火墙并查看状态
三台均配 /etc/hosts
测试三台之间是否互通
2. 配置多台虚拟机ssh免密登录
在hadoop01上设置命令
Ssh-keygen 钥匙生成器
Ssh-copy-id 主机名(hadoop01 hadoop02 hadoop03) 拷贝公钥
Ssh 主机名(hadoop01 hadoop02 hadoop03) 测试免费
Hadoop02和hadoop03和上面一样。
3. 配置hadoop完全分布模式
(1)在hadoop01上配置jdk
上传并解压jdk和hadoop jar包
(2)在Hadoop01上配置环境变量
vim /etc/profile
编辑内容如下:
# jdk
# hadoop
# jdk
export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
# hadoop
export HADOOP_HOME=/export/servers/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
验证成功
(2)配置完全分布式集群环境
1配置 hadoop-env.sh 第25行
2配置core-site.xml ##是hadoop的核心配置文件。配置了HDFS的主进程NameNode。
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
3配置hdfs-site.xml,配置用于设置HDFS的NameNode和DataNode两大进程
<property>
<name>dfs.replication</name>
<value>3</value>##配置HDFS的副本数目,一般默认为3.
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop02:50090</value>
</property>
4配置mapred-site.xml,是MapReduce的核心配置文件
cp mapred-site.xml.template mapred-site.xml先拷贝一份,然后用mapred-site.xml进行配置。
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5配置yarn-site.xml文件,是YAEM的核心框架,要指定yarn集群的管理者
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
6配置slaves文件
进去之后先删除里面的内容,一般出现的是localhost,填入下面内容。
Hadoop01
Hadoop02
Hadoop03
4,将hadoop01的文件分发到hadoop02、hadoop03
scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /export/ hadoop02:/
scp -r /export/ hadoop03:/
然后在Hadoop02和hadoop03启动服务,source /etc/profile
5. 执行hadoop集群初始化并启动
(1)格式化文件系统
在hadoop01上执行格式化系统
hdfs namenode -format
(2)启动hadoop程序
在hadoop01上启动节点
start-dfs.sh ##在主节点
start-yarn.sh
最后输入三个虚拟机都输入jps,发现Hadoop01有五个节点,hadoop02有四个,Hadoop03有三个。
(3)网页浏览namenode节点
- 名称节点 - http://192.168.10.123:50070/
注:所有节点也可以单独启动
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start resourcemanager
hadoop-daemon.sh start nodemanager
hadoop-daemon.sh start secondarynamenode