设为首页 收藏本站
查看: 830|回复: 0

[经验分享] 正式生产环境下hadoop集群的DNS+NFS+ssh免密码登陆配置

[复制链接]

尚未签到

发表于 2018-10-31 07:40:16 | 显示全部楼层 |阅读模式
  环境虚拟机centos6.5
  主机名h1  IP 192.168.137.11  作为DNS FNS的服务器
  主机名h2  IP 192.168.137.12
  主机名h3  IP 192.168.137.13
  建立DNS(为了取代集群修改hosts带来的大量重复工作)
  1.安装DNS在h1上面
  检查命令:
  rpm –q bind
  rpm -q bind-chroot
  安装命令:
  yum -y install bind bind-chroot
  2. 修改/etc/named.conf
  主要修改这两个地方注意红色修改的部分
  listen-on port 53 { any;};
  allow-query     { any; };
  文件全内容:
  //
  // named.conf
  //
  // Provided by Red Hat bind package to configure the ISCBIND named(8) DNS
  // server as a caching only nameserver (as a localhostDNS resolver only).
  //
  // See /usr/share/doc/bind*/sample/ for example namedconfiguration files.
  //
  options {
  listen-onport 53 { any; };
  listen-on-v6port 53 { ::1; };
  directory       "/var/named";
  dump-file       "/var/named/data/cache_dump.db";
  statistics-file "/var/named/data/named_stats.txt";
  memstatistics-file "/var/named/data/named_mem_stats.txt";
  allow-query     { any; };
  recursionyes;
  dnssec-enableyes;
  dnssec-validationyes;
  dnssec-lookasideauto;
  /* Path toISC DLV key */
  bindkeys-file"/etc/named.iscdlv.key";
  managed-keys-directory"/var/named/dynamic";
  };
  logging {
  channeldefault_debug {
  file "data/named.run";
  severity dynamic;
  };
  };
  zone "." IN {
  type hint;
  file"named.ca";
  };
  include "/etc/named.rfc1912.zones";
  include "/etc/named.root.key";
  3. 修改/etc/named.rfc1912.zones
  正反配置红色部分
  // named.rfc1912.zones:
  //
  // Provided by Red Hat caching-nameserver package
  //
  // ISC BIND named zone configuration for zonesrecommended by
  // RFC 1912 section 4.1 : localhost TLDs and addresszones
  // andhttp://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
  // (c)2007 R W Franks
  //
  // See /usr/share/doc/bind*/sample/ for example namedconfiguration files.
  //
  zone "localhost.localdomain" IN {
  type master;
  file"named.localhost";
  allow-update{ none; };
  };
  zone "localhost" IN {
  type master;
  file"named.localhost";
  allow-update{ none; };
  };
  zone"1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"IN {
  type master;
  file"named.loopback";
  allow-update{ none; };
  };
  zone "1.0.0.127.in-addr.arpa" IN {
  type master;
  file"named.loopback";
  allow-update{ none; };
  };
  zone "0.in-addr.arpa" IN {
  type master;
  file"named.empty";
  allow-update{ none; };
  };
  zone "weir.com" IN {
  type master;
  file "weir.com.zone";
  allow-update { none; };
  };
  zone "137.168.192.in-addr.arpa" IN {
  type master;
  file"137.168.192.in-addr.zone";
  allow-update{ none; };
  };
  4.在/var/named目录下创建weir.com.zone和137.168.192.in-addr.zon文件(这里很重要每个地方都要看清楚怎么设置)
  这里是将named.localhost  拷贝之后做的修改
  cp -p named.localhost weir.com.zone
  cp -p named.localhost 137.168.192.in-addr.zone
  weir.com.zone文件内容:
  $TTL 86400
  @    IN    SOA h1.weir.com. chizk.www.weir.com. (
  0 ; serial (d.adams)
  1D ; refresh
  1H ; retry
  1W ; expiry
  3H ) ; minimum
  @    IN    NS h1.weir.com.
  h1.weir.com. IN A 192.168.137.11
  h2.weir.com. IN A 192.168.137.12
  h3.weir.com. IN A 192.168.137.13
  h4.weir.com. IN A 192.168.137.14
  h5.weir.com. IN A 192.168.137.15
  h6.weir.com. IN A 192.168.137.16
  137.168.192.in-addr.zone文件内容:
  $TTL 86400
  @    IN    SOA  h1.weir.com. chizk.www.weir.com. (
  0 ; serial (d.adams)
  1D ; refresh
  1H ; retry
  1W ; expiry
  3H ) ; minimum
  @    IN    NS h1.weir.com.
  11 IN PTR h1.weir.com.
  12 IN PTR h2.weir.com.
  13 IN PTR h3.weir.com.
  14 IN PTR h4.weir.com.
  15 IN PTR h5.weir.com.
  16 IN PTR h6.weir.com.
  修改正向文件和反向文件属组
  [root@h1 named]# chgrp named weir.com.rev
  [root@h1 named]# chgrp named weir.com.zone
  5. 添加DNS域名服务器ip(这里注意修改/etc/resolv.conf是没用的,重启电脑就失效了)
  先说h1电脑,因为是DNS服务器所以我没有配置这一项 ,这里可能与我的网络连接有关系
DSC0000.png

  下面说其他节点都如下配置:
DSC0001.png

  这里需要找到/etc/sysconfig/network-scripts/ifcfg-eth0
  主要是加入DNS1=192.168.137.11
  完整内容:
  DEVICE=eth0
  TYPE=Ethernet
  UUID=5a32d5ab-af65-44bc-9d21-c757fb44add3
  ONBOOT=yes
  NM_CONTROLLED=yes
  BOOTPROTO=none
  IPADDR=192.168.137.12
  PREFIX=16
  GATEWAY=192.168.137.1
  DEFROUTE=yes
  IPV4_FAILURE_FATAL=yes
  IPV6INIT=no
  NAME="System eth0"
  HWADDR=08:00:27:17:25:7F
  LAST_CONNECT=1402057925
  DNS1=192.168.137.11
  6.启动DNS(防火墙关闭)
  service named start
  自动开启:
  查看:chkconfig –listnamed
  设置启动级别:chkconfig --level 123456 named on
  7.测试:
  nslookup h1.weir.com
  nslookup 192.168.137.12
  host h1.weir.com
  host 192.168.137.12
  至此DNS配置完成。
  配置NFS
  rw
  允许NFS卷上的读和写请求,默认是不允许任何请求,还可以使用ro选项
  sync
  仅在修改被提交到稳定的存储器后响应请求,在这个版本及将来的版本中,sync是默认的,如果需要async的话必须明确地指出,为了帮助系统管理员察觉到这个改变,如果既没有指定sync也没有指定async的话,“exportfs”将会给出一个警告信息
  no_wdelay
  如果设置了async这个选项就不起作用,正常情况下,如果NFS服务器怀疑有另一个相关的写请求正在处理或马上就要达到,NFS服务器将稍微延迟提交写请求到磁盘,这就允许使用一个操作提交多个写请求到磁盘,这样可以改善性能,如果NFS服务器接收到的主要是些独立的小请求,这个行为的确会降低性能,因此可将no_wdelay关闭,默认可以是使用wdelay选项进行明确地请求
  no_root_squash
  从uid/gid 0到匿名的uid/gid的root_squash映射请求,no_root_squash关闭了root squashing
  insecure
  insecure选项允许NFS客户端不使用NFS保留的端口
  no_subtree_check
  这个选项启用了subtree检查,这样就再添加了一层安全系数,但是在某些环境下不可靠。
  如果文件系统的子目录被导出了,但是整个文件系统是不行的,服务器不但必须检查访问的是适当的文件系统中的文件(很简单)而且还要检查导出树中的文件(比较困难),这个检查就叫做subtree_check。
  为了执行这个检查,服务器必须提供一些关于文件位置的信息,在访问的文件被重命名且被一个客户端打开时可能引起问题。(在许多简单的实例中它仍然可以工作)
  如果文件系统导出时使用了no_root_squash选项(参考下面的内容),subtree检查还可用于确保目录内的文件只有root有权访问,即使文件本身允许更多的人访问。
  1.      安装NFS
  检查:
  rpm -qa | grep nfs
  rpm -qa | grep rpcbind
  没有安装:
  yum install nfs-utils rpcbind
  2.   启动NFS
  检查:
  service nfs status
  servicerpcbind status
  启动:
  service nfs start
  开机自启动:
  chkconfig  --level 123456 nfs on
  chkconfig  --level 123456 rpcbindon
  3.      设置共享目录
  这里随意,例如:/home/gx
  在/etc/exports 里面添加:
  /home/gx *(insecure,sync,rw,no_root_squash)
  重启rpcbind和nfs
  service rpcbind restart
  service nfs restart
  查看一下:
  showmount -elocalhost
  4.其他节点(客户端)
  建立挂载点。比如在根目录下mkdir/nfs_share
  命令:mount -t nfs 192.168.137.11:/home/gx  /nfs_share/
  测试:在h1上的目录下创建文件在其他节点是否看得到
  5开机自动挂载nfs共享目录
  修改/etc/fstab文件
  在最后加入:
  192.168.137.11:/home/gx  /nfs_share            nfs     defaults        1 1
  #
  # /etc/fstab
  # Created by anaconda on Tue May 27 12:29:32 2014
  #
  # Accessible filesystems, by reference, are maintainedunder '/dev/disk'
  # See man pages fstab(5), findfs(8), mount(8) and/orblkid(8) for more info
  #
  /dev/mapper/vg_weir-lv_root /                       ext4    defaults        1 1
  UUID=4ea6963a-f2cd-4391-8808-d6bd76ee1125 /boot                   ext4    defaults        1 2
  /dev/mapper/vg_weir-lv_swap swap                    swap    defaults        0 0
  tmpfs                  /dev/shm                tmpfs   defaults        0 0
  devpts                 /dev/pts               devpts  gid=5,mode=620  0 0
  sysfs                  /sys                    sysfs   defaults        0 0
  proc                   /proc                   proc    defaults        0 0
  192.168.137.11:/home/gx  /nfs_share            nfs     defaults        1 1
  至此NFS配置完成。
  6.实现nfs共享ssh密钥
  这里需要了解ssh免密码登陆的原理。
  我大致简单说一下:
  ssh-keygen -t rsa  产生私钥和公钥,id_rsa(私钥)和id_rsa.pub(公钥)
  比如:h1电脑需要免密码登陆到h2电脑,需要在h1上面的~/.ssh/里面产生私钥和公钥 将公钥拷贝到h2的~/.ssh/里面并且修改名字为authorized_keys。
  这样就可以用ssh 192.168.137.12 登录到h2电脑里面 第一次会提示输入密码,之后就不会了。
  如果想实现相互免密码登陆那就是在h2上面产生公钥私钥 ,把公钥拷贝到h1上面
  如果想实现h1到h1的免密码登陆就直接拷贝公钥在自己的~/.ssh/下并取名为authorized_keys。
  那么我们怎么实现nfs共享目录的办法来实现ssh免密码登陆呢?
  其实就是把各自的公钥放在共享目录里面,然后让不同的机器节点来共享目录
  里面拿公钥到自己的~/.ssh/目录下面就可以做到了。这样可以省去一些重复的操作。
  这里有一种方式叫做链接文件命令:ln  有软连接和硬链接之分
  这里最方便的做法是在h1的共享目录里面建立authorized_keys文件把所有节点的公钥信息都放在这里,不断累加,只要有一台电脑连进来就增加这个公钥文件和新电脑的软连接设置,其他节点都不需要去配置为可以实现所有节点的ssh免密码登陆。
  我想分析到这里大家已经可以自己完成了。
  需要做的是:
  1.软连接建立
  2.把新加电脑产生的公钥追加给共享目录的authorized_keys文件中即可
  目前问题点:
  软连接ssh免密码登陆不成功,仍然要求输入密码,不知道是我配置问题,还是什么问题,我的做法是:
  将h2,h3上面的公钥加到h1de的~/.ssh/authorized_keys上面
  ssh h2.weir.com cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  ssh h3.weir.com cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  内容为:
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwkLRj4s+OXY7y8W9/3MOaMGMxE3M37/ySm28gwSpxs4AibAPjZY9rXvld5fJWl99iVeLMTRn39cryXknqf7gqy32EZ6kledh5Au7kv96XX3Cbwr5YIWoTggo9q9tG8E7J268QpV/2Zi1lOM6EEnLPUfpU6UWW2l8Ay4a2AyrWoIs2s6ffqPc/5xOnOnvAAmc285P75UmG0Cr/BVapdMi7z5WUUioPb3qGdXmirNy4EFUPtFMyXO3SwZIea61UpPLN6hcPDliluU+SwyVjkpicPUZcN/wweXkhQN/rexsbvNJ1qlD1DC1qT9eryj5b/i8RCWHGhxhlxvqlTxxmUpGMQ== root@h1
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAufPOnaaBhOgLepshNFTsUROGv0BZFCyqOK3rl+nr02YC5bk/I0K4kfnrJcTMgtE7CPYnjzPzpQLTKDYpu9Qv2XQkxadKe3FsWoihnRz4+ZLaL5QdlKwM8CNNDvYXnULwUh7ZyyEAxT+50WkIzVL+aVz4nbynOw6oJHyg492tU/lkytRPSTn0ogAH10QGqOGzKMLoFSiE5ce6acNrck79ya4R13k6y6XiJYjlfkfU+QbKw9vtZcVWN9LpygfYeQWZOv6vYA/XRk2ZZspwYs+lGQq7vdJTIxLW/SbS9qV5nJUYzVMDeG34rYJpZaM6FQ7TPxrQt00oPXBOL45Lf5fadQ== root@h2
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtND3Kbx2fVg3dZfwQFxBdC1xmVX+gv9mfbUW5C2g+NYwxYR+yGSQQo43AjWcCz+HR2IyP4zijPpuY6x/9EObi5GUjQ5GvZiO/dWMUajMv2TbV92Y0/utgEaT301hQY2/UjlY9pheATZSBDk3X66pXq/kf0aYu7Wf2JULpBdilq711KHHgCRuHwNfduCwxhmw0mqx8i2SbCvbgHaEEmD8liqOQB0VOD2RWvUCSqaT4pnBhH0XWULUkO+VepzL4bup0LlCl88T2LF3Rso+g7k6rRBwoVoHGG8KQtVXPy33pcM7BIXxqFsQVrn7QYe09uBZS/BZj0e7bzCos1nBAb0+Gw== root@weir
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtZN3yCKaxw7ysWqU5KjgjVfn+YqA4rP80rWwc5d2GLPBA7Kj2JuxUIuRBVTEAO4sir2TU4tDNrX5EVu7WZPmv3Z5w2hj4nnJhusHZo477qAwufE9G9cqJkc2Wuci+tiMp7beal1fDvE8guqy8IJCJuLInGWbvSuVToDcZiCazYg4vlMaB5J8xuNhcNpt7w665+YA2f7Bms9qylbQJnsmU95CSqnRKZag9OioOWrgPn/WjS93n/qMBIz3jWJeOiCi9jeg5zsYTxljfMQF+05NTg8tNZGGxweuR5dVFm7yHNfp4Gosj4Jhz7ZlFASRQe/q4cGc5EEQUzire4Qy7XQoGQ== root@h3
  同时将h2,h3上面的公钥加到h1de的共享目录/home/gx/.ssh/authorized_keys上面
  ssh h2.weir.com cat ~/.ssh/id_rsa.pub >> /home/gx/.ssh/authorized_keys
  ssh h3.weir.com cat ~/.ssh/id_rsa.pub >> /home/gx/.ssh/authorized_keys
  内容当面是一样的。
  接下来操作h2,h3
  软连接h2,h3(首先先***~/.ssh/authorized_keys)
  ln -s /nfs_share/.ssh/authorized_keys  ~/.ssh/authorized_keys
  到此就完成了。
  测试结果是  可以免密码从h2,h3登录到h1
  而不能  从h1免密码登录到h2,h3
  这让人不解


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-628659-1-1.html 上篇帖子: Hadoop学习之SecondaryNameNode 下篇帖子: Hadoop实例练习(二)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表