news 2026/9/16 18:56:38

配置Hadoop集群文件详细步骤(CentOS Stream 10)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
配置Hadoop集群文件详细步骤(CentOS Stream 10)

集群化环境前置准备(三台机器都进行)

部署

步骤1:配置多台虚拟机

步骤2:准备主机名映射

步骤3:配置ssh免密登录

集群化环境配置

步骤4:安装jdk环境(这里使用的是 JDK8)(只在node1上)

# 1. 创建正确的安装目录
sudo mkdir -p /usr/java

# 2. 进入安装目录
cd /usr/java

# 3. 下载JDK 8(使用国内镜像源,更可靠)
sudo wget https://mirrors.aliyun.com/adoptium/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz

# 4. 解压文件
sudo tar -xzf OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz

# 5. 设置环境变量
echo 'export JAVA_HOME=/usr/java/jdk8u382-b05' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> ~/.bashrc
source ~/.bashrc

# 6. 验证安装
java -version
javac -version

这样就是正确安装

步骤5:安装Hadoop(只在node1上)

# 创建Hadoop安装目录
mkdir -p /usr/local/hadoop
cd /usr/local/hadoop

# 下载Hadoop 3.3.6(使用Apache镜像)
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

# 或者使用国内镜像(如果Apache镜像下载慢)
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
# 解压文件
tar -xzf hadoop-3.3.6.tar.gz

# 重命名目录(可选,但方便后续操作)
mv hadoop-3.3.6 hadoop-3.3.6-installed


# 编辑~/.bashrc文件
echo 'export HADOOP_HOME=/usr/local/hadoop/hadoop-3.3.6-installed' >> ~/.bashrc
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc
echo 'export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop' >> ~/.bashrc

# 使环境变量生效
source ~/.bashrc

# 验证Hadoop是否正确安装
hadoop version

确认环境变量已正确加载
echo $HADOOP_HOME

表示正确加载

配置hadoop-env.sh文件,设置JAVA_HOME:
echo 'export JAVA_HOME=/usr/java/jdk8u382-b05' >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh

步骤6:复制node1配置到node2,node3

# 复制JDK到node2和node3
scp -r /usr/java root@node2:/usr/
scp -r /usr/java root@node3:/usr/

# 复制Hadoop到node2和node3
scp -r /usr/local/hadoop root@node2:/usr/local/
scp -r /usr/local/hadoop root@node3:/usr/local/

# 复制环境变量配置
scp ~/.bashrc root@node2:~
scp ~/.bashrc root@node3:~

步骤4:在其他节点上激活环境变量
# 激活环境变量
source ~/.bashrc

# 验证JDK和Hadoop安装
java -version
hadoop version

步骤7:配置Hadoop集群

1. 确保配置文件路径正确


所有配置文件位于Hadoop安装目录的etc/hadoop子目录中:
cd /opt/hadoop/hadoop-3.3.6-installed/etc/hadoop

2. 配置hadoop-env.sh中的JAVA_HOME


vim /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/hadoop-env.sh
找到JAVA_HOME配置行,修改为实际的JDK路径:
# 找到并修改这一行

如果没有这一行或者这一行以及注释,就重新添加这一行
export JAVA_HOME=/usr/java/jdk8u382-b05

结尾添加
# 定义HDFS相关服务的运行用户
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root

# 如果之后启动YARN也遇到类似错误,也需要添加YARN相关的用户定义
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root


3. 配置core-site.xml


# 编辑core-site.xml文件
vim /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>


4. 配置hdfs-site.xml

编辑文件
vim /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node1:50090</value>
</property>
</configuration>


5. 配置mapred-site.xml


# 先检查是否存在mapred-site.xml,如果不存在则复制模板
if [ ! -f /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/mapred-site.xml ]; then
cp /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/mapred-site.xml
fi

如果上面不能一行执行就使用下面这个

if [ ! -f /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/mapred-site.xml ]; then cp /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/mapred-site.xml; fi

# 编辑mapred-site.xml
vim /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
</configuration>


6. 配置yarn-site.xml

编辑文件
vim /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/yarn-site.xml

<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>node1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>node1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>node1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>node1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>node1:8088</value>
</property>
</configuration>


7. 配置workers文件(Hadoop 3.x版本)


vim /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/workers
删除默认的localhost,添加以下内容:
node1
node2
node3

ps:这里添加三个主机名是为了更好的使用内存,如果是为了工作,项目使用可以只添加从节点的主机名


8. 创建必要的目录


# 在所有节点上创建必要的目录
mkdir -p /usr/local/hadoop/tmp
mkdir -p /usr/local/hadoop/hdfs/name
mkdir -p /usr/local/hadoop/hdfs/data


9. 复制配置到其他节点


# 将配置文件复制到node2和node3
scp -r /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/ root@node2:/usr/local/hadoop/hadoop-3.3.6-installed/etc/
scp -r /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/ root@node3:/usr/local/hadoop/hadoop-3.3.6-installed/etc/


10. 在从节点上创建数据目录


# 在node2上创建数据目录
ssh node2 "mkdir -p /usr/local/hadoop/tmp /usr/local/hadoop/hdfs/data"

# 在node3上创建数据目录
ssh node3 "mkdir -p /usr/local/hadoop/tmp /usr/local/hadoop/hdfs/data"


11. 配置完成后的验证

1. 先验证配置文件是否正确:
cat /usr/local/hadoop/hadoop-3.3.6-installed/etc/hadoop/core-site.xml
2.然后格式化HDFS(仅在node1上执行一次):之后如果要求输入 输入Y
hdfs namenode -format
3,启动Hadoop集群:
start-dfs.sh
start-yarn.sh
4,检查集群状态:
jps

这样就显示配置完成

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 18:56:29

机器人控制器为何必须采用PCIe架构:实时性与确定性数据流的底层支撑

1. 为什么机器人控制器正在集体转向PCIe架构——不是跟风&#xff0c;是刚需倒逼的底层重构你拆开一台2023年后出厂的工业协作机器人控制器&#xff0c;大概率会看到一块标着“PCIe x4”的板卡插在主板上&#xff1b;再打开一台AGV调度主控箱&#xff0c;里面那块负责激光SLAM建…

作者头像 李华
网站建设 2026/9/16 18:55:24

MATLAB粒子群优化PSO实战:从向量化实现到工程部署

简介&#xff1a;本资源是一份面向MATLAB初学者与电力系统优化方向学习者的粒子群优化&#xff08;PSO&#xff09;算法入门实践包&#xff0c;聚焦于最优潮流&#xff08;OPF&#xff09;等典型工程优化问题的求解。压缩包共3个文件&#xff0c;含2个核心MATLAB源码文件&#…

作者头像 李华
网站建设 2026/9/16 18:54:58

ACTF新生赛Include 1题解:PHP文件包含与php://filter绕过

做CTF新生赛Web题有个规律&#xff0c;题目名字往往直白得可怕。ACTF2020新生赛里这道[ACTF2020 新生赛]Include 1&#xff0c;光看题名就能猜到考点是文件包含&#xff0c;而且专门标注了“新生赛”&#xff0c;难度就是给刚入门的选手入门用的。我当时第一次刷这道题的时候&a…

作者头像 李华
网站建设 2026/9/16 18:53:54

ASP新闻爬虫系统:IIS环境下的DIV+CSS轻量聚合方案

简介&#xff1a;这是一份面向ASP初学者与Web开发实践者的新闻数据采集实战项目&#xff0c;聚焦福建省本地新闻站点的自动化抓取与前端展示。资源采用经典ASP服务端技术栈&#xff0c;结合DIVCSS实现语义化页面布局&#xff0c;覆盖HTTP请求、HTML解析、数据库交互&#xff08…

作者头像 李华
网站建设 2026/9/16 18:53:38

浏览器指纹的物理本质与企业级对抗实战

1. 这不是“防关联”的问题&#xff0c;而是你根本没理解浏览器指纹的物理本质“求一个防关联检测工具&#xff0c;浏览器指纹在线检测”——这句话在技术社区里每天出现几十次&#xff0c;但90%的提问者连问题本身都没定义清楚。我做过三年反爬架构设计&#xff0c;也帮五家招…

作者头像 李华