在这个第二部分,我们配置ssh无密码验证登陆还有Java环境的配置,都是特别重要的步骤。
l SSH无密码验证配置
1. 确认已经安装了SSH和rsync
2. 在Master节点上生成密钥文件
执行完了第一条命令之后会提示时候按照默认的目录存放key,点击Enter之后效果如上图。
查看key文件是否已经生成:
3. 把id_rsa.pub追加授权的key里面。此时生成一个新的文件authorized_keys:
4. 修改authorized_keys文件的权限,为了安全取消其执行的权限,。
5. 配置SSH(需要使用root权限)
修改SSH配置文件“/etc/ssh/sshd_config”的内容。
然后修改里面的三个选项,把前面的注释符号“#”去掉即可,如下图:
然后重启SSH服务,退出root登陆,使用普通用户验证是否成功。
退出root登陆,可以从下图中可以得出无密码登陆本机已经设置完毕。
6. 把公钥复制到所有的Slave机器上。
7. 登陆Slave机器完成剩余的SSH配置。在Slave1上新建.ssh文件夹,并修改为700(只有属主有读、写、执行权限)
注:
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport
chown -R lamport:users*
-rw------- (600) -- 只有属主有读写权限。
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有属主有读、写、执行权限。
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
8. 追加授权文件到authorized_keys,追加完了之后记得删掉id_rsa.pub文件,因为你在配置其他节点的时候还会向本节点发送该文件,会发生冲突的。修改authorized_keys的权限为600.(非常重要)
9. 用root用户修改 /etc/ssh/sshd_config 修改完并且重启SSH服务
10. 最后验证Master使用SSH无密码登陆Slave1
照上面的方法修改Slave2的时候,
注:就因为没有修改.ssh为700和authorized_keys 为600造成SSH无密码登陆Slave2失败,所以这一步非常重要。
11. 用同样的方法,来设置Slave1、Slave2无密码登陆其他的机器,
12. 遇到的一个问题:
这个问题很是苦恼,该修改的权限也都修改了,同样的权限,在Slave2中就可以,但是在slave1中就是生成不了。
卸载掉selinux ,据说这个是os中selinux中的一个bug。
然后接着生成密钥对就成功了。
l 配置java环境,配置jdk
1. 首先第一步先下载rpm包需要用下面的命令才可以。网上也有很多介绍的,原因是由于Oracle.com网站的问题。
wget--no-cookies --no-check-certificate --header "Cookie:gpw_e24=http%3A%2F%2F"
2. 执行:rpm -ivh /usr/jdk-7u45-linux-i586.rpm
3. 配置环境变量:
进入root登陆,打开/etc/profile添加java变量。
4. 输入:java –version来检测结果,发现默认的jdk是openJDK是默认的java环境。
5. 然后要重新的install一下java和javac。修改jdk1.7.0_45作为最新的java环境。
在配置Slave2 的时候应该注意,其os为CentOS6.2_x64。所以配置其jdk的时候必须安装64位的jdk。其他的配置和之前的一样。