初始化集群部署环境
前面几章我们分别完成了YUM本地源服务,DNS服务以及NTP服务的创建和配置,接下来我们要为集群中的所有主机配置这些基础服务,进一步还要进行安装部署前的环境初始化和检查。
- 设置主机名。
hostnamectl set-hostname server.daowoo.wh.com
- 设置静态的IP地址。
[root@server .ssh]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
NM_CONTROLLED=no
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.70.100
NETMASK=255.255.255.0
DEVICE=eth1
PEERDNS=no
#VAGRANT-END
- 设置系统语言区域和时区。
localectl set-locale LANG=en_US.utf8 #设备系统语言及区域
timedatectl set-timezone Asia/Shanghai #设置时区
timedatectl set-ntp yes
- 禁用防火墙。
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0 #临时关闭Selinux
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config #开机不启动Selinux
- 检查UMASK值。
UMASK值设置了用户在系统中创建新文件或文件夹时被授予的默权限或基本权限,大数据平台支持的umask值为022/0022和027/0027。集群中的所有主机均要利用umask命令检查或修改umask值。
[root@gw ~]# umask #查询umask值
0022
[root@gw ~]# umask 022 #设置umask值为022
- SSH免密登录。
在大数据平台部署过程中,为了让Server自动地在所有集群主机上安装Agent,必须在Server主机和其他所有主机之间设置无密码的ssh连接。这样Server主机就能够使用ssh公钥通过身份验证来访问和安装Agent。
在Server主机上生成ssh公钥和私钥。
ssh-keygen
[root@server ~]# ls -l ~/.ssh
total 12
-rw-------. 1 root root 409 May 3 02:56 authorized_keys
-rw-------. 1 root root 1679 May 11 08:54 id_rsa #私钥
-rw-r--r--. 1 root root 408 May 11 08:54 id_rsa.pub #公钥
将生成的ssh公钥复制到其他主机的/root/.ssh
目录。
scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/
在目标主机上将ssh公钥添加到authorized_keys
文件中。
cat id_rsa.pub >> authorized_keys
然后验证从Server中利用ssh登录目标主机,确保无需输入密码而能够正常登录。
ssh [email protected]
Are you sure you want to continue connecting (yes/no)? #第一登录会询问是否继续
- 系统DNS设置。
Centos7新增了NetworkManager来提供默认的网络服务,它是一个动态的网络控制和配置守护进程,在/etc/resolv.conf
中修改nameserver后,它会定期的恢复成初始值。所以,我们需要禁止NetworkManager定期恢复dns。
cat << eof > /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifcfg-rh
dns=none #禁止更新dns
[logging]
#level=DEBUG
#domains=ALL
eof
#重启NetworkManager服务
[root@server ~]# systemctl restart NetworkManager.service
#配置dns
cat << eof > /etc/resolv.conf
# Generated by NetworkManager
search bigdata.wh.com
nameserver 192.168.36.149
eof
- 在DNS服务器中为集群其他主机添加A记录和PTR记录。
[root@dns named]# cat bigdata.wh.com.zone
$TTL 600
$ORIGIN bigdata.wh.com.
@ IN SOA dns.bigdata.wh.com. admin.bigdata.wh.com. (
20170510
1H
5M
1W
10M )
IN NS dns
dns IN A 192.168.36.149
repo IN A 192.168.36.247 #区域内其他主机的A记录
proxy IN A 192.168.36.132
db IN A 192.168.36.101
server IN A 192.168.70.100
gw IN A 192.168.70.101
nn IN A 192.168.70.102
snn IN A 192.168.70.103
hive IN A 192.168.70.104
dn001 IN A 192.168.70.105
dn002 IN A 192.168.70.106
dn003 IN A 192.168.70.107
admin IN CNAME dns
* IN A 192.168.30.1
[root@dns named]# cat 168.192.in-addr.arpa.zone
$TTL 600
$ORIGIN 168.192.in-addr.arpa.
@ IN SOA dns.bigdata.wh.com. admin.bigdata.wh.com. (
20170510
1H
5M
1W
10M )
IN NS dns.bigdata.wh.com.
149.36 IN PTR dns.bigdata.wh.com.
247.36 IN PTR repo.bigdata.wh.com. #区域内其他主机的PTR记录
132.36 IN PTR proxy.bigdata.wh.com.
101.36 IN PTR db.bigdata.wh.com.
100.70 IN PTR server.bigdata.wh.com.
101.70 IN PTR gw.bigdata.wh.com.
102.70 IN PTR nn.bigdata.wh.com.
103.70 IN PTR snn.bigdata.wh.com.
104.70 IN PTR hive.bigdata.wh.com.
105.70 IN PTR dn001.bigdata.wh.com.
106.70 IN PTR dn002.bigdata.wh.com.
107.70 IN PTR dn003.bigdata.wh.com.
- 为集群其他主机设置Yum本地源。
备份系统默认源。
mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir /etc/yum.repos.d
下载之前创建的本地源repo文件,更新yum缓存
wget -O /etc/yum.repos.d/ambari.repo http://repo.bigdata.wh.com/resource/ambari-2.5.0.3.repo
yum clean all
yum repolist
- NTP时间同步。
安装Ntp,在Ntp Client客户端中配置本地Ntp Server的地址。
yum install -y ntp #安装ntpd服务
#设置ntp server地址,修改为内网ntp服务器
sed -i 's/server [0-3].centos.*/server repo.bigdata.wh.com/' /etc/ntp.conf
配置ntpd.service服务自启动。
[root@dns named]# systemctl enable ntpd.service
ln -s '/usr/lib/systemd/system/ntpd.service' '/etc/systemd/system/multi-user.target.wants/ntpd.service'
[root@server yum.repos.d]# systemctl restart ntpd.service
与本地的Ntp Server保持时钟同步。
[root@server yum.repos.d]# ntpdate -u repo.bigdata.wh.com
12 May 05:50:47 ntpdate[4136]: step time server 192.168.36.247 offset -3.068888 sec
[root@server yum.repos.d]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
repo.bigdata.wh 115.28.122.198 3 u 34 64 3 5.780 -3068.4 29.757
- 优化swap分区设置。
[root@centos7 ~]# sysctl -w vm.swappiness=0 #优先使用内存,减少与磁盘交互
vm.swappiness = 0
[root@centos7 ~]# echo "vm.swappiness = 0" >> /etc/sysctl.conf
- 删除版本冲突的包。
Centos7镜像中默认安装了高版本的snappy,hdp-util中使用的低版本的snappy,这会导致安装datanode client的时候出现版本冲突,我们先把高版本的snappy卸载掉,后续安装过程中再从本地源中下载并安装低版本。
yum erase -y snappy.x86_64