linux虚拟机上搭建Hadoop2.x版本的全分布式安装

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43687990/article/details/102635820

1.准备多台虚拟机

我准备了4台虚拟机:别名分别为node1,node2,node3,node4

2.前期准备

1.jdk的安装
2.查看虚拟机别名是否正确,通过如下命令查看
cat /etc/sysconfig/network
在这里插入图片描述
查看虚拟机的hosts文件是否一致,保证能够ping通
cat /etc/hosts
在这里插入图片描述
3.检查时间是否一致,命令如下
date
在这里插入图片描述
如果时间不一致,可以通过如下命令设置时间同步:dtae -s “年-月-日 时-分-秒”,设置的时间不一定和真实时间完全一致,但四台虚拟机的时间要一致
4 检查安全机制,使用如下命令
cat /etc/sysconfig/selinux
在这里插入图片描述

3.全分布式配置方案
node2作为NomeNode
node1作为SNN(SecondaryNameNode)和DN(DataNode)
node3作为DataNode
node4作为DataNode

4.秘钥分发

秘钥文件的生成在我搭建伪分布式上有说明在虚拟机上实现搭建1.x版本的Hadoop伪分布式
首先先检查是否能在家目录下查找到.shh隐藏文件
在这里插入图片描述
如果不能,则输入ssh localhost(或者别名)。
然后从node2向node1/node3/node4分发公钥(公钥的名称要变),进入到.ssh目录下
输入命令

scp  id_dsa.pub   node1:`pwd`/node2.pub #改命令将文件分发给node1节点,然后自己再将文件通过改命令分发给其他节点

各节点把node1的公钥追加到认证文件里
cat ~/node2.pub >> ~/.ssh/authorized_keys

5 配置hadoop并分发给其他节点

进入到node2下的hadoop-2.6.5下的etc文件下,在 在虚拟机上实现搭建1.x版本的Hadoop伪分布式中我们已经配置好了伪分布式,配置全分布式中hadoop的部分配置在其中已经进行了配置,我们修改其中的部分配置就行。所以先备份hadoop

cp -r hadoop/ hadoop_copy(备份的名字可以自己取)

hadoop的JAVA_HOME环境变量的二次配置在伪分布式搭建的文章中有说明,这里就不在说了。
然后
配置core-site.xml

vi core-site.xml
在<configuration></configuration>中加入以下配置

<property>
        <name>fs.defaultFS</name>
        <value>hdfs://node2:9000</value> #指定主节点是哪个节点
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/var/sxt/hadoop/full</value> #指定数据上传的目录
    </property>


配置hdfs-site.xml

vi mapred-env.sh

在<configuration></configuration>中,加入以下内容
   <property>
        <name>dfs.replication</name>
        <value>2</value> #配置副本数,可以改变
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node1:50090</value>#配置SecondaryNameNode
    </property>


slaves文件用来配置从节点

vi slaves
#将从节点加入到文件中
#如下图所示

在这里插入图片描述
分发hadoop到各个节点

 scp -r hadoop-2.6.5/ node1:`pwd`#将hadoop分发给node1节点

6.环境的配置

在我另一篇博客《在虚拟机上实现搭建1.x版本的Hadoop伪分布式》上介绍了java环境变量的配置和Hadoop环境变量的配置。这里的node2由于已经配置好了,所以可以将/etc下的profile文件分发给各个节点。当然,其他节点的Hadoop和jdk版本要一致

scp /etc/profile node1:/etc/ #分发给node1节点

通过source /etc/profile重读配置文件
通过jps测试java环境,通过hdfs测试Hadoop环境是否搭建成功

7.格式化集群并启动Hadoop

格式化集群:hdfs namenode -format
启动集群:start-dfs.sh
jps查看各节点进程启动情况
通过web UI 查看Hadoop— IP:50070
停止:
node2: stop-dfs.sh

注意

本文中Hadoop中JAVA_HOME的二次配置和配置core-site.xml、配置hdfs-site.xml、配置slaves和免密匙、java环境变量和Hadoop环境变量的配置,这些配置在我《在虚拟机上实现搭建1.x版本的Hadoop伪分布式》博客中已经说明了。本文就没有在进行说明如何配置了。

猜你喜欢

转载自blog.csdn.net/qq_43687990/article/details/102635820
今日推荐