linux

Hadoop在Linux上的安装步骤

小樊
41
2025-10-06 01:55:03
栏目: 智能运维

Hadoop在Linux上的安装步骤(以Ubuntu 22.04为例)

1. 环境准备

2. 安装Java环境

Hadoop基于Java开发,需先安装JDK并配置环境变量:

3. 配置SSH免密登录(单机/集群必需)

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

4. 下载并解压Hadoop

5. 配置Hadoop环境变量

编辑~/.bashrc文件,添加Hadoop相关环境变量:

nano ~/.bashrc

在文件末尾添加以下内容(根据实际路径调整):

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native

使配置生效:

source ~/.bashrc

6. 配置Hadoop核心文件

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

6.1 hadoop-env.sh

设置Java路径(若JAVA_HOME已在环境变量中定义,可跳过):

nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh

找到# export JAVA_HOME=行,取消注释并修改为:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 根据实际Java路径调整
6.2 core-site.xml

配置HDFS的默认文件系统URI(指向NameNode):

nano $HADOOP_HOME/etc/hadoop/core-site.xml

替换为以下内容:

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>
6.3 hdfs-site.xml

配置HDFS数据存储路径及副本数(单机模式副本数为1):

nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml

替换为以下内容:

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>  <!-- 单机模式设为1 -->
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/usr/local/hadoop/tmp/dfs/name</value>  <!-- NameNode数据目录 -->
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/usr/local/hadoop/tmp/dfs/data</value>  <!-- DataNode数据目录 -->
  </property>
</configuration>
6.4 mapred-site.xml

配置MapReduce框架为YARN(需先创建该文件,若不存在则复制模板):

cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
nano $HADOOP_HOME/etc/hadoop/mapred-site.xml

替换为以下内容:

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>
6.5 yarn-site.xml

配置YARN资源管理器:

nano $HADOOP_HOME/etc/hadoop/yarn-site.xml

替换为以下内容:

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

7. 格式化HDFS NameNode

首次启动HDFS前,需格式化NameNode(会清除原有数据,仅第一次需要):

hdfs namenode -format

8. 启动Hadoop服务

9. 验证Hadoop功能

10. 可选:配置防火墙(若启用)

若系统启用了防火墙,需允许Hadoop相关端口通信:

sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp  # HDFS NameNode
sudo firewall-cmd --permanent --zone=public --add-port=50070/tcp  # HDFS Web UI
sudo firewall-cmd --permanent --zone=public --add-port=8088/tcp  # YARN Web UI
sudo firewall-cmd --reload

通过以上步骤,即可在Linux系统上完成Hadoop的单机部署。如需扩展为集群,需在多台机器上重复上述步骤,并配置slaves文件(指定DataNode节点)及集群间的SSH免密登录。

0
看了该问题的人还看了