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服务以使更改生效,过度详细的日志可能会产生大量输出,影响性能和可读性,因此建议在实际生产环境中谨慎使用。