NFS+SSH的應(yīng)用主要是解決Hadoop集群更換公鑰的麻煩。
在晉安等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站制作,晉安網(wǎng)站建設(shè)費(fèi)用合理。
一、NFS配置
1.安裝
[root@kry132 ~]# yum -y install rpcbind nfs-utils
rpcbind:用于通信
nfs-utils:nfs程序
2.創(chuàng)建共享目錄
[root@kry132 ~]# mkdir /data/nfsdata
[root@kry132 ~]#chown hadoop.hadoop /data/nfsdata/
3.配置nfs
[root@kry132 ~]# vim /etc/exports
添加以下內(nèi)容:
/data/nfsdata 192.168.0.135(rw,sync) |
如果需要指定用戶,還需要加入all_squash,anonuid=502,anongid=502。
注意服務(wù)端跟客戶端用戶的UID跟GID必須一致。比如服務(wù)端一個(gè)用戶為abc,uid跟gid都為502,那么客戶端也應(yīng)該存在一個(gè)abc的用戶,uid跟gid也為502.
4.啟動(dòng)服務(wù)
[root@kry132 ~]# /etc/init.d/rpcbind start
[root@kry132 ~]# /etc/init.d/nfs start
5.設(shè)置開(kāi)機(jī)啟動(dòng)
[root@kry132 ~]# chkconfig --level 35 rpcbind on
[root@kry132 ~]# chkconfig --level 35 nfs on
6.查看共享目錄(客戶端)
[root@Kry135 ~]# showmount -e 192.168.0.132
Export list for 192.168.0.132:
/data/nfsdata 192.168.0.135
二、SSH配置
1.安裝ssh
[root@kry132 ~]#yum -y install openssh-server openssh-clients
2.配置
[root@kry132 ~]#vim /etc/ssh/sshd_config
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys |
3.生成密鑰
[root@kry132 ~]#ssh-keygen -t rsa
4.修改公鑰
[root@kry132 ~]#cd .ssh
[root@kry132 .ssh]# cat id_rsa.pub >> authorized_keys
[root@kry132 .ssh]# chown hadoop.hadoop authorized_keys
[root@kry132 .ssh]# chmod 600 authorized_keys
5.將公鑰放到NFS共享目錄
[root@kry132 .ssh]# cp -p authorized_keys /data/nfsdata/
三、客戶端配置
1.安裝ssh
[root@Kry135 ~]#yum -y install openssh-server openssh-clients
2.配置
[root@Kry135 ~]#vim /etc/ssh/sshd_config
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys |
3.創(chuàng)建nfs共享目錄
[root@Kry135 ~]#mkdir /data/nfsdata/
[root@Kry135 ~]#chown hadoop.hadoop /data/nfsdata/
4.掛載NFS共享目錄
[root@Kry135 ~]# mount -t nfs 192.168.0.132:/data/nfsdata /data/nfsdata
5.創(chuàng)建公鑰存放目錄
[root@Kry135 ~]# mkdir /home/hadoop/.ssh
[root@Kry135 ~]# chown hadoop.hadoop /home/hadoop/.ssh/
[root@Kry135 ~]# chmod 700 /home/hadoop/.ssh/
注意:如果切換到hadoop用戶操作就不需要更改用戶所屬主群主
6.創(chuàng)建軟連接
[root@Kry135 ~]# ln -s /data/nfsdata/authorized_keys /home/hadoop/.ssh/authorized_keys
四、測(cè)試
1.關(guān)閉selinux
[root@Kry135 ~]#setenfore 0
[root@Kry135 ~]#vim /etc/selinux/config
SELINUX=permissive 或 disabled |
注意:客戶端也需要關(guān)閉,執(zhí)行以上相同操作
2.配置NFS固定端口
[root@Kry135 ~]#vim /etc/service(端口號(hào)必須在1024以下,且未被占用)
mountd 1011/tcp #rpc.mountd mountd 1011/udp #rpc.mountd rquotad 1012/tcp #rpc.rquotad rquotad 1012/udp #rpc.rquotad |
重啟nfs服務(wù)后,端口即固定了。
和nfs相關(guān)的端口有:
portmap 111
nfsd 2049
mountd 1011
rquotad 1012
注意:然后在服務(wù)端跟客戶端配置iptables放行端口,如果只是測(cè)試直接關(guān)閉iptabls即可。
3.測(cè)試免密登錄
[hadoop@kry132 ~]$ ssh hadoop@192.168.0.135
Last login: Thu Aug 4 18:08:31 2016 from slave.hadoop
4.測(cè)試免密傳輸文件
[root@kry132 ~]# su - hadoop
[hadoop@kry132 ~]$ scp test.txt hadoop@192.168.0.135:/home/hadoop/
test.txt 100% 13 0.0KB/s 00:00
測(cè)試登錄跟文件傳輸都沒(méi)有要求輸入密碼,說(shuō)明NFS+SSH搭建成功!
擴(kuò)展內(nèi)容
1.nfs優(yōu)化
[root@kry132 ~]#vim /etc/init.d/nfs
[ -z "$RPCNFSDCOUNT" ] && RPCNFSDCOUNT=8 修改為 [ -z "$RPCNFSDCOUNT" ] && RPCNFSDCOUNT=32 |
默認(rèn)的內(nèi)核參數(shù)為:
cat /proc/sys/net/core/rmem_default
229376
cat /proc/sys/net/core/rmem_max
229376
cat /proc/sys/net/core/wmem_default
229376
cat /proc/sys/net/core/wmem_max
229376
修改為:
echo 262144 > /proc/sys/net/core/rmem_default - 最大的TCP數(shù)據(jù)接收緩沖
echo 262144 > /proc/sys/net/core/rmem_max - 最大的TCP數(shù)據(jù)發(fā)送緩沖
echo 262144 > /proc/sys/net/core/wmem_default - 默認(rèn)的發(fā)送窗口大小
echo 262144 > /proc/sys/net/core/wmem_max - 發(fā)送窗口的最大大小