HCRM博客

如何在CentOS上安装Hadoop?

在CentOS上安装Hadoop是一个涉及多个步骤的过程,包括环境准备、软件安装和配置等,以下是详细的安装步骤:

一、前期准备

1、硬件要求:确保有至少两台CentOS 7服务器(可以是虚拟机),每台服务器推荐有至少2 GB的内存和20 GB的硬盘空间。

如何在CentOS上安装Hadoop?-图1
(图片来源网络,侵权删除)

2、网络配置:使用NET模式连接有线络,并确保每台机器能通过主机名有效访问其他机器。

3、SSH配置:在所有节点上生成SSH密钥对,并配置免密登录,以便后续操作。

二、安装Java环境

Hadoop依赖Java环境,因此首先需要安装Java,执行以下命令安装OpenJDK:

sudo yum install y java1.8.0openjdkdevel

安装完成后,通过以下命令检查Java是否安装成功:

java version

三、下载并解压Hadoop

在所有节点上下载Hadoop的最新稳定版本,在Master节点上执行以下命令:

wget http://apache.claz.org/hadoop/common/hadoop3.3.4/hadoop3.3.4.tar.gz
tar xzvf hadoop3.3.4.tar.gz
sudo mv hadoop3.3.4 /usr/local/hadoop

四、配置Hadoop环境变量

编辑/etc/profile 文件,添加以下内容以设置Hadoop环境变量:

如何在CentOS上安装Hadoop?-图2
(图片来源网络,侵权删除)
Hadoop environment variables
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后使配置生效:

source /etc/profile

五、配置Hadoop

1. 配置hadoopenv.sh

编辑$HADOOP_HOME/etc/hadoop/hadoopenv.sh 文件,设置Java环境变量:

export JAVA_HOME=/usr/lib/jvm/java1.8.0openjdk

2. 配置coresite.xml

编辑$HADOOP_HOME/etc/hadoop/coresite.xml 文件,添加以下内容:

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

3. 配置hdfssite.xml

如何在CentOS上安装Hadoop?-图3
(图片来源网络,侵权删除)

编辑$HADOOP_HOME/etc/hadoop/hdfssite.xml 文件,添加以下内容:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>

4. 配置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>

5. 配置mapredsite.xml

$HADOOP_HOME/etc/hadoop/mapredsite.xml.template 复制并重命名为mapredsite.xml,并添加以下内容:

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

六、格式化HDFS并启动Hadoop集群

在Master节点上执行以下命令以格式化HDFS:

hdfs namenode format

然后启动Hadoop的NameNode和DataNode:

startdfs.sh
startyarn.sh

七、验证集群状态

通过访问以下URL验证Hadoop集群是否成功启动:

NameNode的Web UI: [http://master:9870](http://master:9870)

ResourceManager的Web UI: [http://master:8088](http://master:8088)

步骤 命令或操作 描述
硬件准备 确保有至少两台CentOS 7服务器,每台服务器推荐有至少2 GB的内存和20 GB的硬盘空间 确保硬件满足Hadoop运行需求
网络配置 使用NET模式连接有线网络,并确保每台机器能通过主机名有效访问其他机器 确保网络通信正常
SSH配置 在所有节点上生成SSH密钥对,并配置免密登录 便于后续无密码远程操作
安装Javasudo yum install y java1.8.0openjdkdevel 安装Java环境
下载并解压Hadoopwget http://apache.claz.org/hadoop/common/hadoop3.3.4/hadoop3.3.4.tar.gz 获取Hadoop安装包并解压
配置Hadoop环境变量 编辑/etc/profile 文件,添加Hadoop环境变量 设置Hadoop环境变量
配置Hadoop 编辑hadoopenv.shcoresite.xmlhdfssite.xmlyarnsite.xmlmapredsite.xml 等文件 配置Hadoop相关参数
格式化HDFS并启动Hadoop集群hdfs namenode formatstartdfs.shstartyarn.sh 初始化HDFS并启动Hadoop服务
验证集群状态 访问NameNode和ResourceManager的Web UI 确认Hadoop集群运行状态

常见问题解答(FAQs)

Q1: Hadoop启动时出现“Permission denied”错误怎么办?

A1: 确保所有Hadoop相关的目录和文件都有正确的权限,特别是Hadoop的安装目录和HDFS的数据目录,应该具有适当的读写权限,可以使用chmodchown命令来修改权限和所有权。

Q2: Hadoop集群中的节点无法相互通信怎么办?

A2: 检查网络配置,确保所有节点都能通过主机名相互访问,检查防火墙设置,确保没有阻止Hadoop所需的端口(如9000、8088等),如果问题仍然存在,可以尝试ping其他节点以测试网络连通性。

分享:
扫描分享到社交APP
上一篇
下一篇