Hadoop3.2.2完全分布式环境搭建

本文详细指导了如何在两台服务器hadoop100和hadoop101上规划Hadoop集群,包括修改hosts文件、配置环境变量、SSH免密登录、调整hadoop配置文件、格式化NameNode,以及启动和测试集群。涉及步骤包括NameNode、DataNode、ResourceManager和NodeManager的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、集群部署规划

hadoop100:NameNode、DataNode、NodeManager
hadoop101:SecondaryNameNode、DataNode、ResourceManager、NodeManager

二、首先修改hosts文件

vi /etc/hosts

在这里插入图片描述

三 、配置系统必须的环境变量(java+hadoop)

# 1、修改配置文件
vi /etc/profile

#==========分界线 start=============
# set java home
JAVA_HOME=/usr/local/jdk1.8
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

# set hadoop home
export HADOOP_HOME=/opt/hadoop-3.2.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#==========分界线 end===============

# 2、让环境变量生效
source /etc/profile

四、设置ssh免密登录

# 1、生成公钥和私钥
ssh-keygen -t rsa

# 2、将私钥copy到目标服务器
ssh-copy-id hadoop100
ssh-copy-id hadoop101

五、hadoop配置文件修改

  1. 修改core-site.xml
    <configuration>
        <!--指定NameNode地址-->
         <property>
             <name>fs.defaultFS</name>
             <value>hdfs://hadoop100:9000</value>
         </property>
         <!--指定Hadoop运行时产生文件的存放路径-->
         <property>
             <name>hadoop.tmp.dir</name>
             <value>/opt/hadoop-3.2.2/data/tmp</value>
         </property>
     </configuration>
    
    1.1 修改 hadoop-env.sh
    # 1、设置java环境变量
    export JAVA_HOME=/usr/local/jdk1.8
    # 2、配置用户名
    export HDFS_NAMENODE_USER=root
    export HDFS_DATANODE_USER=root
    export HDFS_SECONDARYNAMENODE_USER=root
    export YARN_RESOURCEMANAGER_USER=root
    export YARN_NODEMANAGER_USER=root
    
  2. 修改 hdfs-site.xml
<configuration>
	<!--设置文件存储的副本数-->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
	<!--设置secondaryNameNode地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop101:50090</value>
    </property>
</configuration>

3.1 修改 yarn-env.sh

 # 设置java环境变量
export JAVA_HOME=/usr/local/jdk1.8

3.2 修改 yarn-site.xml

<configuration>
	<!--Reducer获取数据的方式-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--ResourceManager地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop101</value>
    </property>
    <!--日志聚合-->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!--日志保留时间-->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>3600</value>
    </property>
</configuration>

4.1 修改mapred-env.sh

 # 设置java环境变量
export JAVA_HOME=/usr/local/jdk1.8

4.2 修改 mapred-site.xml

<configuration>
	<!--指定MR运行在yarn上-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!--指定历史服务器地址-->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop101:10020</value>
    </property>
    <!--指定历史服务器web端地址-->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop101:19888</value>
    </property>
</configuration>
  1. 修改workers文件
vi workers

#===hadoop程序会读取workers文件中的内容,作为集群的依据=======
hadoop100
hadoop101

六、格式化NameNode

# 这里如果不是第一次启动,请将 /data 以及 /logs 目录及文件全部删除
# 在 NameNode 所在的服务器 Hadoop100上,执行如下命令进行格式化
hadoop namenode -format

七、群起测试

# 启动 NameNode与 DataNode
start-dfs.sh
# 启动yarn必须在resourceManager的节点上执行
start-yarn.sh
# 查看启动情况
jps
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值