hadoop分布式环境配置

提示:这篇文章搭建的分布式首先要有两台或以上的虚拟机,hadoop基本环境没有搭建好的线搭建好java和hadoop,可以看我前面的文章。
在这里插入图片描述
slave这个文件在最新版中是workers

先 cd /software/hadoop/sbin 进入配置文件的目录下

1、配置core-site.xml

vi core-site.xml

按 i 进入编辑状态,将下面内容复制进入,按esc退出编辑状态,然后 :wq 保存修改,修改必须是在root权限下

<configuration>
    <!-- 默认节点(写自己主机的ip)端口,端口默认为9000 即namenode地址-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!-- hdfs的临时文件的目录***这个要记好,后面初始化错误可能会用到***  -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/tmp/hadoop</value>
    </property>
</configuration>

2、配置yarn-site.xml

同上操作

<configuration>
    <!-- reducer获取数据方式,即nomenodeManager获取数据的方式为shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:8088</value>
    </property>

</configuration>

3、配置hdfs-site.xml

<configuration>
    <!-- 设置数据块应该被复制的份数(和集群机器数量相等) 即指定hdfs保存数据的副样本数量-->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- 指定hdfs中namenode的存储位置 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/tmp/hadoop/name</value>
    </property>
    <!-- 指定hdfs中datanode的存储位置-->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/tmp/hadoop/data</value>
    </property>
    <property>
        <name>dfs.secondary.http.address</name>
        <value>slave1:50070</value>
    </property>
</configuration>

4、配置mapred-site.xml

<configuration>
    <!-- mapreduce的工作模式:yarn,即告诉hadoop以后MR(MAP/Reduce)运行在YARN上-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

5、配置slaves(新版本为workers)

在里面添加上主机名,这里添加了master、slave1、slave2

localhost
master
slave1
slave2

6、配置hadoop-env.sh

将JAVA_HOME设置为你java配置的地方

在这里插入图片描述

7、配置yarn-env.sh

新版的hadoop中 yarn-env.sh中没有 JAVAHOME的配置,不需要处理

如果存在JAVA_HOME的设置的话就要配置为java的路径

在这里插入图片描述
8、最后一步 格式化一下

hdfs namenode -format

9、然后调用,启动dfs和yarn

/software/hadoop/sbin/start-all.sh

注意:

如果是新版的hadoop,可能会有一下报错,启动不来

ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.

这时候就需要在start-dfs.sh、start-yarn.sh中添加以下的

如果是3.x新版本的话就是改HADOOP_SECURE_DN_USER为HDFS_DATANODE_SECURE_USER,否则警告,但能运行

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs    
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root

在stop-dfs.sh、stop-yarn.sh中添加如下:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

调用以下命令可以停止服务

/software/hadoop/sbin/start-all.sh

10、注意,如果这里出现slave1和slave2等虚拟主机授权异常(启动不了)或者是需要手动输入root权限密码的话(可以启动),可以设置一下ssh免密登录

正常启动如下

在这里插入图片描述

调用jps命令可以看到如下几个进程存活,就说明集群搭建成功

在这里插入图片描述

去salve1等虚拟主机查看,也能看到对应的进程说明集群搭建成功

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值