CentOS7 Hadoop 3.3.4 集群安装(1 NameNode,3 DataNode)

集群网络配置:

准备三台CentOS7的服务器:

IP 服务器名称
192.168.21.25 Master
192.168.21.26 Slave01
192.168.21.27 Slave02

修改hosts

# Master服务器
vi /etc/hosts

192.168.21.26 Slave01
192.168.21.27 Slave02
192.168.21.25 Master

# Slave01服务器
vi /etc/hosts

192.168.21.27 Slave02
192.168.21.25 Master

# Slave02服务器
vi /etc/hosts

192.168.21.26 Slave01
192.168.21.25 Master

# 测试host连接(去不同服务器上测试相互是否能连接通)
ping Slave01 -c 3 

SSH远程登录配置
让 Master 节点可以无密码 SSH 登陆到各个 Slave 节点上

# 以下全是Master服务器执行:
# 如果没有该目录,先执行一次ssh localhost
cd ~/.ssh
# 删除之前生成的公匙(如果有)
rm ./id_rsa*
# 创建秘钥(一直按回车就可以)
ssh-keygen -t rsa
# 秘钥写入authorized_keys
cat ~/.ssh/id_rsa.pub >> ./authorized_keys
# 测试免密码登录本机,第一次可能需要输入yes
ssh Master
# 将Master节点的秘钥传给Slave节点(使用root用户,传递id_rsa.pub文件到Slave01和Slave02的/root/hadoop目录下)
scp ~/.ssh/id_rsa.pub root@Slave01:/root/hadoop/
scp ~/.ssh/id_rsa.pub root@Slave02:/root/hadoop/

# 切换Slave01服务器
cat /root/hadoop/id_rsa.pub >> ~/.ssh/authorized_keys
# 切换Slave02服务器
cat /root/hadoop/id_rsa.pub >> ~/.ssh/authorized_keys

# 切换回Master服务器测试连接
ssh Slave01
ssh Slave02

JDK安装:

Hadoop Java版本对应
在这里插入图片描述
Hadoop Java Versions - Hadoop - Apache Software Foundation
本文采用的是yum安装(不推荐yum安装JDK,没有JPS等工具,并且JDK安装目录比较难找。)

# Master服务器:
yum install java-1.8.0-openjdk.x86_64
# 验证安装
java -version
# 切换到Slave01服务器,安装JDK
ssh Slave01
yum install java-1.8.0-openjdk.x86_64
java -version
# 退出Slave01服务器,返回Master服务器
exit
# 切换到Slave02服务器,安装JDK
ssh Slave02
yum install java-1.8.0-openjdk.x86_64
java -version
exit

# 因为yum安装的openjdk没有jps等工具,后续会经常用到,所以自行安装一下(每个服务器都安装一下)
yum install -y  java-1.8.0-openjdk-devel

# 配置JAVA_HOME
# yum安装的jdk需要自己找一下安装目录
which java
# 结果:/usr/bin/java
ls -lr /usr/bin/jav
### 安装和配置 Hadoop #### 准备工作 为了在 CentOS 10 上成功安装和配置 Hadoop,需先确保操作系统环境已准备好。这包括更新系统软件包并安装必要的依赖项。 ```bash sudo yum update -y sudo yum install java-1.8.0-openjdk-devel -y ``` 设置 Java 环境变量以确保系统的每处都能识别到 Java 路径[^2]: ```bash export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export PATH=$PATH:$JAVA_HOME/bin echo &#39;export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk&#39; >> ~/.bashrc echo &#39;export PATH=$PATH:$JAVA_HOME/bin&#39; >> ~/.bashrc source ~/.bashrc ``` #### 下载与解压 Hadoop 下载适合版本的 Hadoop 并将其放置于 `/opt` 或其他期望位置。这里假设选择了 Hadoop 的稳定版,并通过 tarball 文件进行部署。 ```bash cd /opt wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.4/hadoop-3.3.4.tar.gz tar -xzvf hadoop-3.3.4.tar.gz mv hadoop-3.3.4 hadoop chown -R $USER:hadoop-group hadoop/ ``` #### 配置文件修改 编辑核心配置文件来适应本地网络条件和其他需求。对于单节点伪分布式模式或者多节点集群来说,主要涉及以下几个重要文件: ##### 修改 `core-site.xml` 设定 NameNode 地址及其端口信息。 ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` ##### 编辑 `hdfs-site.xml` 指定数据存储目录以及其他参数。 ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop/data/datanode</value> </property> </configuration> ``` ##### 设置 DataNodes 列表 (`slaves`) 如果是在多个物理机器组成的集群环境中,则需要定义 slave nodes 的 IP 地址列表。 ```plaintext slave1 slave2 ... ``` 针对 MapReduce 框架特定属性,在非默认情况下调整 `mapred-site.xml` 中的相关选项[^1]。 #### 初始化与启动服务 完成上述准备工作之后,执行如下操作初始化 HDFS 文件系统并开启整个 Hadoop 生态圈的服务组件。 ```bash /opt/hadoop/bin/hdfs namenode -format /opt/hadoop/sbin/start-dfs.sh jps ``` 以上命令会依次格式化 NameNode、启动 DFS 和检查运行中的 JVM 进程状态。 #### 常见问题排查 遇到任何异常情况时,请参照官方文档或社区资源寻求帮助;也可以尝试查看日志记录获取更多线索。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值