1. 文件下载
CDH 安装使用到的相关文件:链接: https://pan.baidu.com/s/1xDQD1Sa8s47Qiu_EFYdhUA?pwd=5mrt 提取码: 5mrt
2. 机器基础调整
所有机器都需要执行下面所有的步骤。
2.1. 准备机器
至少三台2核16G机器。
2.1.1. ECS 服务器
如果买的是 ECS 服务器,则需要:
修改 /etc/cloud/templates/hosts.redhat.tmpl 文件中的 manage_etc_hosts 为 False
vim /etc/cloud/templates/hosts.redhat.tmpl
删除 /etc/cloud/cloud.cfg 文件中 manage_etc_hosts 这一行配置
vim /etc/cloud/cloud.cfg
2.2. hosts⽂件
101.200.233.33 hadoop01
112.126.56.59 hadoop02
39.96.39.79 hadoop03
这里配置的是外网地址,如果是公司内部机器,配置内网地址即可。
所有节点都要配置,新加入节点之后,也要所有节点信息都配置上。
2.3. 防⽕墙
systemctl stop firewalld
systemctl disable firewalld
iptables -F
systemctl status firewalld
2.4. selinux
vim /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled,修改完成后重启生效。
运行以下命令,不用重启即可生效:
setenforce 0
查看状态 getenforce
2.5. 时区
查看当前时区设置
timedatectl
设置亚洲上海时区
timedatectl set-timezone Asia/Shanghai
2.6. 时钟同步
所有节点安装 ntp 服务
yum install -y ntp
新版本自带的配置文件已经设置好了很多可用的网络时钟同步服务器,以及网络丢失时,仍然可以使用硬件时间提供给其他节点进行时钟同步。
开启ntpd及查看状态
systemctl enable ntpd
systemctl restart ntpd
systemctl status ntpd
验证时间是否同步
ntpq -p
如果使用的是云主机,可能会出现以下错误
localhost: timed out, nothing received
Request timed out
可以关闭 ipv6,然后再次验证时间是否同步。关闭 ipv6 步骤如下:
永久关闭ipv6
在 /etc/sysctl.conf 中添加如下参数
vim /etc/sysctl.conf
# 禁用整个系统所有接口的IPv6,可以只简单的设置这一个参数,用来关闭所有接口的 IPv6
net.ipv6.conf.all.disable_ipv6 = 1
# 禁用某一个指定接口的IPv6(例如:eth0, eth1)
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.eth1.disable_ipv6 = 1
2.7. 设置swap空间
临时修改
sysctl vm.swappiness=0
# 查看是否修改成功
cat /proc/sys/vm/swappiness
永久修改
echo 'vm.swappiness=0' >> /etc/sysctl.conf
# 执行以下命令,可以让修改立即生效
sysctl -p
Cloudera建议将交换空间设置为0,过多的交换空间会引起GC耗时的激增。
2.8. 关闭大页面压缩
临时生效
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久生效
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
给该文件赋予执行权限
chmod +x /etc/rc.local