基于CentOS 7的Hadoop-2.7.7集群搭建手册

本文详述了在CentOS7系统上利用VMware搭建虚拟机,并配置Hadoop集群的全过程,包括虚拟机创建、系统安装、软件包上传、时间同步、防火墙设置、网络配置、JDK及Hadoop安装、环境变量配置、SSH免密钥登录及Hadoop集群启动验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 基于 VMware workstations 的CentOS7安装

1.1 安装虚拟机

  1. 打开VMware,文件->新建虚拟机,出现如下界面,
    选择“自定义(高级)”选项,下一步
    在这里插入图片描述
  2. 此步骤默认,下一步继续:
    在这里插入图片描述
  3. 在出现下面界面,选中“稍后安装操作系统”选项,下一步继续:
    在这里插入图片描述
  4. 在出现如下界面,客户机操作系统选择“Linux”,版本选择“CentOS 64位”,下一步继续:

在这里插入图片描述

  1. 出现如下界面,输入自定义虚拟机名称,这里是“node1”,指定虚拟机位置,这里是“E:\VirtualMachines\CentOS 64位\node1“,然后下一步继续:
    在这里插入图片描述
  2. 出现下面界面,选择处理器数量和每个处理器核心数量,这里分别是2和2,下一步继续:
    在这里插入图片描述
  3. 出现如下界面,指定虚拟机占用内存大小,这里是2048M,下一步继续:

在这里插入图片描述
8. 出现如下界面,选择网络连接类型,这里选择“使用NAT模式”,各位安装虚拟机过程根据需要自行选择,安装向导中已经针对各种模式进行了比较规范的说明,这里补充说明如下:
1) 使用桥接网络:虚拟机ip与本机在同一网段,本机与虚拟机可以通过ip互通,本机联网状态下虚拟机即可联网,同时虚拟机与本网段内其他主机可以互通,这种模式常用于服务器环境架构中。
2) 使用网络地址转换(NAT):虚拟机可以联网,与本机互通,与本机网段内其他主机不通。
3) 使用仅主机模式网络:虚拟机不能联网,与本机互通,与本机网段内其他主机不通。下一步继续:
在这里插入图片描述
9. 默认,下一步继续:

在这里插入图片描述
10. 默认、下一步继续:
在这里插入图片描述
11. 默认,下一步继续:
在这里插入图片描述
12. 出现下面界面,输入虚拟机磁盘大小,这里设置虚拟机磁盘大小为30G,下一步继续:
在这里插入图片描述
13. 默认,下一步继续:
在这里插入图片描述
14. 默认、点击“完成”结束虚拟机创建:
在这里插入图片描述
退出安装向导后,我们可以在虚拟机管理界面左侧栏看到刚刚创建的虚拟机,右侧栏可以看到虚拟机详细配置信息:
在这里插入图片描述

  1. 上图界面中点击“编辑虚拟机设置”选项,出现如下界面:

在这里插入图片描述
16. 挂载光盘,然后点击确定,按照上述设置后界面如下图所示:
在这里插入图片描述

1.2 安装CentOS7操作系统

点击开启虚拟机进入CentOS7操作系统安装过程。
1.虚拟机控制台出现界面,选择Install CentOS Linux 7,点击回车键继续:
在这里插入图片描述

2.根据提示点击回车键继续:

在这里插入图片描述
3.如下界面默认选择English,点击Continue继续:
在这里插入图片描述

3.CentOS7安装配置主要界面如下图所示,根据界面展示,这里对以下3个部分配置进行说明:
在这里插入图片描述

*Localization和software部分不需要进行任何设置,其中需要注意的是software selection选项,这里本次采用安装含图形界面安装,至于其他组件,待后期使用通过yum安装即可。
在这里插入图片描述

4.点击“Installation Destination”,进入如下界面,选中30g硬盘,点击左上角done进行磁盘分区规划:
在这里插入图片描述
5.点击“DATE&TIME”配置时间
在这里插入图片描述
6. 完成磁盘规划后,点击network & host name选项中修改主机名(默认主机名为 localhost.localdomain),这里 node1修改为master,node2修改为slave,然后点击done完成主机名配置,返回主配置界面:
在这里插入图片描述
在这里插入图片描述
7.右下角“Begin Installation”按钮已经从原本的灰色变成蓝色,这说明已经可以进行操作系统安装工作了,点击“Begin Installation”进行操作系统安装过程。
在这里插入图片描述
8.在用户设置中需要做的是修改root用户密码和创建普通用户。

在这里插入图片描述
点击“root password”,设置密码,如果密码安全度不高,比如我这里的密码为“rootroot”,那么可能需要点击2次确定才可以。
在这里插入图片描述
分别在node1和node2创建普通用户yao
在这里插入图片描述
在这里插入图片描述
9.在下图,操作系统安装已经完成,点击reboot重启操作系统。
在这里插入图片描述

安装完成,通过普通用户yao登录:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 Linux系统配置

2.1 上传安装包

1.将jdk-8u144-linux-x64.tar.gz分别上传到两台虚拟机的/soft目录下

sftp> pwd
/soft
sftp> put E:/study2019/software/jdk-8u144-linux-x64.tar.gz

master:
在这里插入图片描述
slave:

在这里插入图片描述
2.将hadoop-2.7.7.tar.gz上传到master:

sftp> put E:/study2019/software/hadoop-2.7.7.tar.gz

在这里插入图片描述

3.查看是否上传成功
在这里插入图片描述
在这里插入图片描述

2.2 配置时钟同步

2.2.1 查看时间

在这里插入图片描述
在这里插入图片描述

2.2.2 时间不一致的解决办法
  • 方法一:通过timedatectl命令修改
    在这里插入图片描述
    在这里插入图片描述
    使用指南 timedatectl -h
    查看当前系统时间 timedatectl status
    设置当前时间
    timedatectl set-time “YYYY-MM-DD HH:MM:SS”
    timedatectl set-time “YYYY-MM-DD”
    timedatectl set-time “HH:MM:SS”
    查看所有可用的时区
    timedatectl list-timezones
    timedatectl list-timezones | grep -E “Asia/S.*”
    设置时区
    timedatectl set-timezone Asia/Shanghai
    设置硬件时间
    timedatectl set-local-rtc 1 # 默认UTC
    启动自动同步时间
    timedatectl set-ntp yes # yes或no,1或0

  • 方法二:同步网络时间
    1.同步mater

[root@master ~]# ntpdate time.nuri.net
13 Mar 17:32:29 ntpdate[26372]: adjust time server 211.115.194.21 offset -0.263924 sec

2.同步slave

[root@master ~]# ntpdate time.nuri.net
13 Mar 17:32:41 ntpdate[26372]: adjust time server 211.115.194.21 offset -0.263924 sec

2.3 配置主机名

2.3.1 命令设置主机名永久有效
[root@master ~]# hostnamectl set-hostname master
2.3.2 配置文件
[root@master ~]# vim /etc/hostname

在这里插入图片描述
在这里插入图片描述

2.4 关闭防火墙

直接关闭防火墙

2.4.1 关闭防火墙
[root@master ~]# systemctl stop firewalld.service
2.4.2 禁止firewall开机启动
[root@master ~]# systemctl disable firewalld.service
2.4.3 查看状态
[root@master ~]# systemctl status firewalld

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 配置网络

  • 查看IP
虚拟机名称HostnameIP Address
node1master192.168.16.199
node2slave192.168.16.200
  • master:

在这里插入图片描述
slave:
在这里插入图片描述
如果没有显示IP使用setup设置

2.6 配置hosts

注意,要同时在两个节点配置
在这里插入图片描述
在这里插入图片描述

2.7 安装jdk

2.7.1 新建目录
[root@master ~]# mkdir /usr/java/
2.7.2 解压安装包

将JDK文件解压,放到/usr/java目录下

[root@master java]# tar zxvf jdk-8u144-linux-x64.tar.gz

在这里插入图片描述
解压后:
在这里插入图片描述

2.7.3 配置环境变量

切换到普通用户

[root@master ~]# su yao
[yao@master root]$ cd ~
[yao@master ~]$ vi .bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/home/yao/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
2.7.4 测试

在这里插入图片描述
在这里插入图片描述

注意,如果主机名是后配的,以上操作完成以后需要重启

[root@slave java]# reboot

2.8 免密钥登陆配置

切换到普通用户下操作

2.8.1 master节点

1.在终端生成密钥

[yao@master root]$ ssh-keygen -t rsa

在这里插入图片描述
2.复制公钥文件

[yao@master .ssh]$ cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

3.修改authorized_keys文件的权限

[yao@master .ssh]$ chmod 600 ~/.ssh/authorized_keys 

在这里插入图片描述
4.将authorized_keys复制到slave节点

[yao@master .ssh]$ scp ~/.ssh/authorized_keys yao@slave:~/

在这里插入图片描述

2.8.2 slave节点

1.在终端生成密钥

[yao@slave root]$ ssh-keygen -t rsa

2.将authorized_keys文件移动到.ssh目录

[yao@slave ~]$ mv authorized_keys ~/.ssh/

在这里插入图片描述

2.8.3 验证免密钥登录

在master机器上执行

[yao@master .ssh]$ ssh slave

在这里插入图片描述

3 hadoop 配置部署

Hadoop配置部署要在普通用户下操作:

3.1 解压Hadoop安装包

[yao@master ~]$ tar -xzvf hadoop-2.7.7.tar.gz

在这里插入图片描述

3.2 修改配置文件

在这里插入图片描述

3.2.1 hadoop-env.sh
[yao@master hadoop]$ vim hadoop-env.sh 

在这里插入图片描述

3.2.2 yarn-env.sh
[yao@master hadoop]$ vim yarn-env.sh 

在这里插入图片描述

3.2.3 core-site.xml
[yao@master hadoop]$ vim core-site.xml 

修改内容:

<configuration>
<property> 				# 修改项
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/yao/hadoopdata</value>
</property>
</configuration>
3.2.4 hdfs-site.xml
[yao@master hadoop]$ vim hdfs-site.xml

修改内容:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3.2.5 yarn-site.xml
[yao@master hadoop]$ vim yarn-site.xml 

修改内容:

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
3.2.6 marpred-site.xml
[yao@master hadoop]$ cp mapred-site.xml.template mapred-site.xml
[yao@master hadoop]$ vim mapred-site.xml

修改内容

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.2.7 slaves文件
[yao@master hadoop]$ vi slaves

3.3 复制主从点

[yao@master hadoop]$ cd ~ 
[yao@master ~]$ scp -r hadoop-2.7.7 yao@slave:~/

4 启动Hadoop集群

4.1 配置环境变量

[yao@master ~]$ vi .bash_profile 
export HADOOP_HOME=/home/yao/Hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$ HADOOP_HOME/sbin:$PATH

在这里插入图片描述

[yao@master ~]$ source .bash_profile

4.2 格式化文件系统

[yao@master ~]$ hdfs namenode –format

在这里插入图片描述
此处有一个报错,原因是配置文件core-site.xml中的一个路径出错了,更改后,需要手动将slave中的core-site.xml也一并修改为正确版。删掉/home/yao/hadoop-2.7.7/logs下的全部文件,因为格式化的过程中,它已经记录日志了。再删掉/home/yao/hadoopdata目录。重新格式化
在这里插入图片描述

4.3 启动hadoop集群

[yao@master ~]$ start-all.sh

在这里插入图片描述

4.4 验证Hadoop集群是否成功

4.4.1 jps

jps的一个打印启动的进程的命令,可以用来测试Hadoop集群是否连接成功。
在master节点上有4个进程:
在这里插入图片描述
在slave节点上有3个进程:
在这里插入图片描述

4.4.2 通过web页面

1.在地址栏输入master:18088
在这里插入图片描述

2.在地址栏输入master:50070
在这里插入图片描述

4.4.3 Pi

这是hadoop自带的一个小例子,pi是一个参数,可以用来验证Hadoop集群是否成功。

[yao@master ~]$ hadoop jar hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 5 5
### 在 CentOS 7 上安装 Hadoop 2.7.7 的指南 #### 准备工作 在正式安装 Hadoop 之前,需要完成一些准备工作。这包括创建专门用于运行 Hadoop 的用户账户以及确保系统的环境配置适合后续的操作。 - 创建一个新的用户 `hadoop` 并为其分配必要的权限以便于管理 Hadoop 集群[^1]。 ```bash sudo adduser hadoop sudo passwd hadoop ``` #### 下载与解压 Hadoop 安装包 将 Hadoop 的二进制分发版下载至服务器,并将其放置在一个合适的位置进行解压。 - 使用工具如 WinSCP 或 FileZilla 将压缩包传输到虚拟机的根目录下[^4]。 - 对上传的文件执行解压命令: ```bash tar -xvf hadoop-2.7.7.tar.gz -C /root/working/modules/ mv hadoop-2.7.7 hadoop277 ``` 此过程会把 Hadoop 文件夹移动到指定路径 `/root/working/modules/hadoop277` 中。 #### 设置 Hadoop 环境变量 为了方便调用 Hadoop 及其子组件的相关脚本和程序,需正确配置环境变量。 - 编辑用户的 `.bashrc` 文件来定义 `HADOOP_HOME` 和更新全局 `$PATH`: ```bash vim ~/.bashrc export HADOOP_HOME=/root/working/modules/hadoop277 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source ~/.bashrc ``` 上述步骤通过修改当前用户的 shell 初始化脚本来永久化这些设置[^3]。 另外一种方法是直接编辑系统范围内的 profile 文件以影响所有登录用户: ```bash vi /etc/profile export HADOOP_HOME=/usr/local/src/hadoop-2.7.7 export PATH=.:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH export HADOOP_CONF_DIR=/usr/local/src/hadoop-2.7.7/etc/hadoop source /etc/profile ``` 这里指定了额外的一个参数 `HADOOP_CONF_DIR`, 这有助于明确指出哪里存储着核心配置文件[^5]。 #### 启动服务验证 最后一步是对整个流程做一次完整的测试确认无误。 ```bash start-dfs.sh jps ``` 如果一切正常,则应该能够看到 NameNode, DataNode 等进程正在运行中。 ---
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值