centos7下载安装hadoop,图文详解

全文主要参考链接:如何在CentOS上安装Hadoop?详细步骤教程-HCRM博客

一、环境准备

在安装Hadoop前,需确保系统满足以下条件:

  • 操作系统:CentOS 7或更高版本(推荐使用Minimal安装模式)。
  • Java环境:Hadoop依赖Java运行,需安装JDK 1.8及以上版本。
  • 用户权限:建议创建专用用户(如hadoop)进行操作,避免使用root账户。

1、卸载java

Hadoop运行依赖Java环境,我本身有环境,但由于我本地没有依赖Java的应用+后面配置文件时遇到问题,所以我直接选择卸了旧版重装,不需要卸载的直接跳过1

卸载旧的java

rpm -qa | grep java

# 卸载旧版本 Java 和相关数据包
sudo yum -y remove java-1.6.0-openjdk-*
sudo rpm -e --nodeps tzdata-java-2020a-1.el7.noarch
# 刷新配置文件
source /etc/profile
# 验证
java
java -version

 卸载成功

2、安装java

# 查看系统是否已安装Java  
java -version  
# 若未安装,使用yum安装OpenJDK  
sudo yum install -y java-1.8.0-openjdk-devel
# 配置环境变量
echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> /etc/profile  

 执行source /etc/profile使配置生效。

关于环境变量:/etc/profile和~/.bash_profile都是配置文件。其中/etc/profile作用于系统中的所有用户,~/.bash_profile作用于当前用户

3、创建hadoop用户

# 添加用户并设置密码  
sudo useradd hadoop  
# 要输入两次:首次+确认,可设为123456,不合规不用理
sudo passwd hadoop  
# 赋予sudo权限(可选)  
sudo usermod -aG wheel hadoop

二、Hadoop安装与配置

1、下载与解压hadoop

访问[Hadoop官网](https://hadoop.apache.org/)下载稳定版本(如3.3.6),通过命令行操作:

# 切换至hadoop用户  
su - hadoop  
# 下载并解压  
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz  
tar -xzvf hadoop-3.3.6.tar.gz  
mv hadoop-3.3.6 /home/hadoop/hadoop

 2、配置环境变量

编辑~/.bashrc文件,添加以下内容:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

export HADOOP_HOME=/home/hadoop/hadoop  
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin  
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

执行source ~/.bashrc使配置生效。

3、修改Hadoop配置文件

Hadoop的核心配置文件位于$HADOOP_HOME/etc/hadoop目录,需调整以下文件:

core-site.xml(全局配置)

<configuration>  
    <property>  
        <name>fs.defaultFS</name>  
        <value>hdfs://localhost:9000</value>  
    </property>  
</configuration>

hdfs-site.xml(HDFS配置)

<configuration>  
    <property>  
        <name>dfs.replication</name>  
        <value>1</value>  
    </property>  
    <property>  
        <name>dfs.namenode.name.dir</name>  
        <value>/home/hadoop/hadoop_data/hdfs/namenode</value>  
    </property>  
    <property>  
        <name>dfs.datanode.data.dir</name>  
        <value>/home/hadoop/hadoop_data/hdfs/datanode</value>  
    </property>  
</configuration>

mapred-site.xml(MapReduce配置)

<configuration>  
    <property>  
        <name>mapreduce.framework.name</name>  
        <value>yarn</value>  
    </property>  
</configuration>

yarn-site.xml(资源调度配置)

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.application.classpath</name>
        <value>XXXX</value>
    </property>
</configuration>

注意:属性yarn.application.classpath的value获取办法,命令行输入:hadoop classpath,用输出的值把XXXX替换。

参考链接:错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster-CSDN博客

4、配置SSH免密登录

Hadoop集群节点间需通过SSH通信,配置本地免密登录:

ssh-keygen -t rsa  # 执行时一路回车即可
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  
chmod 600 ~/.ssh/authorized_keys  
# 测试是否成功  
ssh localhost

三、启动与验证

1、更改目录权限

sudo chown -R hadoop:hadoop /home/hadoop/hadoop/
sudo chmod -R 755 /home/hadoop/hadoop/

2、格式化HDFS

# 首次启动前需格式化文件系统
hdfs namenode -format

3、启动Hadoop集群

# 启动HDFS  
start-dfs.sh  
# 启动YARN  
start-yarn.sh

4、查看进程

通过jps命令查看进程,确认NameNodeDataNodeResourceManager等是否正常运行。

5、访问Web界面

HDFS管理界面:http://服务器IP:9870

YARN管理界面:http://服务器IP:8088

6、运行测试任务

执行Hadoop自带的WordCount示例:

# 创建输入目录  
hdfs dfs -mkdir /input  
# 上传测试文件  
hdfs dfs -put $HADOOP_HOME/LICENSE.txt /input  
# 运行任务  
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output  
# 查看结果  
hdfs dfs -cat /output/*

四、常见问题与解决建议

1、Java路径错误:确保JAVA_HOMEhadoop-env.sh中正确配置。

2、端口冲突:检查9870、9000、8088等端口是否被占用。

3、权限不足:Hadoop数据存储目录需赋予hadoop用户所有权。

4、网络防火墙问题

参考链接:centOS 7网络配置,解决不能联网、ping不通外网-CSDN博客

大功告成~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值