CDH安装环境预准备
CDH安装环境预准备
step 1.检查是否安装了ntp相关包
[laowang@cdh201 ~]$ rpm -qa | grep ntp
fontpackages-filesystem-1.44-8.el7.noarch
python-ntplib-0.3.2-1.el7.noarch
ntpdate-4.2.6p5-22.el7.centos.x86_64
step 2.安装NTP【集群上的每一台机器都需要安装】
#!/bin/bash
for HOST in `cat hosts`
do
echo "install ntp"
ssh -t laowang@$HOST "sudo yum -y install ntp"
ssh -t laowang@$HOST "sudo systemctl enable ntpd"
ssh -t laowang@$HOST "sudo systemctl start ntpd"
done
注意事项:
(1)如果不是root用户,那么在安装软件的时候,必须使用sudo选项,否则会出现access denied。如果是root用户,则不能使用sudo
(2)echo “install ntp” 这个表达式只是打印语句,别无其他!
step 3.设置ntp服务器:[与外部公共的ntpd同步(标准时间)]
ntpdate -u cn.pool.ntp.org
编写shell脚本
#!/bin/bash
for HOST in `cat hosts`;do
ssh -t laowang@$HOST "sudo ntpdate -u cn.pool.ntp.org"
done
注意事项:
(1)NTP 是网络时间协议(Network Time Protocol)的简称。通过网络协议使计算机之间的时间同步化
(2)ntpq用来监视ntpd操作,ntpq -p查询网络中的NTP服务器,同时显示客户端和每个服务器的关系
step 4.安装kerberos Server
在10.22.5.103机器上
命令:yum install krb5-server krb5-libs krb5-auth-dialog
KDC的主机必须非常自身安全,一般该主机只运行KDC程序。本文中我们选择vmw201作为运行KDC的主机。在安装完上述的软件之后,会在KDC主机上生成配置文件/etc/krb5.conf和/var/kerberos/krb5kdc/kdc.conf,它们分别反映了realm name 以及 domain-to-realm mappings。
注意事项:
(1)设置的kerberos的数据库密码是:bilaowang
(2)kerberos的数据库管理员密码:bilaowang
(3)kerberos服务器端应该装在配置了免密的那台机器上,只有这样,在安装kerberos客户端的时候,就不需要输入密码了。
step 5.安装kerberos客户端
将kerberos服务端装在10.22.5.103机器上。其它机器就用作kerberos的客户端安装。因为105-108的机器性能较差,将其作为kafka集群建设。
#!/bin/bash
for HOST in `cat hosts`
do
echo $HOST
echo "check NTP"
ssh -t laowang@$HOST "sudo ntpq -p"
echo "install kerberos"
ssh -t laowang@$HOST "sudo yum install -y krb5-libs krb5-workstation"
scp -p /etc/krb5.conf laowang@$HOST:/tmp
ssh -t laowang@$HOST "sudo cp -p /tmp/krb5.conf /etc"
ssh -t laowang@HOST "sudo chmod 644 /etc/krb5.conf"
ssh -t laowang@HOST "sudo chown root:root /etc/krb5.conf"
done
step 6.关闭大页【即关闭透明大页】
#!/bin/bash
for HOST in `cat hosts`
do
echo $HOST
ssh -t laowang@$HOST "sudo bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'"
ssh -t laowang@$HOST "sudo bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'"
ssh -t laowang@$HOST "sudo cat /sys/kernel/mm/transparent_hugepage/defrag"
ssh -t laowang@$HOST "sudo cat /sys/kernel/mm/transparent_hugepage/enabled"
echo "add THP to rc.d" $HOST
ssh -t laowang@$HOST "sudo bash -c echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local"
ssh -t laowang@$HOST "sudo grep -i HugePages_Total /proc/meminfo"
done
注意事项:
(1)标准大页(Huge Pages)是从Linux Kernel 2.6后被引入的。目的是使用更大的内存页面(memory page size) 以适应越来越大的系统内存,让操作系统可以支持现代硬件架构的大页面容量功能。
(2)透明大页(Transparent Huge Pages)缩写为THP,这个是RHEL 6开始引入的一个功能。
大页的分配机制,标准大页管理是预分配的方式,而透明大页管理则是动态分配的方式
(3)cat /sys/kernel/mm/transparent_hugepage/enabled
(4)vi /etc/default/grub[针对centos 7版本]
(5)/sys/kernel/mm/transparent_hugepage/defrag与/sys/kernel/mm/transparent_hugepage/enabled这两个文件只能输入值always或者never。否则报错,测试如下:
[root@littlelawson rc.d]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
[root@littlelawson rc.d]# echo never >> /sys/kernel/mm/transparent_hugepage/defrag
[root@littlelawson rc.d]# cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
[root@littlelawson rc.d]# echo ndfsdfsdfever >> /sys/kernel/mm/transparent_hugepage/defrag
-bash: echo: write error: Invalid argument
step 7.安装sssd
(1)切换到当前目录:cd
(2)新建一个文件sssd.conf,内容如下:
[sssd]
config_file_version=2
services=nss,pam
domains=default
[nss]
filter_users=root,ldap
[pam]
[domain/default]
auth_provider=ldap
id_provider=ldap
chpass_provider=ldap
ldap_schema=rfc2307
ldap_uri=ldap://10.22.5.102:389
ldap_search_base=dc=enmonster,dc=storage
ldap_access_filter=(&(objectclass=dcObject)(objectclass=organization))
ldap_tls_reqcert=never
ldap_id_use_start_tls=False
ldap_tls_cacertdir=/etc/openldap/certs
cache_credentials=True
entry_cache_timeout=600
ldap_network_timeout=3
(3)编写如下脚本用以在节点安装:vi installSSSD.sh
for HOST in `cat hosts`
do
echo "install sssd"
ssh -t laowang@$HOST "sudo yum install -y mlocate sssd authconfig"
ssh -t laowang@$HOST "sudo authconfig --enablesssd --enablesssdauth --enablelocauthorize --enablemkhomedir --update"
scp sssd.conf laowang@$HOST:/tmp
ssh -t laowang@$HOST "sudo cp /tmp/sssd.conf /etc/sssd/sssd.conf"
ssh -t laowang@$HOST "sudo chmod 600 /etc/sssd/sssd.conf"
ssh -t laowang@$HOST "sudo systemctl enable sssd"
ssh -t laowang@$HOST "sudo systemctl restart sssd"
ssh -t laowang@$HOST "sudo systemctl status sssd"
ssh -t laowang@$HOST "sudo chkconfig sssd on"
done
step 8.OS limit调大
#!/bin/bash
for HOST in `cat hosts`
do
echo "max open file limit"
ssh -t laowang@$HOST "sudo bash -c 'echo ulimit -n 131070 >> /etc/profile'"
ssh -t laowang@$HOST "sudo bash -c 'echo soft nofile 131070 >> /etc/security/limits.conf'"
ssh -t laowang@$HOST "sudo bash -c 'echo hard nofile 131070 >> /etc/security/limits.conf'"
ssh -t laowang@$HOST "sudo sed -i "s/81920/unlimited/g" /etc/security/limits.d/20-nproc.conf"
done
注意事项:
(1)centos 7中是20-nproc.conf
(2)这里要使用bash -c参数,否则报错
step 9.LDAP 安装
01.LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。
02.编写脚本vi installLDAP.sh
#!/bin/bash
for HOST in `cat hosts`
do
echo "install ldap rpm"
ssh -t laowang@$HOST "sudo yum install -y openldap openldap-* compat-openldap migrationtolls"
ssh -t laowang@$HOST "sudo systemctl stop firewalld"
ssh -t laowang@$HOST "sudo systemctl start slapd"
ssh -t laowang@$HOST "sudo systemctl enable slapd"
ssh -t laowang@$HOST "rpm -qa | grep ldap"
ssh -t laowang@$HOST "sudo slapd -VV"
ssh -t laowang@$HOST "sudo systemctl status slapd"
ssh -t laowang@$HOST "sudo cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG"
ssh -t laowang@$HOST "sudo chown ldap:ldap -R /var/lib/ldap"
ssh -t laowang@$HOST "sudo chmod 700 -R /var/lib/ldap"
ssh -t laowang@$HOST "sudo ll /var/lib/ldap"
ssh -t laowang@$HOST "sudo slappasswd -s bilaowang"
done
03.为其它机器安装client
#!/bin/bash
for HOST in `cat hosts`
do
ssh -t root@$HOST "sudo yum -y install openldap-clients"
done;
注意事项:
(1)ssh -t laowang@
HOST“sudoecho\”echonever>/sys/kernel/mm/transparenthugepage/defrag\”>>/etc/rc.d/rc.local”的意思是:将echonever>/sys/kernel/mm/transparenthugepage/defrag这条命令导入到/etc/rc.d/rc.local这个文件中。其实这条命令也可以写成如下这个样子:ssh−tlaowang@
H
O
S
T
“
s
u
d
o
e
c
h
o
\”
e
c
h
o
n
e
v
e
r
>
/
s
y
s
/
k
e
r
n
e
l
/
m
m
/
t
r
a
n
s
p
a
r
e
n
t
h
u
g
e
p
a
g
e
/
d
e
f
r
a
g
\”
>>
/
e
t
c
/
r
c
.
d
/
r
c
.
l
o
c
a
l
”
的
意
思
是
:
将
e
c
h
o
n
e
v
e
r
>
/
s
y
s
/
k
e
r
n
e
l
/
m
m
/
t
r
a
n
s
p
a
r
e
n
t
h
u
g
e
p
a
g
e
/
d
e
f
r
a
g
这
条
命
令
导
入
到
/
e
t
c
/
r
c
.
d
/
r
c
.
l
o
c
a
l
这
个
文
件
中
。
其
实
这
条
命
令
也
可
以
写
成
如
下
这
个
样
子
:
s
s
h
−
t
l
a
o
w
a
n
g
@
HOST “sudo echo ‘echo never > /sys/kernel/mm/transparent_hugepage/defrag’ >> /etc/rc.d/rc.local”
(2)那么/etc/rc.d/rc.local又是什么呢?可以使用cat命令查看一下:
[root@littlelawson rc.d]# cat rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
这个rc.local文件【其实是一个shell脚本】的意思就是:这个脚本将在所有其他init脚本【应该是系统初始化类脚本】之后执行。你可以把你自己的初始化的东西放在这里,如果你不想做完整的系统v样式的init脚本。
stuff:材料—>脚本
(3)验证LDAP是否正常启动,其端口号是389。Verify the LDAP。使用命令:netstat -antup | grep -i 389
(4)因为openldap有很多依赖包,所以千万不能使用–nodeps删除包,正确的删除报的命令及顺序如下:
[root@server5 openldap]# rpm -e openldap-servers-sql-2.4.44-15.el7_5.x86_64
[root@server5 openldap]# rpm -e compat-openldap-2.3.43-5.el7.x86_64
[root@server5 openldap]# rpm -qa |grep openldap
openldap-2.4.44-15.el7_5.x86_64
openldap-servers-2.4.44-15.el7_5.x86_64
openldap-clients-2.4.44-15.el7_5.x86_64
openldap-devel-2.4.44-15.el7_5.x86_64
[root@server5 openldap]# rpm -e openldap-servers-2.4.44-15.el7_5.x86_64
[root@server5 openldap]# rpm -e openldap-clients-2.4.44-15.el7_5.x86_64
[root@server5 openldap]# rpm -e openldap-devel-2.4.44-15.el7_5.x86_64
[root@server5 openldap]# rpm -e openldap-2.4.44-15.el7_5.x86_64
相关文章
- CentOS7离线安装gcc
- Python:whl文件是神?如何安装whl文件?
- deepin自带wine使用方法_ubuntu安装deepin桌面环境
- linux 安装 node_手机安装node环境
- Adobe Acrobat 9 Pro安装破解法(附下载地址)-所有版本的Acrobat PDF编辑器
- 生信学习小组Day 3-Linux环境下的软件安装
- Win10 环境下安装Tesseract-OCR与Python集成识别
- 【MySQL入门】MySQL安装及环境搭建(详细简单)
- 一步步编译安装Kubernetes之介绍和环境准备
- 环境安装Linux 中高性能计算的MPICH2安装配置(mpich2linux)
- 「Linux环境下液晶显示屏的安装与使用」(linux液晶屏)
- Linux下安装Xorg环境的指南(linuxxorg)
- 如何在一个U盘上安装多个Linux发行版
- 自动安装的应答文件
- Redis教程系列(1):Redis 安装
- Mysql在X64环境下的安装配置(mysql+x64+安装)
- Linux系统配置下快速安装php环境(linux安装php环境)
- Oracle系统典型安装与配置指南(oracle典型安装配置)
- MySQL安装一步一步操作走向成功(cent mysql安装)
- 轻松安装Oracle数据库Node环境下操作指南(node安装oracle)
- 2003年Oracle数据库环境安装(2003安装oracle)
- MongoDB学习笔记(一)MongoDB介绍与安装方法