Hadoop-cluster 集群彻底分布式环境搭建

安装准备java

    1) 3台centOS7.0系统 ecsnode

    2) 2.8.0 hadoop 安装包python

准备工做ssh

    首先 在ip_01主机上将/etc/hosts文件进行ip映射oop

127.0.0.1 localhost
ip_01 NN #名称节点
ip_02 DN01 #数据节点01
ip_03 DN02 #数据节点02

     使用scp命令将ip_01上的 hosts文件 复制到其它节点spa

scp -r /etc/hosts root@DN01:/etc/
scp -r /etc/hosts root@DN02:/etc/

⚠️ 最好在覆盖以前进行备份操做.net

mv /etc/hosts /etc/hosts_back

 

    其次 配置ssh免密链接,执行如下命令,回车在~/.ssh/目录下生成id_rsaid_rsa.pub两个文件code

ssh-keygen -t rsa -P ''

  将id_rsa.pub文件分别拷贝到ip_02, ip_03的~/.ssh目录下orm

scp id_rsa.pub root@ip02:~/.ssh/
scp id_rsa.pub root@ip03:~/.ssh/

  在ip02和ip03的~/.ssh目录下 将id_rsa.pub文件内容写入authorized_keys文件中,没有此文件就新建此文件写入xml

cat id_rsa.pub >> authorized_keys

操做完成,则完成了ssh从ip_01到ip_02和ip_03的免密登陆操做。

 

集群配置

    配置环境变量:

#在/etc/profile 文件末尾新增hadoop命令目录
#注意此路径为真实安装绝对路径
PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
export PATH

    hadoop集群配置需配置其中三个文件core-site.xml;hdfs-site.xml; yarn-site.xml,三个文件存在于hadoop/etc/hadoop/目录中。

<!-- core-site.xml -->
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>

    <property>
         <name>fs.defaultFS</name>
         <value>hdfs://NN</value>
    </property>
</configuration>
<!-- hdfs-site.xml -->
<configuration>
    <property>
         <name>dfs.replication</name>
         <!-- 2台数据节点 -->
         <value>2</value>
    </property>

    <property>
         <name>dfs.namenode.name.dir</name>
         <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>

    <property>
         <name>dfs.datanode.data.dir</name>
         <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>
<!-- yarn-site.xml -->
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

在slaves文件中进行配置数据节点地址

DN01
DN02

SecondaryNameNode未配置ecs,默认在ip_01名称节点上。

修改文件hadoop-env.sh

JAVA_HOME=${JAVA_HOME}

修改成:

#此路径为本机JDK安装目录的绝对目录
JAVA_HOME=/usr/local/JDK

启动集群:

  格式化集群环境

hadoop nodename -formate

  启动集群

#进入sbin目录
cd /usr/local/hadoop/sbin
#执行启动命令
./start-all.sh

检测是否启动成功

#jps命令 可查看已启动的java程序
jps

附:若是在启动过程当中报一下错误

java.net.UnknownHostException:xxxx xxxx

此错误意味着hostname映射未生效

快速解决办法是执行hostname 命令

#例如本文中所列举的 ip_01-->NN ip_02-->DN01 ip_03-->DN02需各自执行
hostname NN
hostname DN01
hostname DN02
相关文章
相关标签/搜索