hadoop3.3完全分布式(最简)

环境准备

  • 3台CentOS7(本例使用VMware替代)
  • jdk8
  • Hadoop3.3

虚拟机基础准备

  • 网络适配器选用NAT模式(针对VMware)
  • 设置静态IP,对应关系如下
名称 地址
hadoop01 192.168.138.201
hadoop02 192.168.138.202
hadoop03 192.168.138.203
  • 设置主机名,在各自机器上执行hostnamectl set-hostname 主机名称即可
  • 将jdk、Hadoop安装包分别上传至hadoop01:/hadoop目录下

接下来的操作,我会标明在那个机器里面操作,执行的时候切记不要执行错了

hadoop01中执行

解压安装包
bash 复制代码
cd /hadoop
// 解压jdk
tar -xzvf jdk*
// 解压hadoop
tar -xzvf hadoop*
// 删除安装包
rm -rf ./*.gz
// 重命名jdk
mv jdk* jdk8
// 重命名hadoop
mv hadoop* hadoop3
安装jdk

使用命令vi /etc/profile将如下代码添加到末尾

bash 复制代码
export JAVA_HOME=/hadoop/jdk8
export CLASSPATH=.$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

配置完成后执行source /etc/profile重新加载配置文件

然后使用java -version测试jdk是否安装成功

安装Hadoop

1、配置环境变量

使用命令vi /etc/profile将如下代码添加到末尾

bash 复制代码
export HADOOP_HOME=/hadoop/hadoop3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置完成后执行source /etc/profile重新加载配置文件

2、修改Hadoop配置文件

涉及修改的文件有core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml、yarn-site.xml、workers

  • core-site.xml
xml 复制代码
 <property>
     <name>fs.defaultFS</name>
     <value>hdfs://hadoop01:9000</value>
 </property>
bash 复制代码
export JAVA_HOME=/hadoop/jdk8
export HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"
export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"
  • hdfs-site.xml
xml 复制代码
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/hadoop/hadoop3/hdfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/hadoop/hadoop3/hdfs/data</value>
  </property>
<!-- nn web 端访问地址--> 
  <property> 
    <name>dfs.namenode.http-address</name> 
    <value>hadoop01:9870</value> 
  </property> 
  <property>
    <name>dfs.permissions</name>
    <value>false</value>
  </property>
  • mapred-site.xml
xml 复制代码
  <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
  </property>
  • yarn-site.xml
xml 复制代码
  <property>
    <name>yarn.resourcemanager.hostsname</name>
    <value>hadoop01</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>hadoop01:8088</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  • workers
bash 复制代码
hadoop01
hadoop02
hadoop03
修改hosts文件

使用vi /etc/hosts编辑文件,在末尾加入

bash 复制代码
192.168.138.201 hadoop01
192.168.138.202 hadoop02
192.168.138.203 hadoop03
将jdk、hadoop等文件分发给其他机器
bash 复制代码
// hadoop02
// 配置文件
scp -r /etc/profile hadoop02:/etc/
// 映射关系
scp -r /etc/hosts hadoop02:/etc/
// 安装文件
scp -r /hadoop hadoop02:/

// hadoop03
scp -r /etc/profile hadoop03:/etc/
scp -r /hadoop hadoop03:/
scp -r /etc/hosts hadoop03:/etc/

以下命令三个机器全部执行

1、刷新配置文件

bash 复制代码
source /etc/profile

2、配置ssh免密登录

  • 生成密钥(一路回车直到结束)
bash 复制代码
ssh-keygen -t rsa
  • 分发公钥
bash 复制代码
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03

3、关闭防火墙

bash 复制代码
systemctl stop firewalld.service
systemctl disable firewalld.service

hadoop01中执行

  • 格式化namenode
bash 复制代码
hdfs namenode -format
  • 启动hadoop
bash 复制代码
start-all.sh

到此搭建已经完成,访问web页面http://192.168.138.201:8088即可,

相关推荐
大哥您好6 小时前
QEMU 11.1.2 多架构编译指南(x86_64 / aarch64 / riscv64)
linux·服务器
道满科技7 小时前
Function Calling 参数总出错?只修参数就行
linux·windows·python
Android系统攻城狮7 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_prepare_read调用流程与实战(七十四)
linux·运维·服务器·gstreamer音视频·音视频进阶
我科绝伦(Huanhuan Zhou)8 小时前
Linux 通用压力测试脚本合集:磁盘 + 网络
linux·网络·压力测试
Soneswy10 小时前
Linux系统篇--重定向与文件操作命令
linux
有毒的教程10 小时前
Linux底层存储路由配
linux·运维·网络
Linux系统运维工程师_郭主任11 小时前
运维人还在被拒offer?现在能考的,只有 RHCE 10.0。
linux
自养Agent11 小时前
MCP Server Boundary Audit Report
linux·服务器·人工智能·windows·大模型·llm
Coisinier12 小时前
docker命令管理镜像及容器
linux·运维·nginx·docker·容器·操作系统
A心有千千结13 小时前
通过 SSH 反向代理让服务器借用本机网络访问 GitHub 的最佳实践
linux·服务器·网络·git·ssh·github