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

这样就显示配置完成
更多推荐
所有评论(0)