Linux中Hadoop集群搭建步骤是什么
Linux环境下Hadoop集群搭建步骤
1. 前置准备
- 系统要求:选择稳定的Linux发行版(如CentOS 7/RHEL 7、Ubuntu 20.04及以上),建议使用普通用户(如
hadoop)操作,避免root权限滥用。 - 节点规划:至少准备3台机器(1台Master节点:运行NameNode、ResourceManager;2台Worker节点:运行DataNode、NodeManager),确保所有节点在同一局域网内且能互相通信。
- 硬件要求:Master节点建议4GB+内存、20GB+硬盘;Worker节点建议2GB+内存、20GB+硬盘(可根据数据量调整)。
2. 安装Java环境
Hadoop依赖Java运行环境,需在所有节点安装JDK(推荐OpenJDK 8/11):
# CentOS系统(以OpenJDK 8为例)
sudo yum install -y java-1.8.0-openjdk-devel
# Ubuntu系统(以OpenJDK 11为例)
sudo apt update
sudo apt install -y openjdk-11-jdk
# 验证安装
java -version # 应输出Java版本信息
配置JAVA_HOME环境变量(编辑~/.bashrc或/etc/profile):
echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >
>
~/.bashrc # CentOS路径
echo 'export PATH=$PATH:$JAVA_HOME/bin' >
>
~/.bashrc
source ~/.bashrc # 使配置生效
3. 下载并解压Hadoop
从Apache官网下载稳定版本的Hadoop(如3.4.1),解压到指定目录(如/usr/local):
# 下载Hadoop(以3.4.1为例)
wget https://downloads.apache.org/hadoop/common/hadoop-3.4.1/hadoop-3.4.1.tar.gz
# 解压并移动到目标目录
tar -zxvf hadoop-3.4.1.tar.gz
sudo mv hadoop-3.4.1 /usr/local/hadoop
# 修改目录权限(避免权限问题)
sudo chown -R hadoop:hadoop /usr/local/hadoop
4. 配置环境变量
编辑用户目录下的~/.bashrc文件,添加Hadoop相关环境变量:
echo 'export HADOOP_HOME=/usr/local/hadoop' >
>
~/.bashrc
echo 'export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop' >
>
~/.bashrc
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >
>
~/.bashrc
source ~/.bashrc # 使配置生效
5. 配置SSH免密登录
Hadoop集群节点间需通过SSH免密通信,步骤如下:
- 生成密钥对(在Master节点执行):
ssh-keygen -t rsa -P "" # 按回车键生成默认路径的密钥对 - 分发公钥到所有节点(包括Master自身):
ssh-copy-id hadoop@master # Master节点 ssh-copy-id hadoop@worker1 # Worker1节点 ssh-copy-id hadoop@worker2 # Worker2节点 - 验证免密登录:
ssh hadoop@master # 无需输入密码即可登录 ssh hadoop@worker1 ssh hadoop@worker2
6. 配置Hadoop核心文件
进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下关键文件:
6.1 core-site.xml
配置HDFS的默认文件系统地址(指向NameNode):
<
configuration>
<
property>
<
name>
fs.defaultFS<
/name>
<
value>
hdfs://master:9000<
/value>
<
!-- 替换为Master节点的主机名/IP -->
<
/property>
<
/configuration>
6.2 hdfs-site.xml
配置HDFS的副本数(生产环境建议3副本,测试环境可设为1)及NameNode/DataNode的数据存储路径:
<
configuration>
<
property>
<
name>
dfs.replication<
/name>
<
value>
2<
/value>
<
!-- 副本数,根据节点数量调整 -->
<
/property>
<
property>
<
name>
dfs.namenode.name.dir<
/name>
<
value>
/usr/local/hadoop/data/namenode<
/value>
<
!-- NameNode元数据存储路径 -->
<
/property>
<
property>
<
name>
dfs.datanode.data.dir<
/name>
<
value>
/usr/local/hadoop/data/datanode<
/value>
<
!-- DataNode数据存储路径 -->
<
/property>
<
/configuration>
6.3 mapred-site.xml
指定MapReduce框架为YARN(需提前创建mapred-site.xml,可通过cp mapred-site.xml.template mapred-site.xml生成):
<
configuration>
<
property>
<
name>
mapreduce.framework.name<
/name>
<
value>
yarn<
/value>
<
/property>
<
/configuration>
6.4 yarn-site.xml
配置YARN的资源管理器(ResourceManager)及Shuffle服务:
<
configuration>
<
property>
<
name>
yarn.resourcemanager.hostname<
/name>
<
value>
master<
/value>
<
!-- 替换为ResourceManager节点的主机名/IP -->
<
/property>
<
property>
<
name>
yarn.nodemanager.aux-services<
/name>
<
value>
mapreduce_shuffle<
/value>
<
/property>
<
/configuration>
7. 格式化NameNode
NameNode是HDFS的核心组件,首次启动前需格式化(仅执行一次,会清空HDFS数据):
hdfs namenode -format
格式化后,会在配置的dfs.namenode.name.dir路径下生成元数据文件。
8. 启动Hadoop集群
- 启动HDFS:
start-dfs.sh # 启动NameNode、DataNode等服务 - 启动YARN:
start-yarn.sh # 启动ResourceManager、NodeManager等服务
验证服务是否启动:
jps # 查看Java进程,应包含NameNode、DataNode、ResourceManager、NodeManager等
若进程未启动,可查看日志文件($HADOOP_HOME/logs)排查问题。
9. 验证集群状态
- 查看HDFS节点信息:
hdfs dfsadmin -report # 显示DataNode列表、存储容量等信息 - 访问Web界面:
- HDFS Web UI:
http://master:9870(默认端口,Hadoop 3.x版本) - YARN ResourceManager Web UI:
http://master:8088
输入Master节点的IP或主机名,即可通过浏览器查看集群状态。
- HDFS Web UI:
以上步骤完成后,一个基本的Hadoop集群即可正常运行。生产环境中还需进行优化(如调整JVM参数、配置高可用HA、增加数据节点等)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux中Hadoop集群搭建步骤是什么
本文地址: https://pptw.com/jishu/745281.html
