Hadoop3.x完全分布式集群搭建教程(一)

前言

集群规划:
5台机器:

hadoop101 hadoop102 hadoop103 hadoop104 hadoop105
HDFS NameNode NameNode DataNode DataNode DataNode
YARN ResourceManager ResourceManager NodeManager NodeManager NodeManager
Zookeeper

版本:

Hadoop 3.1.3
Jdk 1.8
Zookeeper 3.6.2
在写这篇博客之前,已经刷完
大数据课程/Hadoop精品实战大数据开发学习课程【海牛学院】
跟着这个教程已经成功搭建有5台虚拟机的集群,但视频里的一些理论知识我听的稀里糊涂的(老师讲的很好,是我没耐心听完)。
现在结合 尚硅谷Hadoop教程(hadoop框架精讲)的文档重新搭建出有5台虚拟机的集群,
目的是为了避免盲目地敲命令,再就是重新学习理论知识(个人感觉海牛学院讲的比较好,但使用的hadoop版本是2.x,尚硅谷用的是3.x)。
本篇博客和之后的博客都会借鉴两个教程的文档以及 《Hadoop权威指南》
所需的软件包和配置文件在这
链接: https://pan.baidu.com/s/1wkiH...
提取码:a6r2
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V1的分享

第一台虚拟机的环境

先配置好第一台虚拟机,然后再克隆(也可以直接克隆,然后到时候把配置好的文件分发给其它机器,不过有点麻烦)。
我使用Xshell操作虚拟机,也可使用secureCRT等工具。

1.基础的设置

普通虚拟机都会进行的设置

(1)虚拟机配置
版本:CentOS7
配置:2G内存,50G硬盘(内存后期可调,硬盘后期拓展比较麻烦,一开始设置的大一点比较好)
网络连接:NAT
(2)安装必要环境

sudo yum install -y epel-release psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git unzip zip psmisc

(3)给虚拟机设置静态ip

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
注意:有些虚拟机这个文件的名字可能不叫ifcfg-ens33,可以先cd /etc/sysconfig/network-scripts,然后对ifcfg-exxx 文件进行编辑

BOOTPROTO="dhcp"改为BOOTPROTO="static",然后添加:

IPADDR="192.168.1.101"
GATEWAY="192.168.1.2"
DNS1="192.168.1.2"
注意:ip地址可以改变,如果你是小白还是乖乖地还是和我设置的一样。

(4)其它的一些修改

  • 依次点击vm工具栏中的 编辑->虚拟网络编辑器->VMnet8

将红圈处改为1,和前面的ip地址第三位相同
Hadoop3.x完全分布式集群搭建教程(一)_第1张图片

点击NAT设置,将网关地址修改为前面的ifcfg-ens33文件中`GATEWAY="192.168.1.2"`

Hadoop3.x完全分布式集群搭建教程(一)_第2张图片

注意:IPADDR、GATEWAY翻译过来就是ip地址、网关。所以要修改这些设置,使其和linux中的设置相同
  • 进入控制面板->网络和 Internet->网络连接->VMware Network Adapter VMnet8(右键)->属性

Hadoop3.x完全分布式集群搭建教程(一)_第3张图片

选择以上->属性->修改为如下

Hadoop3.x完全分布式集群搭建教程(一)_第4张图片

(5)测试是否有网

ping www.baidu.com

2.Hadoop集群需要的设置

(1)修改主机名

sudo hostnamectl --static set-hostname hadoop101

(2)配置主机名称映射

  • linux

打开/etc/hosts

sudo vim /etc/hosts

添加如下内容

192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
  • 自己电脑的的主机

进入C:\Windows\System32\drivers\etc路径,打开hosts文件并添加如下内容

192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105

(3)关闭防火墙

sudo systemctl stop firewalld
sudo systemctl disable firewalld

(4)创建hadoop用户

sudo useradd hadoop
sudo passwd hadoop

用户名和密码自己决定就好
(5)重启虚拟机

reboot

(6)配置hadoop用户具有root权限

sudo vim /etc/sudoers
  • 找到下面一行(91行),在root下面添加一行,如下所示:
# Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
hadoop   ALL=(ALL)     ALL

(7)在/opt目录下创建文件夹

  • 在/opt目录下创建module、software文件夹
sudo mkdir /opt/module /opt/software
  • 修改module、software文件夹的所有者
sudo chown hadoop:hadoop /opt/module /opt/software

(8)安装Jdk、Hadoop、Zookeeper
如果你用的Xshell操作虚拟机,可以使用rz命令上传本地的文件至虚拟机

  • 将本地的软件包上传至/opt/software
cd /opt/software
rz

Hadoop3.x完全分布式集群搭建教程(一)_第5张图片

  • 解压
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
tar -zxvf zookeeper-3.6.2-bin.tar.gz -C /opt/module/
  • 给zookeeper改个名
mv /opt/module/apache-zookeeper-3.6.2-bin /opt/module/zookeeper-3.6.2
  • 将Jdk、Hadoop添加到环境变量
sudo vim /etc/profile.d/my_env.sh

添加以下:

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.6.2
export PATH=$PATH:$ZOOKEEPER_HOME/bin
  • 重启后查看是否安装成功
reboot
java -version
hadoop version
至此,第一台虚拟机的设置完成,接下来开始克隆虚拟机

克隆虚拟机的设置

1.克隆虚拟机

(1)关机hadoop101然后:
Hadoop3.x完全分布式集群搭建教程(一)_第6张图片

记得选择这个:
Hadoop3.x完全分布式集群搭建教程(一)_第7张图片

2.修改主机名

sudo hostnamectl --static set-hostname hadoop102

3.修改ip地址

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

IPADDR="192.168.1.101"改为IPADDR="192.168.1.102"

其它的克隆虚拟机,如: hadoop103,其设置跟上面一样,只是主机名为hadoop103,ip地址为192.168.1.103。

4.重启

感想

这是我在万维网写下的第一篇日博客,2018年初开始接触前端,2019年开始考研,在这两年间总是习惯于直接上手代码而忽略基础知识也不喜于复习,到现在,感觉什么都没学到,脑内空空如也,真不好意思说自己是研究生。再这样下去又要经历毕业即失业的痛苦。
所以决定用写博客的方式帮助自己梳理知识点,同时提高自己的表达能力,希望一年后的我有所不同。
——2020/11/17

你可能感兴趣的