HCRM博客

如何在CentOS上安装和配置Hadoop?

Hadoop on CentOS 安装与配置指南

Hadoop是一个开源的分布式计算框架,广泛应用于大数据处理,本文将详细介绍在CentOS操作系统上安装和配置Hadoop的步骤。

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

一、前期准备

1、操作系统:CentOS 7.0 64位操作系统。

2、虚拟机软件:VMware或其他虚拟化软件。

3、网络连接:确保系统能够访问互联网,以便下载所需的软件包。

4、用户权限:建议以非root用户进行操作,以避免权限问题。

二、创建用户并配置免密登录

1. 创建用户

创建一个名为hadoop的用户:

如何在CentOS上安装和配置Hadoop?-图2
(图片来源网络,侵权删除)
sudo useradd m hadoop s /bin/bash

新用户设置密码:

sudo passwd hadoop

2. 配置免密登录

为了简化后续操作,可以配置SSH免密登录:

su hadoop
sshkeygen t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

3. 修改sudoers文件

为新添加的hadoop用户赋予管理员权限:

sudo visudo

在打开的编辑器中,找到如下行:

root    ALL=(ALL)       ALL

在这行下面添加:

hadoop ALL=(ALL)       ALL

保存并退出编辑器。

三、安装Java环境

Hadoop需要Java运行环境,因此需要先安装JDK,可以选择OpenJDK或Oracle JDK,这里我们选择安装OpenJDK 1.8版本:

sudo yum install java1.8.0openjdk java1.8.0openjdkdevel y

验证安装结果:

java version

输出应显示类似以下内容:

openjdk version "1.8.0_xx"

四、安装Hadoop

1. 下载Hadoop

从Apache Hadoop官网下载所需版本的Hadoop,例如3.3.4版本:

cd /usr/local/src
sudo wget https://mirrors.cnnic.cn/apache/hadoop/common/hadoop3.3.4/hadoop3.3.4.tar.gz

解压缩到指定目录:

sudo tar zxf hadoop3.3.4.tar.gz C /usr/local
sudo mv /usr/local/hadoop3.3.4 /usr/local/hadoop

2. 配置环境变量

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

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使环境变量生效:

source ~/.bashrc

五、配置Hadoop单机模式

1. 配置核心文件

进入Hadoop配置目录:

cd $HADOOP_HOME/etc/hadoop/

编辑hadoopenv.sh文件,设置Java路径:

sudo vi hadoopenv.sh

添加以下内容:

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

编辑coresite.xml文件,设置临时目录:

sudo vi coresite.xml

<configuration>标签之间添加:

<property>
    <name>name>nodemanager.auxservices</name>
    <value>mapreduce_shuffle</value>
</property>

编辑hdfssite.xml文件,设置NameNode和DataNode的存储路径:

sudo vi hdfssite.xml

<configuration>标签之间添加:

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///usr/local/hadoop/tmp/dfs/data</value>
</property>

编辑mapredsite.xml文件,设置MapReduce的相关参数:

sudo vi mapredsite.xml

<configuration>标签之间添加:

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

编辑yarnsite.xml文件,设置ResourceManager和NodeManager的地址及日志目录:

sudo vi yarnsite.xml

<configuration>标签之间添加:

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
</property>
<property>
    <name>yarn.nodemanager.auxservices</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.localdirs</name>
    <value>/usr/local/hadoop/tmp/yarn/nmLocalDirs</value>
</property>
<property>
    <name>yarn.logdir</name>
    <value>/usr/local/hadoop/tmp/yarn/logs</value>
</property>

2. 格式化文件系统

在正式运行Hadoop之前,需要格式化HDFS文件系统:

hdfs namenode format

3. 启动Hadoop服务

启动HDFS和YARN服务:

startdfs.sh
startyarn.sh

验证服务是否成功启动:

jps

如果一切正常,应该可以看到以下进程:

ResourceManager
NodeManager
NameNode
DataNode
SecondaryNameNode
Jps

六、常见问题解答(FAQ)

Q1: 无法连接到Hadoop Web界面怎么办?

A1: 确保所有服务已经成功启动,并且浏览器没有代理或防火墙限制,可以尝试在浏览器中输入http://localhost:9870http://localhost:8088来访问HDFS和YARN的Web界面,如果仍然无法访问,检查服务端口是否正确配置。

Q2: 如何修改Hadoop的默认端口号?

A2: 可以在相应的配置文件中修改端口号,在coresite.xml中修改NameNode的地址和端口,在yarnsite.xml中修改ResourceManager的地址和端口,修改后重新启动服务即可生效。

Q3: Hadoop集群模式下如何配置多个节点?

A3: 在集群模式下,需要在每个节点上安装并配置Hadoop,并确保所有节点之间的SSH免密登录已经正确配置,还需要编辑slaves文件,包含所有数据节点的主机名,在主节点上启动Hadoop服务时,会同时启动其他节点上的服务。

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