搭建开发使用的DNS服务器

在部署Hadoop的时候经常要更新每一个节点的hosts文件真是太麻烦,如果布署结点特别多,那将是非常麻烦的事情。这时我们需要一个自己的DNS服务器,仅向Hadoop集群 中的服务器提供域名解悉服务,而集群中的服务器也可使用该域名服务器查询集群外域名的解悉,一举多得。

一、安装Bind服务器

$ sudo apt install bind9

二、配置服务器

我们约定我们集群内的顶级域名是ds.com,DNS服务器IP为192.168.122.10,我们要布署两台服务器,分别是namenode.ds.com(192.168.122.11)datanode.ds.com (192.168.122.12)

1. 配置FORWARD

为什么要配置FORWARD呢?因为集群中除了要解悉集群内的服务器的域名,同时在解悉集群外域名的时候,我们将这些域名请求FORWARD给电信ISP提供的域名服务器去解悉,例如www.163.com这些非集群内主机的域名。

我们编辑/etc/bind/named.conf.options文件:

acl goodclients {
        192.168.122.0/24;
        localhost;
        localnets;
};

options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query { goodclients; };

        forwarders {
                114.114.114.114;
                8.8.8.8;
                8.8.4.4;
        };
        forward only;

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

重启服务器测试一下:

$ nslookup
> server 192.168.122.10
> www.163.com
Server:		192.168.122.10
Address:	192.168.122.10#53

Non-authoritative answer:
www.163.com	canonical name = www.163.com.lxdns.com.
www.163.com.lxdns.com	canonical name = 163.xdwscache.ourglb0.com.
Name:	163.xdwscache.ourglb0.com
Address: 113.107.44.166
Name:	163.xdwscache.ourglb0.com
Address: 125.90.206.144

2. 配置域名

首先编辑/etc/bind/named.conf.local文件,将自己的域名配置包含进来:

zone "ds.com" {
        type master;
        file "/etc/bind/db.ds.com";
};

我们指定了ds.com域名的解悉文件是/etc/bind/db.ds.com,这样,我们只需要修改这个文件即可添加、修改、删除域名配置了:

$TTL    604800
@       IN      SOA     ns.ds.com. root.ds.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.ds.com.
@       IN      A       192.168.122.10
ns      IN      A       192.168.122.10
namenode     IN      A       192.168.122.11
datanode        IN      A       192.168.122.12
  1. SOA定义了域名的基础信息,第一个ns.ds.com是该域名下的子域名的解悉服务器,而root.ds.com其实就是管理员的联系Email,因为在配置中有特殊的意义,所以使用.代替。
  2. @ IN NS ns.ds.com.,一定要有这行,定制ns.ds.com是一个域名服务器。
  3. ns IN A 192.168.122.10,指定域名服务器的IP
  4. namenode IN A 192.168.122.11namenode的域名定义
  5. datanode IN A 192.168.122.12datanode的域名定义

配置好,重启,测试。

三、注意事项

配置文件的语法相当严格,如果重启服务器后发现不起效或者timeout,多半是配置文件有错,服务没有起来。

转载于:https://my.oschina.net/kut/blog/1830799

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值