目录
一、集群ssh无秘钥登录
场景:试想集群里面的机器特别多的时候,一台一台的机器去启动HDFS和YARN的服务是特别费劲的。能否有办法在主节点能启动所有主节点和从节点的服务,而不需要通过sbin/hadoop-daemon.sh等类似命令去一台台的去启动和停止服务,本小节给你答案。
注意:如果hdfs和yarn的主节点不在同一台机器上,需要在hdfs的主节点机器和yarn的主节点机器各自生成公钥和秘钥,然后分发到节点机器。
- 公钥和秘钥的生成
ssh-keygen -t rsa
- 秘钥分发
# 格式:ssh-copy-id <hostname>
ssh-copy-id bigdata.centos01
ssh-copy-id bigdata.centos02
ssh-copy-id bigdata.centos03
- 测试
# 在centos01上无秘钥登录centos02
ssh bigdata.centos02
# 在主节点机器(centos01)上执行,停止主节点namenode和从节点datanode
sbin/stop-dfs.sh
测试结果如下:
二、集群时间同步
选取集群内一台机器作为时间服务器,其他机器定时去和时间服务器同步。此处选取centos01作为时间服务器。
1.时间服务器配置
- ntp服务
# 查看ntp服务状态
sudo service ntpd status
# 开启ntp服务
sudo service ntpd start
# 设置ntp服务开机自启
chkconfig ntpd on
- 修改时间服务器ntp的配置文件
vi /etc/ntp.conf
# 主要做如下修改
## 1、打开注释,修改网段,允许网段内的服务器从本机同步时间
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
## 2、注释掉从外网同步时间
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
## 3、打开注释,外部时间不可用时,以本地时间作为时间服务
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
#修改完配置文件,ntp服务重启
sudo service ntpd restart
- 时间矫正
date -s "2019-08-17 15:30:00"
2.从节点服务器配置
- 设置crontab定时任务
# 编辑crontab文件
crontab -e
# 增加如下命令,每10分钟去同步一次
*/10 * * * * /usr/sbin/ntpdate bigdata.centos01