`
weir2009
  • 浏览: 266039 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

正式生产环境下hadoop集群的DNS+NFS+ssh免密码登陆配置

阅读更多

环境虚拟机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.zone137.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服务器所以我没有配置这一项 ,这里可能与我的网络连接有关系


 

 

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


 

这里需要找到/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

这让人不解

0
0
分享到:
评论

相关推荐

    完全分布式hadoop集群搭建(含SSH免密码登录)(详细版)

    非常详细的hadoop集群搭建教程,包含SSH免密码登录,基本上按照教程上一步一步操作就能搭建成功,非常适合大数据初学者使用

    SSH无密码登录配置(主要针对Hadoop配置)

    在Hadoop这样的分布式计算环境中,SSH无密码登录配置至关重要,因为它简化了节点间的通信,提高了运维效率。以下是关于SSH无密码登录配置的详细解释。 **一、SSH原理** SSH通过加密网络数据流,确保在非安全网络上...

    hadoop+hbase+zookeeper集群配置流程及文件

    提供的文档`hadoop_zookeeper_hbase集群配置.docx`应包含详细的步骤和配置示例,而`配置文件.rar`则可能包含了预设的配置模板,可以作为配置参考。在实际操作时,务必根据具体环境调整配置,确保所有节点之间的网络...

    Hadoop SSH免密码登录以及失败解决方案

    通过以上步骤,通常可以解决Hadoop环境中SSH免密码登录的问题。如果问题依然存在,可能需要进一步检查系统配置或网络状况。在Hadoop集群管理中,SSH免密码登录是提高效率、简化运维的关键步骤,因此理解和掌握这个...

    Hadoop+Spark+Hive+HBase+Oozie+Kafka+Flume+Flink+ES+Redash等详细安装部署

    在安装Hadoop时,通常需要配置集群环境,包括主节点和从节点,并确保所有节点之间的网络通信畅通。 Spark是大数据处理的另一个关键组件,它支持批处理、交互式查询(通过Spark SQL)、实时流处理(通过Spark ...

    大数据Hadoop+HBase+Spark+Hive集群搭建教程(七月在线)1

    - 接着,配置SSH无密码登录,这样可以在节点间进行自动化操作。 - 安装Hadoop,并配置环境变量,包括设置`HADOOP_HOME`和`PATH`。 2. **HBase**:HBase是一个基于Hadoop的分布式数据库,适合实时读写操作,尤其...

    hadoop全套配置详细步骤(基础环境搭建+hadoop集群搭建+hive搭建)

    本文件包含hadoop集群搭建的详细步骤,包含基础环境搭建,Hadoop集群搭建,Hive搭建。小白放心食用,无坑。 其中基础环境搭建包括虚拟机安装、centos7、网络配置、xshell、notepad等环境的安装。注:本文里安装的...

    hadoop集群安装笔记

    在安装Hadoop集群时,需要配置ssh无密码登录,以便Hadoop节点之间可以通信。ssh无密码登录可以方便地登录到不同的机器。 使普通用户也可ssh 在配置ssh无密码登录时,需要使普通用户也可以ssh,以便普通用户可以...

    Hadoop集群pdf文档

    Hadoop_Hadoop集群(第5期副刊)_JDK和SSH无密码配置 Hadoop_Hadoop集群(第6期)_WordCount运行详解 Hadoop_Hadoop集群(第7期)_Eclipse开发环境设置 Hadoop_Hadoop集群(第8期)_HDFS初探之旅 Hadoop_Hadoop集群...

    hadoop集群配置ssh免登录shell脚本

    本篇将详细讲解如何配置Hadoop集群的SSH免登录,并介绍提供的shell脚本`hadoop_ssh_auto_login.sh`以及辅助文件`ip_hosts.txt`的用途。 首先,理解SSH免登录的基本原理。SSH免登录依赖于公钥认证机制,即在每台主机...

    生产环境下hadoop大集群安装之DNS服务器配置

    ### 生产环境下Hadoop大集群安装之DNS服务器配置 在生产环境中部署Hadoop集群时,为了提高系统的可扩展性、可靠性和易管理性,通常会采用DNS服务来替代传统的/etc/hosts文件进行主机名与IP地址之间的解析。这种方式...

    Hadoop+Hive+Spark+Kafka+Zookeeper+Flume+Sqoop+Azkaban+Scala

    Linux 环境下 Hive 的安装部署 CLI 和 Beeline 命令行的基本使用 常用 DDL 操作 分区表和分桶表 视图和索引 常用 DML 操作 数据查询详解 三、Spark Spark Core Spark SQL Spark Streaming 五、Flink 核心概念综述 ...

    大数据技术基础实验报告-Linux环境下hadoop集群的搭建与基本配置.doc

    【大数据技术基础实验报告-Linux环境下hadoop集群的搭建与基本配置】 实验主要涉及了大数据技术中的基础概念,包括Linux操作系统、Java环境、SSH服务、Hadoop集群的搭建与配置。以下是具体步骤和知识点的详细解释:...

    hadoop 集群部署操作

    Hadoop 集群部署操作是指规划、安装和配置 Hadoop 集群的整个过程,以便在生产环境中运行 Hadoop 应用程序。下面是 Hadoop 集群部署操作的详细知识点: 规划 Hadoop 集群 * 规划主机名:bdlinux01、bdlinux02、...

    hadoop+zookeeper+hbase+hive集群安装配置

    从零开始hadoop+zookeeper+hbase+hive集群安装搭建,内附详细配置、测试、常见error等图文,按照文档一步一步搭建肯定能成功。(最好用有道云打开笔记)

    Hadoop+Hbase+Spark+Hive搭建

    我们将在/home/hadoop/cloud/softwares目录下存放软件安装包,/home/hadoop/cloud/program目录下存放程序文件,/home/hadoop/cloud/data目录下存放数据文件。 二、主机设置 2.1 设置IP地址 我们将使用静态IP地址...

    从VMware中安装CentOS到Hadoop集群+ Hive+ MySQL搭建

    适合新手,详细 01-Java环境安装 02- Eclipse下载与安装 03-VMware虚拟机的安装 04-在VMware中安装CentOS 05- Hadoop集群+ Hive+ MySQL搭建

    centOS 6.10 hadoop+spark+hive+HBase集群搭建

    hadoop+spark+hive Linux centos大数据集群搭建,简单易懂,从0到1搭建大数据集群

    部署全分布模式Hadoop集群 实验报告

    4. 理解为何需要配置 SSH 免密登录,掌握 Linux 环境下 SSH 的安装、免密登录的配置。 5. 熟练掌握在 Linux 环境下如何部署全分布模式 Hadoop 集群。 二、实验环境 本实验所需的软硬件环境包括 PC、VMware ...

    Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase) 一、Hadoop HA高可用集群...通过规划服务器环境、选择合适的版本组合、安装和配置Zookeeper、Hadoop和HBase三个组件,可以搭建一个高效的Hadoop HA高可用集群。

Global site tag (gtag.js) - Google Analytics