Hadoop集群环境的搭建

本文详细介绍了Hadoop集群环境的搭建过程,包括下载Hadoop软件包、配置核心站点文件、设置环境变量等关键步骤。

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

1、Hadoop集群环境的搭建步骤

(1)下载hadoop-2.7.1.tar.gz,并将文件保存到/opt目录

下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz

(2)使用cd命令切换到/opt目录

(3)使用tar命令解压hadoop-2.7.1.tar.gz

[root@localhost opt]# tar -zxvf hadoop-2.7.1.tar.gz

解压成功后目录结构如下图所示:


(4)使用cd命令切换到/opt/hadoop-2.7.1目录

(5)使用mkdir命令新建指定名称的目录

[root@localhost hadoop-2.7.1]# mkdir tmp
[root@localhost hadoop-2.7.1]# mkdir hdfs
[root@localhost hadoop-2.7.1]# mkdir hdfs/data
[root@localhost hadoop-2.7.1]# mkdir hdfs/name

新建目录成功后目录结构如下图所示:


(6)使用cd命令切换到/opt/hadoop-2.7.1/etc/hadoop目录

目录结构如下图所示:


(7)使用vim命令编辑core-site.xml配置文件,其中localhost.localdomain是计算机名称,下同

[root@localhost hadoop]# vim core-site.xml

添加内容如下:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost.localdomain:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/opt/hadoop-2.7.1/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>
</configuration>

(8)使用vim命令编辑hdfs-site.xml配置文件

[root@localhost hadoop]# vim hdfs-site.xml

添加内容如下:

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/opt/hadoop-2.7.1/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/hadoop-2.7.1/hdfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>localhost.localdomain:9001</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>

(9)复制mapred-site.xml.template并重命名为mapred-site.xml(复制到当前位置),然后使用vim命令编辑mapred-site.xml配置文件

[root@localhost hadoop]# vim mapred-site.xml

添加内容如下:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>localhost.localdomain:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>localhost.localdomain:19888</value>
    </property>
</configuration>

(10)使用vim命令编辑yarn-site.xml配置文件

[root@localhost hadoop]# vim yarn-site.xml

添加内容如下:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>localhost.localdomain:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>localhost.localdomain:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>localhost.localdomain:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>localhost.localdomain:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>localhost.localdomain:8088</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>768</value>
    </property>
</configuration>

(11)使用vim命令编辑hadoop-env.sh配置文件

[root@localhost hadoop]# vim hadoop-env.sh

添加内容如下:

export JAVA_HOME=/usr/java/jdk1.8.0_111

(12)使用vim命令编辑yarn-env.sh配置文件

[root@localhost hadoop]# vim yarn-env.sh

添加内容如下:

export JAVA_HOME=/usr/java/jdk1.8.0_111

(13)修改并生效/etc/profile配置文件

[root@localhost lib]# vim /etc/profile
[root@localhost lib]# source /etc/profile

修改内容如下(添加了HADOOP_HOME和$HADOOP_HOME/bin,其它内容是jdk的环境变量的配置信息):

export JAVA_HOME=/usr/java/jdk1.8.0_111
export JRE_HOME=$JAVA_HOME/jre
export HADOOP_HOME=/opt/hadoop-2.7.1
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH

(14)使用cd命令切换到/opt/hadoop-2.7.1/bin目录

(15)使用hadoop namenode -format命令执行集群格式化操作

[root@localhost bin]# hadoop namenode -format

(16)使用cd命令切换到/opt/hadoop-2.7.1/sbin目录

(17)使用sh start-all.sh命令执行启动集群操作(如果执行过程中会提示输入密码确认启动操作,那么密码是当前用户的密码,下同)

[root@localhost sbin]# sh start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [localhost.localdomain]
localhost.localdomain: starting namenode, logging to /opt/hadoop-2.7.1/logs/hadoop-root-namenode-localhost.localdomain.out
localhost: starting datanode, logging to /opt/hadoop-2.7.1/logs/hadoop-root-datanode-localhost.localdomain.out
Starting secondary namenodes [localhost.localdomain]
localhost.localdomain: starting secondarynamenode, logging to /opt/hadoop-2.7.1/logs/hadoop-root-secondarynamenode-localhost.localdomain.out
starting yarn daemons
starting resourcemanager, logging to /opt/hadoop-2.7.1/logs/yarn-root-resourcemanager-localhost.localdomain.out
localhost: starting nodemanager, logging to /opt/hadoop-2.7.1/logs/yarn-root-nodemanager-localhost.localdomain.out

(18)使用jps命令查看当前java进程

[root@localhost sbin]# jps
18464 NameNode
18592 DataNode
18756 SecondaryNameNode
19017 NodeManager
19294 Jps
18911 ResourceManager

(19)浏览器输入http://localhost.localdomain:8088/cluster查看集群信息


(20)使用sh stop-all.sh命令停止hadoop集群

[root@localhost sbin]# sh stop-all.sh
This script is Deprecated. Instead use stop-dfs.sh and stop-yarn.sh
Stopping namenodes on [localhost.localdomain]
localhost.localdomain: stopping namenode
localhost: stopping datanode
Stopping secondary namenodes [localhost.localdomain]
localhost.localdomain: stopping secondarynamenode
stopping yarn daemons
stopping resourcemanager
localhost: no nodemanager to stop
no proxyserver to stop 

### Hadoop集群环境搭建教程 Hadoop集群环境搭建涉及多个步骤,包括但不限于安装依赖软件、配置文件编辑以及网络设置等。以下是详细的搭建过程: #### 1. 系统环境准备 在开始之前,确保所有节点的操作系统是兼容的,并完成以下基础操作: - 更新系统软件包:`yum update -y`[^2]。 - 安装必要的工具,例如 `wget` 和 `vim`:`yum install -y wget vim`[^2]。 #### 2. 配置主机名解析 编辑 `/etc/hosts` 文件,添加所有集群节点的主机名与IP地址映射。例如: ```bash 192.168.1.101 node1 192.168.1.102 node2 192.168.1.103 node3 ``` 此步骤确保各节点可以通过主机名互相访问[^2]。 #### 3. SSH免密登录配置 为简化管理,需配置主节点到其他节点的SSH免密登录。具体步骤如下: - 在主节点生成SSH密钥对:`ssh-keygen -t rsa`。 - 将公钥分发到所有从节点:`ssh-copy-id user@node2` 和 `ssh-copy-id user@node3`[^2]。 - 测试是否可以无密码登录:`ssh node2` 和 `ssh node3`。 #### 4. 下载并解压Hadoop 下载Hadoop安装包并解压到指定目录,例如 `/opt/hadoop`: ```bash wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz tar -zxvf hadoop-3.3.1.tar.gz -C /opt/ ln -s /opt/hadoop-3.3.1 /opt/hadoop ``` 此步骤完成后,Hadoop将被安装在 `/opt/hadoop` 目录下[^1]。 #### 5. 配置Hadoop环境变量 编辑 `/etc/profile` 文件,添加以下内容以设置Hadoop环境变量: ```bash export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 然后使配置生效:`source /etc/profile`[^1]。 #### 6. 编辑Hadoop核心配置文件 进入Hadoop配置目录并编辑相关文件: - **hadoop-env.sh**:设置Java路径。编辑 `/opt/hadoop/etc/hadoop/hadoop-env.sh` 文件,添加以下内容: ```bash export JAVA_HOME=/usr/java/latest ``` 此步骤确保Hadoop能够正确识别JDK环境[^1]。 - **core-site.xml**:配置HDFS默认存储位置。添加以下XML片段: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://node1:9000</value> </property> </configuration> ``` - **hdfs-site.xml**:配置HDFS副本数和存储目录。添加以下XML片段: ```xml <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/data/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/data/hdfs/datanode</value> </property> </configuration> ``` - **mapred-site.xml**:配置MapReduce框架。如果文件不存在,先复制模板文件: ```bash cp mapred-site.xml.template mapred-site.xml ``` 然后添加以下内容: ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` - **yarn-site.xml**:配置YARN资源管理器。添加以下内容: ```xml <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>node1</value> </property> </configuration> ``` #### 7. 格式化NameNode 在主节点执行以下命令以初始化HDFS文件系统: ```bash hdfs namenode -format ``` 此命令仅需在首次启动时执行一次[^1]。 #### 8. 启动Hadoop集群 依次启动HDFS和YARN服务: ```bash start-dfs.sh start-yarn.sh ``` 通过浏览器访问HDFS和YARN管理界面以验证服务状态: - HDFS Web UI: `http://node1:9870` - YARN Web UI: `http://node1:8088` #### 9. 关闭防火墙 为避免防火墙干扰通信,关闭所有节点的防火墙: ```bash systemctl stop firewalld systemctl disable firewalld ``` 此外,确保SELinux处于关闭状态:`setenforce 0`。 --- ### 注意事项 - 确保所有节点的时间同步,可使用NTP服务。 - 检查Hadoop版本与操作系统兼容性。 - 根据实际需求调整配置文件中的参数。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值