Hadoop在CentOS 7上的安装与配置
Hadoop是一个开源的分布式计算框架,广泛应用于大数据存储和处理,本文将详细介绍如何在CentOS 7系统上安装并配置Hadoop,涵盖环境准备、依赖安装、Hadoop下载与安装、配置文件修改、HDFS格式化、Hadoop启动以及常见问题解决等内容。

一、环境准备
1、操作系统要求:确保你的系统是CentOS 7或更高版本。
2、Java环境:Hadoop需要Java运行环境支持,推荐使用OpenJDK 1.8及以上版本。
3、SSH服务:Hadoop集群管理需要SSH支持。
二、安装Java
1. 安装OpenJDK 1.8
- sudo yum install java1.8.0openjdkdevel y
2. 验证Java安装
- java version
输出示例:

- java version "1.8.0_xxxx"
- Java(TM) SE Runtime Environment (build 1.8.0_xxxxbxx)
- Java HotSpot(TM) 64Bit Server VM (build 25.xxxxbxx, mixed mode)
三、安装SSH
1. 安装OpenSSH服务器
- sudo yum install opensshserver y
2. 启动并设置SSH服务开机自启
- sudo systemctl start sshd
- sudo systemctl enable sshd
3. 检查SSH服务状态
- sudo systemctl status sshd
输出应显示active (running)
。
四、下载与解压Hadoop
1. 下载Hadoop
- wget https://downloads.apache.org/hadoop/common/hadoop3.3.1/hadoop3.3.1.tar.gz
2. 解压Hadoop包并移动到指定目录

- tar xzvf hadoop3.3.1.tar.gz
- sudo mv hadoop3.3.1 /usr/local/hadoop
3. 配置环境变量
在~/.bashrc
文件中添加以下内容:
- Hadoop环境变量
- export HADOOP_HOME=/usr/local/hadoop
- export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使配置生效:
- source ~/.bashrc
五、配置Hadoop
1. 配置核心文件 coresite.xml
编辑$HADOOP_HOME/etc/hadoop/coresite.xml
:
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://localhost:9000</value>
- </property>
- </configuration>
2. 配置HDFS文件 hdfssite.xml
编辑$HADOOP_HOME/etc/hadoop/hdfssite.xml
:
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- </configuration>
3. 配置MapReduce文件 mapredsite.xml
如果文件不存在,复制模板并编辑:
- cp $HADOOP_HOME/etc/hadoop/mapredsite.xml.template $HADOOP_HOME/etc/hadoop/mapredsite.xml
编辑$HADOOP_HOME/etc/hadoop/mapredsite.xml
:
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
4. 配置YARN文件 yarnsite.xml
编辑$HADOOP_HOME/etc/hadoop/yarnsite.xml
:
- <configuration>
- <property>
- <name>yarn.nodemanager.auxservices</name>
- <value>mapreduce_shuffle</value>
- </property>
- <property>
- <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
- <value>org.apache.hadoop.mapred.ShuffleHandler</value>
- </property>
- </configuration>
六、格式化HDFS
在启动Hadoop之前,需要格式化HDFS:
- hdfs namenode format
七、启动Hadoop
1. 启动HDFS和YARN服务
- startdfs.sh
- startyarn.sh
2. 验证Hadoop是否成功启动
通过访问以下地址检查HDFS和YARN状态:
HDFS: [http://localhost:9870](http://localhost:9870)
YARN: [http://localhost:8088](http://localhost:8088)
八、测试Hadoop
创建测试目录并上传文件:
- hdfs dfs mkdir /user
- hdfs dfs mkdir /user/yourusername
- hdfs dfs put /path/to/local/file.txt /user/yourusername/
- hdfs dfs ls /user/yourusername/
九、常见问题FAQs
Q1:启动Hadoop时出现Connection refused
错误怎么办?
A1:这通常是由于Hadoop配置文件中的端口号被占用导致的,可以检查相关配置文件(如coresite.xml
,hdfssite.xml
,yarnsite.xml
)中的端口号设置,确保它们未被其他服务占用,还需确保防火墙设置允许这些端口的通信,如果问题依旧存在,可以尝试更改配置文件中的端口号为未被占用的端口。
Q2:如何修改Hadoop的默认日志级别?
A2:Hadoop的日志级别可以通过配置文件进行修改,找到Hadoop的日志配置文件(通常位于$HADOOP_HOME/etc/hadoop/log4j.properties
),使用文本编辑器打开该文件,并根据需要调整日志级别,将log4j.logger.org.apache.hadoop
的级别从INFO
改为DEBUG
可以增加日志的详细程度,保存修改后,重新启动Hadoop服务以使更改生效,过度详细的日志可能会产生大量输出,影响性能和可读性,因此建议在实际生产环境中谨慎使用。