初始化集群部署环境

前面几章我们分别完成了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

results matching ""

    No results matching ""