安装cms之前服务器设置的所有准备工作
操作系统配置
创建本地repo服务
创建本地yum源
新建 local.repo文件
vi /etc/yum.repos.d/local.repo
刷新缓存,使配置生效:
yum clean all
yum makecache
安装http服务
yum install httpd -y
打开http服务,开机自动启动服务
systemctl start httpd
systemctl enable httpd
拷贝ISO中的内容到http服务目录
ls /mnt/bdap/data/package
修改http配置文件:
vim /etc/httpd/conf.d/userdir.conf
添加配置:
Alias /data "/mnt/bdap/data/"
<Directory "/mnt/bdap/data/">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
重启生效
systemctl restart httpd
验证:(需要关闭防火墙和SELinux)
http://172.16.150.27/data/package/
出现以下界面成功
将刚才的yum进行卸载:
rm /etc/yum.repos.d/local.repo
vim /etc/yum.repos.d/os.repo
[os]
name=redhat
baseurl=http://172.16.150.27/data/package
enabled=1
gpgcheck=0
然后清理缓存,使配置生效:
yum clean all
yum makecache
http重启生效
systemctl restart httpd
设置cloudera 包安装目录
cd /mnt/bdap/data/cdh5.16/cm
createrepo .
然后清理缓存,使配置生效:
yum clean all
yum makecache
设置parcel服务目录设置
hostname和hosts文件检查
禁用防火墙
sh dist_run.sh all-hosts.list "yum install iptables-services -y"
sh dist_run.sh all-hosts.list "iptables -P INPUT ACCEPT;iptables -P FORWARD ACCEPT;iptables -P OUTPUT ACCEPT;iptables -t nat -F;iptables -t mangle -F;iptables -F;iptables -X;service iptables save"
sh dist_run.sh all-hosts.list "systemctl stop firewalld"
sh dist_run.sh all-hosts.list "systemctl disable firewalld"
禁用SELinux
sh dist_run.sh all-hosts.list "sed -i '#SELINUX=.*#SELINUX=disabled#g /etc/selinux/config' /etc/selinux/config"
sh dist_run.sh all-hosts.list "setenforce 0"
sh dist_run.sh all-hosts.list "sestatus"
ssh免密码登录
测试过后,验证了这个脚本只是MN到所有节点免密登录
同步repo配置文件
删掉redhat.repo 备份为redhat.repo.bak
os.repo cm.repo 分发到所有节点
初始化yum源
禁用防火墙
禁用交换分区
检查ipv4的forward配置
时间同步ntp服务
修改配置文件,添加开机启动。 吧配置文件分发给所有节点
/etc/chrony.conf配置文件
查看时间同步情况
设置硬件时间,启动时间同步 时钟服务器校准
安装mysql
解压mysql并安装
关闭mysql开机启动,拷贝配置文件
mysql初始化
创建数据库并授权
设置mysql驱动
安装Kerberos服务
服务端安装服务
主节点是 bdap-mn-1.exp.yoyosys.com,从节点是 bdap-dn-1.exp.yoyosys.com
在bdap-mn-1.exp.yoyosys.com和bdap-dn-1.exp.yoyosys.com节点安装kerberos server,并修改kdc.conf
sh dist_run.sh mn.list "yum install -y krb5-server.x86_64 krb5-workstation"
#配置/var/kerberos/krb5kdc/kdc.conf
cp /mnt/bdap/software/kerberos/kdc.conf /var/kerberos/krb5kdc/kdc.conf
查看配置文件内容如下:
[kdcdefaults]
kdc_ports = 750,88
[realms]
EXP.YOYOSYS.COM = {
database_name = /var/kerberos/krb5kdc/principal
admin_keytab = FILE:/var/kerberos/krb5kdc/kadm5.keytab
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /var/kerberos/krb5kdc/kadm5.dict
key_stash_file = /var/kerberos/krb5kdc/.k5.EXP.YOYOSYS.COM
kdc_ports = 750,88
kdc_tcp_ports = 750,88
max_life = 1d
max_renewable_life = 7d
default_principal_flags = +renewable, +forwardable
}
[libdefaults]
supported_enctypes = aes256-cts-hmac-sha1-96:normal aes128-cts-hmac-sha1-96:normal arcfour-hmac-md5:normal des3-cbc-sha1:normal
[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
在所有节点上创建kerberos日志目录
sh dist_run.sh all-hosts.list "mkdir -p /var/log/krb5/"
客户端安装
#所有节点安装client
sh dist_run.sh all-hosts.list "yum install -y mariadb-libs krb5-workstation.x86_64"
配置/etc/krb5.conf
cp /mnt/bdap/software/kerberos/krb5.conf /etc/krb5.conf
[libdefaults]
default_realm = EXP.YOYOSYS.COM
dns_lookup_kdc = false
dns_lookup_realm = false
ticket_lifetime = 86400
renew_lifetime = 604800
forwardable = true
default_tgs_enctypes = aes256-cts-hmac-sha1-96 des3-cbc-sha1 arcfour-hmac-md5 aes128-cts-hmac-sha1-96
default_tkt_enctypes = aes256-cts-hmac-sha1-96 des3-cbc-sha1 arcfour-hmac-md5 aes128-cts-hmac-sha1-96
permitted_enctypes = aes256-cts-hmac-sha1-96 des3-cbc-sha1 arcfour-hmac-md5 aes128-cts-hmac-sha1-96
udp_preference_limit = 1
kdc_timeout = 3000
[realms]
EXP.YOYOSYS.COM = {
kdc = bdap-mn-1.exp.yoyosys.com
admin_server = bdap-mn-1.exp.yoyosys.com
}
[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
default = SYSLOG:NOTICE:DAEMON
分发至其他节点
sh sendAll.sh /etc/krb5.conf /etc/krb5.conf all-hosts.list
服务端ACL设置
在bdap-mn-1.exp.yoyosys.com修改/var/kerberos/krb5kdc/kadm5.acl
cp /mnt/bdap/software/kerberos/kadm5.acl /var/kerberos/krb5kdc/kadm5.acl
*/admin@EXP.YOYOSYS.COM *
Kerberos 服务初始化
kdb5_util create -s
Kerberos服务启动
在mn-1启动kdc服务
systemctl start krb5kdc.service
systemctl start kadmin.service
#验证服务端登录:
kadmin.local
创建cloudera Kerberos 用户
kadmin.local
modprinc -maxrenewlife 1week krbtgt/EXP.YOYOSYS.COM@EXP.YOYOSYS.COM
addprinc -pw bdap1234 cloudera/admin@EXP.YOYOSYS.COM
modprinc -maxrenewlife 1week cloudera/admin@EXP.YOYOSYS.COM
Kerberos 主从配置
安装从节点服务,拷贝配置
复制mn-1配置文件到从节点
cd /var/kerberos/krb5kdc/
scp -r kadm5.acl kdc.conf .k5.EXP.YOYOSYS.COM root@bdap-dn-1.exp.yoyosys.com:/var/kerberos/krb5kdc/
创建同步账号
kadmin.local
addprinc -randkey host/bdap-mn-1.exp.yoyosys.com@EXP.YOYOSYS.COM
addprinc -randkey host/bdap-dn-1.exp.yoyosys.com@EXP.YOYOSYS.COM
ktadd host/bdap-mn-1.exp.yoyosys.com@EXP.YOYOSYS.COM
ktadd host/bdap-dn-1.exp.yoyosys.com@EXP.YOYOSYS.COM
拷贝同步账户信息到客户端
生成的keytab将被放在/etc/krb5.keytab内,将其也拷贝到 slave节点上
scp -r /etc/krb5.keytab root@bdap-dn-1.exp.yoyosys.com:/etc
在bdap-dn-1.exp.yoyosys.com创建/var/kerberos/krb5kdc/kpropd.acl,将上面创建的 host的principal
加入到这个文件中。
vim /var/kerberos/krb5kdc/kpropd.acl
host/bdap-mn-1.exp.yoyosys.com@EXP.YOYOSYS.COM
host/bdap-dn-1.exp.yoyosys.com@EXP.YOYOSYS.COM
在bdap-dn-1.exp.yoyosys.com启动kpropd服务
systemctl start kprop
principal数据同步
在Master服务器上导出 kerberos上的 principal,使用 kprop命令将导出文件同步到slave上。
在mn-1
kdb5_util dump /var/kerberos/krb5kdc/slave_datatrans
kprop -r EXP.YOYOSYS.COM -f /var/kerberos/krb5kdc/slave_datatrans -d -P 754 bdap-dn-1.exp.yoyosys.com
dn-1 多出一些文件
查看同步后的principal(手工验证,实际是VCS切换)
在Slave节点上尝试启动 kdc和 kadmin,可以正常启动,并且可以使用 kadmin查看当前同步过来的 principal。
dn-1
systemctl stop kprop
cd /var/kerberos/krb5kdc/
mv kpropd.acl kpropd.acl.bak
scp -r kpropd.acl.bak bdap-mn-1.exp.yoyosys.com:/var/kerberos/krb5kdc
尝试启动备节点dn1上的kdc和kadmin服务
systemctl start krb5kdc.service
systemctl start kadmin.service
验证后服务重启
验证成功后,停止 kdc 和 kadmin,改回 kprop.acl 文件,重新启动 kpropd 准备同步。
mn1,先切换走IP
systemctl stop krb5kdc.service
systemctl stop kadmin.service
cd /var/kerberos/krb5kdc/
mv kpropd.acl.bak kpropd.acl
systemctl start kprop
systemctl start krb5kdc.service
此时在Master dn1节点上,重新使用 kprop同步,会发现同步可以正常进行。
cd /var/kerberos/krb5kdc/
mv kpropd.acl kpropd.acl.bak
systemctl start krb5kdc.service
systemctl start kadmin.service
kdb5_util dump /var/kerberos/krb5kdc/slave_datatrans
kprop -r EXP.YOYOSYS.COM -f /var/kerberos/krb5kdc/slave_datatrans -d -P 754 bdap-mn-1.exp.yoyosys.com
显示以上内容 则表示成功
使用非主从节点验证每个客户端:保证在执行启动Kerberos时不出错
kadmin -r EXP.YOYOSYS.COM -p cloudera/admin@EXP.YOYOSYS.COM
能够看到用户就算成功了
LDAP安装和配置
在对LDAP服务进行配置。首先拷贝配置
启动ldap服务
重置密码
拷贝ldif文件,并修改配置文件
mn-1
dn-1
mn-1和dn-1导入配置
导入基本Schema模式
设置domain
dn-1配置文件出错修改过后 执行成功
设置basedomain
检查
设置系统缺省创建用户权限
修改 /etc/pam.d/system-auth
同步到其他节点
设置主从
Syncprov设置
mn-1上执行命令
添加olcServerID
dn-1上执行命令
在mn1上执行
验证
在mn1上执行
Ldapsearch查看返回的序列号是否一致
编辑添加用户脚本
mkdir /etc/openldap/data
cp /mnt/bdap/software/ldap/data/*.ldif /etc/openldap/data
ldapadd -D "cn=Manager,dc=exp,dc=yoyosys,dc=com" -W -x -f /etc/openldap/data/app1.ldif
验证结果
ldapsearch -x -b "dc=exp,dc=yoyosys,dc=com" -H ldap://bdap-mn-1.exp.yoyosys.com
客户端安装配置
安装客户端:
sh dist_run.sh all-hosts.list "yum install -y openldap-clients nss-pam-ldapd"
执行修改命令
sh dist_run.sh all-hosts.list "authconfig --enableforcelegacy --update"
sh dist_run.sh all-hosts.list 'authconfig --enableldap --enableldapauth --ldapserver="bdap-mn-1.exp.yoyosys.com" --ldapbasedn="dc=exp,dc=yoyosys,dc=com" --update'
sh dist_run.sh all-hosts.list "authconfig --enableldaptls --update"
sh dist_run.sh all-hosts.list "authconfig --enablemkhomedir --update"
测试客户端是否配置成功:
sh dist_run.sh all-hosts.list "ldapsearch -x -b \"dc=exp,dc=yoyosys,dc=com\"|grep dn"
在mn-1主节点上执行如下操作:
vim /etc/nslcd.conf
注释如下内容:
# ssl start_tls
# tls_cacertdir /etc/openldap/cacerts
分发文件到所有节点:
sh sendAll.sh /etc/nslcd.conf /etc/nslcd.conf all-hosts.list
重启服务
HAProxy安装
修改配置文件 etc/haproxy/haproxy.cfg
启动服务、关闭开机启动
haproxy服务安装检查