CentOS7 linux 详细 Hadoop完全分布式配置与启动

因为我是先配置了伪分布式,在此基础上配置完全分布式,所以有些文件不用修改,就没有截图,但是步骤都有的。

配置的内容均以我自己的环境为基础。因为克隆的是差不多都配了的机器,所以一些比如网络、jdk的设置就不用考虑了,没有的需要重新来。

1 环境准备

1 从已有的hadoop01,克隆2台虚拟机分别为hadoop02,hadoop03。

2 修改克隆的的机器的hostname和静态IP地址

(要先进入root)

修改ip地址:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改主机名:

vi /etc/hostname

3 配置每台主机的hosts

增加映射:

192.168.117.63    hadoop01
192.168.117.64    hadoop02
192.168.117.65    hadoop03

 

2 集群的配置

2.1 集群部署规划

  hadoop01 hadoop02 hadoop03
HDFS NameNode DataNode DataNode SecondaryNameNode DataNode
YARN NodeManager ResourceManager NodeManager NodeManager

2.2 配置集群

1 核心配置文件 core-site.xml 

之前伪分布式配置过的可以不用配。

<!-- 指定HDFS中NameNode的地址 -->
<property>
        <name>fs.defaultFS</name>
      <value>hdfs://hadoop01:9000</value>
</property>
​
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/home/lane/software/hadoop-2.7.3/data/tmp</value>
</property>

2 HDFS配置文件

(1)配置hadoop-env.sh

修改jdk路径:


 export JAVA_HOME=/usr/local/jdk8

伪分布式已经改过的不用改

(2)配置hdfs-site.xml

<!--之前伪分布式副本数设置为1,现在设置为3,其实默认的也是3,把以前副本数的配置删掉也可以-->
<property>
​
   <name>dfs.replication</name>
​
   <value>3</value>
​
</property>
​
​
<!-- 指定Hadoop辅助名称节点主机配置 -->
​
<property>
​
   <name>dfs.namenode.secondary.http-address</name>
​
   <value>hadoop03:50090</value>
​
</property>

3 YARN配置文件

(1)配置yarn-env.sh

配置jdk路径:
export JAVA_HOME=/usr/local/jdk8

伪分布式配置过的可以不配

(2) 配置yarn-site.xml

[lane@hadoop01 hadoop]$ $ vi yarn-site.xml

之前伪分布式,rm设置的就是本机,现在改成自己规划的rm的主机。

<!-- Reducer获取数据的方式 -->

<property>

   <name>yarn.nodemanager.aux-services</name>

   <value>mapreduce_shuffle</value>

</property>

 

<!-- 指定YARN的ResourceManager的地址 -->

<property>

  <name>yarn.resourcemanager.hostname</name>

   <value>hadoop02</value>

</property>

4 MapReduce配置文件

以下关于MR的配置,配置过伪分布式的都不用配置。

(1)配置mapred-env.sh

[lane@hadoop01 hadoop]$ vi mapred-env.sh
​
export JAVA_HOME=/usr/local/jdk8

(2)配置mapred-site.xml

[lane@hadoop01 hadoop]$ cp mapred-site.xml.template mapred-site.xml
​
[lane@hadoop01 hadoop]$ vi mapred-site.xml

在该文件中增加如下配置

<!-- 指定MR运行在Yarn上 -->
​
<property>
​
  <name>mapreduce.framework.name</name>
​
   <value>yarn</value>
​
</property>

3 分发配置文件

      在集群上分发配置好的Hadoop配置文件 。

      可以写脚本分发,也可以自己手动每个都修改下。
 

4 配置SSH

1 在hadoop01上生成公钥和私钥。

ssh-keygen -t rsa

连敲三下回车。

2 将公钥拷贝到hadoop01、02和03上

ssh-copy-id hadoop01

ssh-copy-id hadoop02

ssh-copy-id hadoop03

3 在hadoop02 上生成公钥和私钥并拷贝到别的机器上。(和上面的方法一样)

ssh-keygen -t rsa

ssh-copy-id hadoop01

ssh-copy-id hadoop02

ssh-copy-id hadoop03

(因为hadoop02是克隆hadoop01的,我之前在hadoop01上就配置过ssh了,所以02拷贝了hadoop01的私钥,现在重新生成覆盖下)

5 启动集群

5.1 配置slaves

slaves文件在hadoop安装目录/etc/hadoop下,

在slaves文件里加上dn节点:

hadoop01

hadoop02

hadoop03

记得把slaves文件同步到所有节点上。

 

5.2 启动集群

(1)如果集群是第一次启动,需要格式化NameNode

(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log文件夹数据)

 [lane@hadoop01 hadoop-2.7.3]$ bin/hdfs namenode -format

(2)启动HDFS

[lane@hadoop01 hadoop-2.7.3]$ sbin/start-dfs.sh

(3)启动YARN

注意在resourcemanager所在机器上启动yarn

[lane@hadoop01 hadoop-2.7.3]$ sbin/start-yarn.sh

启动完观察下各个节点:

启动成功。

发布了71 篇原创文章 · 获赞 17 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/carlylll/article/details/104460720