提要
目前安装大数据集群环境有三种方式,第一种方式是基于Apache开源社区也就是tar包,如我们之前的章节提及的HDFS和YARN等组件的安装。第二种方式和第三种方式基于第三方组件【部分功能收费】,分别是Clouder Manager和HDP的方式,由于目前Clouder Manager使用的更多,我们基于官方文档提供Clouder Manager的环境搭建。
准备工作
软件准备
#VmWare
链接:https://pan.baidu.com/s/19pMmUEviadFr2op5U5gJQw
提取码:2oez
复制这段内容后打开百度网盘手机App,操作更方便哦
#Centos
链接:https://pan.baidu.com/s/1oe0MpgsonBer5alNzkc5tQ
提取码:3cjd
#Xshell社区版
链接:https://pan.baidu.com/s/1WANGHCMdk_GMruYupSJe4A
提取码:yks1
基本组件
ZooKeeper\HDFS\Yarn\MapReduce\Hive
集群大小
机器数量:5台
机器配置:内存:4G 硬盘:20G CPU 核:4核心 网卡:内网百兆+外网
环境准备
操作系统
1、创建普通用户
创建daiyongjun这个用户【用于安装软件,不用root用户防止rm *等操作】
2、配置普通用户的sudo权限
【用于安装软件,不用root用户防止rm *等操作】
3、设置固定IP地址
192.168.31.108
192.168.31.109
192.168.31.110
192.168.31.111
192.168.31.112
192.168.31.113
4、设置主机名
cn.hadoop2.cluster.master
cn.hadoop2.cluster.slave1
cn.hadoop2.cluster.slave2
cn.hadoop2.cluster.slave3
cn.hadoop2.cluster.slave4
5、IP和主机名映射
#cn.hadoop2.cluster
192.168.31.109 cn.hadoop2.cluster.master
192.168.31.110 cn.hadoop2.cluster.slave1
192.168.31.111 cn.hadoop2.cluster.slave2
192.168.31.112 cn.hadoop2.cluster.slave3
192.168.31.113 cn.hadoop2.cluster.slave4
6、关闭防火墙、修改文件打开数量和用户最大进程数、关闭SElinux、服务机器之间的时间同步等。
搭建机器
搭建机器【按规划的配置划分cpu和内存】
#安装 VmWare SoftWare 【内置激活步骤】
#装载 CentOS-7-x86_64-Everything-2003.iso【内置安装详解】
为普通用户【daiyongjun】设置sudo权限,并使用普通用户登录
> su root
> *****【密码】
> chmod u+x /etc/sudoers
> vi /etc/sudoers
daiyongjun ALL=(root)NOPASSWD:ALL
> exit
> sudo chmod u-x /etc/sudoers
设置固定IP,默认是动态IP,防止重启后IP变更
#设置固定IP地址
> ifconfig
ens33 xxxxxxxxx
> cd /etc/sysconfig/network-scripts/
> ll | grep ens33
ifcfg-ens33
> vi ifcfg-ens33
#配置静态IP地址
BOOTPROTO=static # 使用静态IP地址,默认为dhcp
IPADDR=192.168.31.109 # 设置的静态IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.31.1 # 网关地址
DNS1=114.114.114.114 # DNS服务器(此设置没有用到,所以我的里面没有添加)
DNS2=8.8.8.8
ONBOOT=yes #设置网卡启动方式为 开机启动 并且可以通过系统服务管理器 systemctl 控制网卡
> sudo service network restart
永久修改主机名,并设置主机名与IP之间映射,后续使用主机名即可
> sudo vi /etc/hostname
cn.hadoop2.cluster.master
> sudo vi /etc/hosts
127.0.0.1 localhost cn.hadoop2.cluster.master localhost4 localhost4.localdomain4
::1 localhost cn.hadoop2.cluster.master localhost6 localhost6.localdomain6
> sudo vi /etc/hostname
cn.hadoop2.cluster.slave1
> sudo vi /etc/hosts
127.0.0.1 localhost cn.hadoop2.cluster.slave1 localhost4 localhost4.localdomain4
::1 localhost cn.hadoop2.cluster.slave1 localhost6 localhost6.localdomain6
> sudo vi /etc/hostname
cn.hadoop2.cluster.slave2
> sudo vi /etc/hosts
127.0.0.1 localhost cn.hadoop2.cluster.slave2 localhost4 localhost4.localdomain4
::1 localhost cn.hadoop2.cluster.slave2 localhost6 localhost6.localdomain6
> sudo vi /etc/hostname
cn.hadoop2.cluster.slave3
> sudo vi /etc/hosts
127.0.0.1 localhost cn.hadoop2.cluster.slave3 localhost4 localhost4.localdomain4
::1 localhost cn.hadoop2.cluster.slave3 localhost6 localhost6.localdomain6
> sudo vi /etc/hostname
cn.hadoop2.cluster.slave4
> sudo vi /etc/hosts
127.0.0.1 localhost cn.hadoop2.cluster.slave4 localhost4 localhost4.localdomain4
::1 localhost cn.hadoop2.cluster.slave4 localhost6 localhost6.localdomain6
关闭服务器防火墙,省去服务之间访问防火墙白名单设置【修改所有机器】
#关闭防火墙
> sudo systemctl status firewalld.service
> sudo systemctl stop firewalld.service
#永久关闭
> sudo systemctl disable firewalld.service
设置当前用户文件打开数量和用户最大进程数【修改所有机器】
#查看所有
> ulimit -a (ulimit -n) (ulimit -u)
open files (-n) 2048
max user processes (-u) 2048
> sudo vi /etc/security/limits.conf
* soft nofile 2048
* hard nofile 2048
* soft nproc 2048
* hard nproc 2048
> sudo reboot
关闭selinux
centos的所有访问权限都是有selinux来管理的,为了避免我们安装中由于权限关系而导致的失败,我们将其关闭
> /usr/sbin/sestatus –v
# 查看selinux的状态
# enabled【表示开启状态】
# disabled【修改成关闭状态】
SELinux status: enabled
> sudo vi /etc/selinux/config
SELINUX=disabled
# 在内存中关闭SElinux
> sudo setenforce 0
# 检查内存中状态
> getenforce
# 日志显示结果为disabled或者permissive
服务机器之间的时间同步
#找一台机器作为时间服务器【cn.hadoop2.cluster.master】
> sudo rpm -qa|grep -E 'ntp|ntpdate' ntp | grep ntpdate
ntpdate-4.2.6p5-29.el7.centos.2.x86_64
ntp-4.2.6p5-29.el7.centos.2.x86_64
> sudo yum install ntp ntpdate
> sudo rpm -qa|grep -E 'ntp|ntpdate' ntp | grep ntpdate
ntpdate-4.2.6p5-29.el7.centos.x86_64【已安装】
ntp-4.2.6p5-29.el7.centos.2.x86_64【已安装】
#配置ntp服务
> sudo vi /etc/ntp.conf
restrict 192.168.31.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
# 实现硬件时间与系统时间同步
> sudo vi /etc/sysconfig/ntpd
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
SYNC_HWCLOCK=yes
#开启ntpd服务
> sudo systemctl start ntpd
> sudo systemctl status ntpd
#永久开启
sudo systemctl disable chronyd.service
sudo systemctl enable ntpd.service
#登录其他机器,开启同步操作
> sudo crontab -l
> sudo crontab -e
# 分 时 日 月 周 cmd
*/5 * * * * ntpdate 192.168.31.109