0.集群规划
说明:由于CDH可以方便的动态添加删除主机,动态改变主机上的服务,所以后面再对各机器上跑得服务进行分配。共三台机器
操作系统: centos6.5
机器名:work01、work02、work03
work03运行Cloudera Manager
1.关闭防火墙 和 SELinux
说明:如果不关闭,集群间通信可能会出问题,造成服务不能正常启动。生产环境如果要做为在线服务还是需要。
1.1 关闭防火墙:
service iptables stop (临时关闭)
chkconfig iptables off(重启后生效)
1.2 关闭SELINUX:
setenforce 0 (临时生效)(这个方法我没有运行成功)
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效 )该方法测试有效。
查看selinux状态:/usr/sbin/sestatus -v
注意:三台机器都需要进行相同操作
2. FQDN 修改主机名
说明:a. 三台机器都需要进行相同操作
b./etc/sysconfig/network 配置对应的主机名
c./etc/hosts 三台机器内容相同,来实现三台机器相互可以通过主机名访问
d. 如果机器较多可以通过配置DNS服务器来解析主机名
1)修改/etc/sysconfig/network文件
NETWORKING=yes
HOSTNAME=work01
2)修改/etc/hosts文件
192.168.1.185 work01 work01
192.168.1.141 work02 work02
192.168.1.198 work03 work03
3)重启网络服务后生效:service network restart
测试中重启网络服务会断网,而且不会自动连接,需要点击一下连接图标才能再次连接,请谨慎操作
3. 集群间机器无密码ssh登录
说明:
a. 机器之间会通过ssh拷贝一些文件,发送一些服务启动命令,建立集群间的无密码ssh登录,不用你每次启动服务都输入一大堆密码了。
b. 貌似Cloudera Manager已经管理登录密码了,这一步可能可以跳过,感兴趣的可以试试。
c. ssh无密码登录原理是生成一对公钥和密钥,把公钥给别人,别人就可有无密码访问自己了。比如A把生成的公钥给B那B就可以无密码访问A了。
d.生成的公钥为id_rsa.pub,将要访问的机器公钥保存在authorized_keys文件中
e.为了保存多台机器的公钥,以追加的方式添加到authorized_keys中
1)work01机器上切换root帐号
su
2)生成root帐号在work01上的密钥和公钥
ssh-keygen -t rsa
一路回车下去生成公钥id_rsa.pub和密钥id_rsa
3)生成root帐号在work02、work03上的密钥和公钥
4)将work02和work03上的公钥文件拷贝到work01上
[root@work02 ~]#scp ~/.ssh/id_rsa.pub root@work01:~/.ssh/work02.pub
[root@work03 ~]# scp ~/.ssh/id_rsa.pub root@work01:~/.ssh/work03.pub
拷贝时注意区分文件名
5)将work01、work02和work03三台机器的公钥都加入work01的authorized_keys文件中
catid_rsa.pub >>authorized_keys