Hadoop(4)
完全分布式搭建以及集群中免密登录的配置
文章目录
Hadoop完全分布式搭建
分布式的节点分配
首先我们需要了解一下一个Hadoop集群需要哪些节点:
在伪分布式我们一共启动了NameNode,DataNode,ResourceManager和NodeManager
- NameNode需要单独在一个节点
- 其中DataNode和NodeManager需要在同一个节点上,但是一般来说,Hadoop的默认副本数量是3个,也就是说我们需要3个DataNode节点
- ResourceManager需要在同一个节点
- 除了上面介绍的这几个结点,我们还需要一SecondaryNameNode节点
综上,如果想要搭建一个Hadoop集群,理论上我们需要六台云主机或者是虚拟机,但是由于资源有限,我们使用3台虚拟机搭建,我们将NameNode,SecondaryNameNode和ResourceManager各搭建在一个节点上,此外每个节点再分配一个DataNode,结构如下:
分布式配置
- 核心配置
修改每一个节点中的core-site.xml文件,将其中的namenode指定为第一台主机
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://host01:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.7.7/data/tmp</value>
</property>
</configuration>
- HDFS配置
在每个节点上配置hadoop-env.sh,指定java路径
export JAVA_HOME=/opt/jdk1.8.0_11
在每个节点上配置hdfs-site.xml
<configuration>
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs