DNS是什么

DNS(Domain Name System,域名系统),是互联网上存储域名和IP映射关系的一个分布式数据库,他负责把域名转换为IP地址,或IP转换为域名,工作于OSI应用层之上,DNS运行于UDP/TCP的53端口,其中,负责提供域名解析的为UDP协议的53端口,负责DNS服务器之间的区域传送采用TCP的53端口。

BIND

BIND(Berkeley Internet Name Domain)是DNS协议的开源实现。由两部分组成。

  • 域名服务器(Name Server):

    提供域名解析服务。
  • 解析器(Resolver):

    负责发起查询和向调用他的应用返回IP地址或者别名等消息。

DNS服务器的分类

  1. 权威域名服务器

    负责授权域下面的域名解析服务,由上级权威域名服务器使用NS记录进行授权。

    按照授权的层级划分,最多127层:

    1)根域

    使用.表示,通常在浏览器输入时省略。负责对.com,.cn,.org等顶级域进行授权,全球13个逻辑根服务器。

    2)顶级域

    类似于.com,.cn,.org

    3)二级域

    sina.com,baidu.com,aliyun.com

主DNS:

每个区域名字服务器,保存着本区域的正式数据。

从DNS:

通过“区域传送”操作,通过主服务器上获取它的数据。

  1. 缓存域名服务器

    通过依次查询根域-顶级域-二级域的方式来解析dns条目,同时根据DNS条目的TTL值进行缓存。

  2. 转发域名服务器

    在接收查询请求时,不向根发起请求,而是转发到指定的上级DNS服务器,而且不进行任何缓存,仅转发。

权威应答:由直接负责的DNS服务器返回解析。

非权威应答:从缓存中读取记录来回答查询,可能数据已过期。

DNS查询类型

递归查询:

  1. 客户端解析器把请求发送给本地DNS服务器;
  2. 本地服务器代替客户端,向根域-顶级域-二级域查询,并把最终结果返回给用户。

迭代查询:

  1. 客户端向本地DNS发起查询;
  2. 本地DNS不直接去帮助客户端查询,而是发给客户端一个可以解析本次请求的DNS服务器的列表,再由客户端再次向这些列表中的DNS发起请求,从而查到结果。

DNS资源记录类型

资源记录的定义格式:

name      [TTL]     IN    RR_TYPE         value

注意:

  1. TTL可以从全局继承;
  2. @可用于引用当前区域的名字
  3. 相邻的两条记录其name相同时,后面的可省略;

SOA

Start Of Authority,这种record 放在zone file 一开始的地方,每一个zone只能有一个SOA,而且一定是记录中第一个“记录”,它描述这个zone负责的name server,version number…等资料,以及当slave server 要备份这个zone 时的一些参数。

例:

xiaohou.com.  86400  IN  SOA  xiaohou.com.  root.xiaohou.com.  (
2017031901 ; serial
2H ; refresh
10M ; retry
1W ; expire
1D ; negative answer ttl
)

serial:序列号,作为主从更新的依据,主服务器数据库内容发生变化时,其版本号递增;

refresh:从服务器每多久到主服务器检查序列号更新状况;

retry: 从服务器从主服务器请求同步解析库失败时,间隔多久再次尝试连接;

expire:过期时长,从服务器始终联系不到主服务器时,多久之后放弃从主服务器同步数据;停止提供服务;

negative answer ttl:否定答案的缓存时长,客户端缓存的时间,设定过长会导致无法立即生效,设定过短导致客户端频繁请求

NS

name server,用来指定操作的DNS服务器名称,需注意的是不可以用IP地址表示。

例:

xiaohou.com.     86400     IN     NS      ns1.xiaohou.com.
xiaohou.com. 86400 IN NS ns2.xiaohou.com.

MX

mail exchanger,设定区域中邮件服务器(SMTP)的主机。 每一个值前面由一个数字,是该主机邮件传递时的优先次序,此值越低表示有越高的邮件处理优先权,取值范围0-99。

例:

xiaohou.com.      IN     MX  10      ns1.xiaohou.com.
IN MX 20 ns2.xiaohou.com.

A

address,将域名解析到IPv4的IP地址。

例:

www.xiaohou.com.        IN     A    10.0.7.100

AAAA

将域名解析到IPv6的IP位址。

例:

www.xiaohou.com. 86400 IN AAAA 3ffe: :bbb:93:5

PTR

pointer,将IP地址转换成主机的FQDN。

例:

100.7.0.10.in-addr.arpa.      IN  PTR    www.xiaohou.com.

CNAME

canonical name,别名

例:

  blog.xiaohou.com.      IN      CNAME  www.xiaohou.com.

配置DNS服务器(BIND)

环境

IP地址 操作系统 主机名
10.0.7.1 Centos7 主DNS服务器
10.0.7.2 Centos7 从DNS服务器
10.0.7.3 Centos7 子域服务器

程序包:

bind-libs:被bind和bind-utils包中的程序共同用到的库文件;

bind-utils:bind客户端程序集,例如dig, host, nslookup等;

bind:提供的dns server程序、以及几个常用的测试程序;

bind-chroot:选装,让named运行于jail模式下;

rndc:remote name domain controller,默认与bind安装再同一主机,且只能通过127.0.0.1来连接named进程,提供辅助管理功能,服务监听于tcp的953端口。

主节点 (10.0.7.1)

安装bind

yum -y install bind-libs bind-utils bind bind-chroot

配置/etc/named.conf

options {
listen-on port 53 { any; };
directory "/var/named";
dump-file "data/cache_dump.db";
zone-statistics yes;
statistics-file "data/named_stats.txt";
memstatistics-file "data/named_mem_stats.txt";
allow-query { any; };
//recursion:
//作为授权域名服务器 no,作为一个递归DNS服务器 yes;
recursion yes;
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
empty-zones-enable no;
}; logging {
//错误日志
channel error_log {
file "data/error_log" versions 10 size 10m;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
//查询日志
channel query_log {
file "data/query_log" versions 10 size 100m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default {
error_log;
};
category queries {
query_log;
};
}; include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

配置/etc/named.rfc1912.zones

//正向解析
zone "xiaohou.com" IN {
type master;
file "xiaohou.com.zone";
allow-update { none; };
};
//反向解析
zone "7.0.10.in-addr.arpa" IN {
type master;
file "10.0.7.arpa.zone";
allow-update { none; };
};

配置正向区域/var/named/xiaohou.com.zone

$TTL 86400
;资源记录简写时补全的后缀,如果不指定默认为zone中定义的
$ORIGIN xiaohou.com.
@ IN SOA ns1.xiaohou.com. root.xiaohou.com. (
2017031901 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
IN NS ns1.xiaohou.com.
IN NS ns2.xiaohou.com.
IN MX 10 mx1
IN MX 20 mx2
ns1 IN A 10.0.7.1
ns2 IN A 10.0.7.2
@ IN A 10.0.7.1
www IN A 10.0.7.2
mx1 IN A 10.0.7.3
mx2 IN A 10.0.7.4

配置反向区域/var/named/10.0.7.arpa.zone

$TTL 1D
@ IN SOA ns1.xiaohou.com. root.xiaohou.com. (
11 ; serial
1H ; refresh
5M ; retry
3M ; expire
10H ) ; minimum
IN NS ns1.xiaohou.com.
IN NS ns2.xiaohou.com.
1 IN PTR ns1.xiaohou.com.
2 IN PTR ns2.xiaohou.com.
3 IN PTR mx1.xiaohou.com.
4 IN PTR mx2.xiaohou.com.

启动

systemctl start named
systemctl enable named

如果需要使用chroot启动

/usr/libexec/setup-named-chroot.sh  /var/named/chroot/ on
systemctl stop named
systemctl disable named
systemctl start named-chroot
systemctl enable named-chroot

从节点 (10.0.7.2)

安装bind

yum -y install bind-libs bind-utils bind bind-chroot

配置/etc/named.conf

options {
listen-on port 53 { any; };
directory "/var/named";
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
memstatistics-file "data/named_mem_stats.txt";
allow-query { any; };
//recursion:
//作为授权域名服务器 no,作为一个递归DNS服务器 yes;
recursion yes;
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
empty-zones-enable no;
}; logging {
channel error_log {
file "data/error_log" versions 10 size 10m;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel query_log {
file "data/query_log" versions 10 size 100m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default {
error_log;
};
category queries {
query_log;
};
}; include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

配置/etc/named.rfc1912.zones

zone "xiaohou.com" IN {
type slave;
masters { 10.0.7.1; };
file "slaves/xiaohou.com.zone";
};
zone "7.0.10.in-addr.arpa" IN {
type slave;
masters { 10.0.7.1; };
file "slaves/10.0.7.arpa.zone";
};

启动

systemctl start named
systemctl enable named

如果需要使用chroot启动

/usr/libexec/setup-named-chroot.sh  /var/named/chroot/ on
systemctl stop named
systemctl disable named
systemctl start named-chroot
systemctl enable named-chroot

子域授权

子域授权,是DNS的分布式的一种实现。在原有的zone上划出一个子域,并给新DNS服务器管理。如果有客户端请求解析在此区域中的域名,则只要找新的子DNS服务器,以便减轻主DNS的压力。

配置主服务器

首先在主域服务器添加子域:

vim /var/named/xiaohou.com.zone

$TTL 86400
$ORIGIN xiaohou.com.
@ IN SOA ns1.xiaohou.com. root.xiaohou.com. (
2017031902 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
IN NS ns1.xiaohou.com.
IN NS ns2.xiaohou.com.
IN MX 10 mx1
IN MX 20 mx2
ns1 IN A 10.0.7.1
ns2 IN A 10.0.7.2
@ IN A 10.0.7.1
www IN A 10.0.7.2
mx1 IN A 10.0.7.3
mx2 IN A 10.0.7.4 blog IN NS ns1.blog
ns1.blog IN A 10.0.7.3

记得修改版本号,保证从服务器获取更新;

重新载入配置

rndc reload

配置子域服务器(10.0.7.3)

安装bind

yum -y install bind-libs bind-utils bind bind-chroot

配置/etc/named.conf

options {
listen-on port 53 { any; };
directory "/var/named";
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
memstatistics-file "data/named_mem_stats.txt";
allow-query { any; };
//recursion:
//作为授权域名服务器 no,作为一个递归DNS服务器 yes;
recursion yes;
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
empty-zones-enable no;
}; logging {
channel error_log {
file "data/error_log" versions 10 size 10m;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel query_log {
file "data/query_log" versions 10 size 100m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default {
error_log;
};
category queries {
query_log;
};
}; include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

配置/etc/named.rfc1912.zones

zone "blog.xiaohou.com" IN {
type master;
file "blog.xiaohou.com.zone";
allow-update { none; };
};

配置/var/named/blog.xiaohou.com.zone

$TTL 1D
$ORIGIN blog.xiaohou.com.
@ IN SOA ns1.blog.xiaohou.com. root.blog.xiaohou.com. (
2017031901 ;Serial
1H ;Refresh
10M ;Retry
3D ;Expire
1D ;Minimum TTL
) IN NS ns1
IN NS ns2
ns1 IN A 10.0.7.3
ns2 IN A 10.0.7.4
@ IN A 10.0.7.5
www IN A 10.0.7.6
mx1 IN A 10.0.7.7
mx2 IN A 10.0.7.8

启动

/usr/libexec/setup-named-chroot.sh  /var/named/chroot/ on
systemctl stop named
systemctl disable named
systemctl start named-chroot
systemctl enable named-chroot

DNS转发

区域转发:

配置在zone段,仅转发对某特定区域的解析请求;

zone  "ZONE_NAME"  IN {
type forward;
forward first;
forwarders { 223.5.5.5;223.6.6.6; };
};

forward选项:

  • first:首先转发;转发器不响应时,自行去迭代查询;
  • only:只转发;

全局转发:

配置在options段,针对凡本地没有通过zone定义的区域查询请求,通通转给某转发器;

vim /etc/named.conf

options {
forward only;
forwarders { SERVER_IP; };
};

全局转发(10.0.7.1)

vim /etc/named.conf
options {
forward first;
forwarders { 223.5.5.5;223.6.6.6; };
};

区域转发(10.0.7.3)

vim /etc/named.rfc1912.zones

zone  "xiaohou.com"  IN {
type forward;
forward only;
forwarders { 10.0.7.1; };
};

访问控制ACL

把一个或多个地址归并为一个集合,并通过一个统一的名称调用;

acl acl_name {
ip;
net/perlen;
}

四个内置的acl:

  • none:没有一个主机
  • any:任意主机
  • local:本机
  • localnet: 本机的IP同掩码运算后得到的地址

注意: 只能先定义,后使用,通常放置在配置文件最前面

访问控制的指令:

  • allow-query{}: 允许查询的主机
  • allow-transfer{}: 允许区域传送
  • allow-recursion{}: 通常定义在全局options段,允许递归的主机
  • allow-update{}: 允许更新区域库的内容,大多数情况为none

配置acl实现访问控制,区域传送只允许slaves定义的主机,所有主机的查询操作都不被允许。

配置主服务器10.0.7.1

vim /etc/named.conf
acl slaves {
10.0.7.2;
}; vim /etc/named.rfc1912.zones
zone "xiaohou.com" IN {
type master;
file "xiaohou.com.zone";
allow-query { none; };
allow-transfer { slaves; };
allow-update { none; };
};

配置允许递归的主机

vim /etc/named.conf
options {
recursion yes;
allow-recursion { 10.0.7.0/24; };
};

视图view

我们一般常用视图拿来构建智能DNS,一个bind服务器可以定义多个view,每个view中可以定义一个或多个zone,每个view用来匹配一组客户端。

  • view实现智能DNS:

    多个view内可能需要对同一区域进行解析,但使用不同通的区域解析文件;

注意: view依据的来源地址并不是客户端的最终地址,而是客户端上配置的DNS节点的地址,如果上海联通的用户配置了北京电信的DNS,那么可能就会被调度到电信节点

用法:

view view_name {
match-clients { };
}

注意:

一旦启用了view,所有的zone都只能定义在view中;

仅在允许递归请求的客户端所在的view中定义根区域;

客户端请求到达时,自上而下对符合view的客户端列表进行匹配;

配置10.0.7.1主服务器,named.conf

vim  /etc/named.conf
acl slaves {
10.0.7.2;
};
acl shanghai {
10.0.7.2;
};
acl beijing {
10.0.7.3;
};
acl office {
10.0.0.0/16;
};
options {
listen-on port 53 { any; };
directory "/var/named";
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
memstatistics-file "data/named_mem_stats.txt";
allow-query { any; };
//作为授权域名服务器 no;
//作为一个递归DNS服务器 yes;
recursion yes;
allow-recursion { office; };
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
empty-zones-enable no;
forwarders { 223.5.5.5;223.6.6.6; };
}; logging {
channel error_log {
file "data/error_log" versions 10 size 10m;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel query_log {
file "data/query_log" versions 10 size 100m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default {
error_log;
};
category queries {
query_log;
};
}; include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

配置10.0.7.1主服务器,named.rfc1912.zones

vim /etc/named.rfc1912.zones
view shanghai {
match-clients { shanghai; };
zone "xiaohou.com" {
type master;
file "sh.xiaohou.com.zone";
};
}; view beijing {
match-clients { beijing; };
zone "xiaohou.com" {
type master;
file "bj.xiaohou.com.zone";
};
}; view office {
match-clients { office; };
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 "xiaohou.com" IN {
type master;
file "xiaohou.com.zone";
allow-update { none; };
allow-transfer { slaves; };
allow-query { any; };
};
zone "7.0.10.in-addr.arpa" IN {
type master;
file "10.0.7.arpa.zone";
allow-update { none; };
};
};

区域配置文件,sh.xiaohou.com.zone

vim  /var/named/sh.xiaohou.com.zone
$TTL 86400
$ORIGIN xiaohou.com.
@ IN SOA ns1.xiaohou.com. root.xiaohou.com. (
2017031902 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
IN NS ns1.xiaohou.com.
IN NS ns2.xiaohou.com.
IN MX 10 mx1
IN MX 20 mx2
ns1 IN A 10.0.7.1
ns2 IN A 10.0.7.2
@ IN A 10.0.7.1
www IN A 10.0.7.2
mx1 IN A 10.0.7.3
mx2 IN A 10.0.7.4 blog IN NS ns1.blog
ns1.blog IN A 10.0.7.3

区域配置文件

vim /var/named/bj.xiaohou.com.zone
$TTL 86400
$ORIGIN xiaohou.com.
@ IN SOA ns1.xiaohou.com. root.xiaohou.com. (
2017031902 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
IN NS ns1.xiaohou.com.
IN NS ns2.xiaohou.com.
IN MX 10 mx1
IN MX 20 mx2
ns1 IN A 10.0.7.1
ns2 IN A 10.0.7.2
@ IN A 172.16.1.17
www IN A 172.16.1.18
mx1 IN A 172.16.1.19
mx2 IN A 172.16.1.20 blog IN NS ns1.blog
ns1.blog IN A 10.0.7.3

如何分析用户是移动还是联通,北京还是上海?

答:我们可以使用纯真IP数据库进行解析。

DNS客户端工具使用

dig

用法

 dig [-t type] [@server] [domain] +[no]trace

示例:

dig -t A @10.0.7.1 www.xiaohou.com
dig -t NS @10.0.7.1 www.xiaohou.com
#跟踪解析过程
dig -t A @10.0.7.1 www.biadu.com +trace
#反向解析
dig -x 10.0.7.3 @10.0.7.1
模拟完全区域传送:
dig -t axfr @10.0.7.2 xiaohou.com

rndc

rndc监听于tcp的953端口,用于管理员对dns服务器进行控制

[root@node2 ~]# rndc status
#服务器和软件的版本
version: 9.9.4-RedHat-9.9.4-38.el7_3.2 <id:8f9657aa>
#cpu数量
CPUs found: 2
#工作线程数
worker threads: 2
#upd监听的端口个数
UDP listeners per interface: 2
#zone的个数
number of zones: 8
#debug的级别
debug level: 0
#区域传送
xfers running: 0
xfers deferred: 0
#soa的查询情况
soa queries in progress: 0
#查询日志是否启用
query logging is ON
#递归的客户端
recursive clients: 0/0/1000
#tcp 客户端
tcp clients: 0/100
#服务是否正常
server is up and running 其他选项
reload 重新装入配置文件和区域
reload zone [class [view]] 重新装入单个区域
refresh zone [class [view]] 安排区域的立即维护
reconfig 仅重新装入配置文件和新区域
stats 将服务器统计信息写入统计文件中
querylog 切换查询日志
dumpdb 将高速缓存转储到转储文件 (named_dump.db)
stop 将暂挂更新保存到主文件并停止服务器
halt 停止服务器,但不保存暂挂更新
trace 将调试级别增加一级
trace level 更改调试级别
notrace 将调试级别设置为 0
flush 刷新服务器的所有高速缓存
flush [view] 为某一视图刷新服务器的高速缓存
status 显示服务器的状态
restart 重新启动服务器(尚未实现)

bind压测工具

wget ftp://ftp.isc.org/isc/bind9/9.11.0-P3/bind-9.11.0-P3.tar.gz
tar xf bind-9.11.0-P3.tar.gz
cd bind-9.11.0-P3/contrib/queryperf/
./configure && make

编写测试文件

vim  testdns.txt
www.baidu.com A
www.qq.com A
www.xiaohou.com A
www.sina.com A
www.youku.com A
www.aliyun.com A

测试结果

[root@node1 queryperf]# ./queryperf -d testdns.txt  -s 10.0.7.1

DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $ [Status] Processing input data
[Status] Sending queries (beginning with 10.0.7.1)
[Timeout] Query timed out: msg id 1
[Timeout] Query timed out: msg id 4
[Timeout] Query timed out: msg id 5
[Timeout] Query timed out: msg id 6
[Status] Testing complete Statistics: Parse input file: once
Ended due to: reaching end of file Queries sent: 6 queries
Queries completed: 6 queries
Queries lost: 0 queries
Queries delayed(?): 0 queries RTT max: 4.270617 sec
RTT min: 0.067555 sec
RTT average: 2.169086 sec
RTT std deviation: 2.101550 sec
RTT out of range: 0 queries Percentage completed: 100.00%
Percentage lost: 0.00% Started at: Tue Mar 21 23:56:27 2017
Finished at: Tue Mar 21 23:56:32 2017
Ran for: 5.000125 seconds Queries per second: 1.199970 qps

其他详细的配置可以查看:Bind9 管理员参考手册

DNS监控

  • 系统监控:

    CPU,内存,网络IO等监控
  • named进程监控:

    判断named进程是否正常运行
  • 解析服务监控:

    使用dig命令进行解析,监控

2. 构建DNS集群的更多相关文章

  1. windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分 ...

  2. 使用Docker构建redis集群--最靠谱的版本

    1集群结构说明 集群中有三个主节点,三个从节点,一共六个结点.因此要构建六个redis的docker容器.在宿主机中将这六个独立的redis结点关联成一个redis集群.需要用到官方提供的ruby脚本 ...

  3. 《搭建更新DNS集群服务》RHEL6

    DNS服务器的更新: 一听就知道不止一台的DNS服务器,要是一台也用不着更新对吧?一般都是DNS集群. 一台DNS更新了,添加一条数据,下面的都要跟着它变. 主DNS服务器的配置 首先先配置DNS服务 ...

  4. 利用ansible进行自动化构建etcd集群

    上一篇进行了手动安装etcd集群,此篇利用自动化工具ansible为三个节点构建etcd集群 环境: master:192.168.101.14,node1:192.168.101.15,node2: ...

  5. 构建hadoop集群时遇到的问题

    在构建hadoop集群时,出现过主节点中的namenode或datanode启动不成功的问题.在日志文件中往往会显示namenode和datanode中clusterID不相同的问题,这个问题往往都是 ...

  6. LINUX中的DNS服务---DNS集群

    一.DNS集群的理解 在使用DNS的时候,为了缓解服务器的压力,会使用多个辅助DNS服务器来分担主DNS的工作.这些DNS就叫做DNS集群. 二.配置过程 1)在辅DNS中操作如下:(主机号为172. ...

  7. Docker快速构建Redis集群(cluster)

    Docker快速构建Redis集群(cluster) 以所有redis实例运行在同一台宿主机上为例子 搭建步骤 redis集群目录清单 . ├── Dockerfile ├── make_master ...

  8. 大数据开发学习之构建Hadoop集群-(0)

    有多种方式来获取hadoop集群,包括从其他人获取或是自行搭建专属集群,抑或是从Cloudera Manager 或apach ambari等管理工具来构建hadoop集群等,但是由自己搭建则可以了解 ...

  9. linux初学者-DNS集群篇

    linux初学者-DNS集群篇 DNS服务器一般在使用时,为了缓解服务器的压力,多使用一个主DNS服务器,多个副DNS服务器,这些DNS服务器就组成了一个DNS集群. 在DNS主服务器配置好后,需要另 ...

随机推荐

  1. Spark优化之小文件是否需要合并?

    我们知道,大部分Spark计算都是在内存中完成的,所以Spark的瓶颈一般来自于集群(standalone, yarn, mesos, k8s)的资源紧张,CPU,网络带宽,内存.Spark的性能,想 ...

  2. [netty4][netty-common]netty之ResourceLeakDetector的使用与实现

    netty之ResourceLeakDetector的使用与实现 通过WeakReference和ReferenceQueue做针对需要手动释放的资源的侦测 使用 设置日志级别: ServerBoot ...

  3. Mybatis 和 Solon 在一起的升级版

    终于说通 Solon 作者,让他为 Solon 框架添加事务注解支持了:并且把 mybatis-solon-plugin 的 @Df 注解更名为 @Db ,接地气多了(Df是什么鬼呢?新手肯定这么想. ...

  4. java程序CPU 100%调试

    前置 PID为进程id,NID为线程ID 步骤一.找到最耗CPU的进程 top 然后键入P,按CPU占用率排序(M是按内存排序) 步骤二.找到进程中最耗CPU的线程 top -Hp PID 步骤三.将 ...

  5. arp_ignore与arp_announce

    arp_ignore:定义接收到ARP请求时的响应级别0:只要本地设置的有相应的地址,就给予响应.(默认)1:仅回应目标IP地址是本地的入网地址的arp请求.2:仅回应目标IP地址是本地的入网地址,而 ...

  6. 《p5.js创意游戏编程》第一课:跳动的小球

    准备:Hbuilder/vscode等可以编写网页的编辑器 如果想立刻上手也可以使用在线编译器p5.js官方在线编辑器,如果打不开也可以使用国内的一款在线编辑器jsrun编辑器,(第一课先使用jsru ...

  7. RSA加密算法和SSH远程连接服务器

    服务器端与客户端的密钥系统不一样,称为非对称式密钥系统 RSA算法的基础是模运算x mod n,事实上: [(a mod n) + (b mod n)] mod n = (a+b) mod n [(a ...

  8. 常见面试题之操作系统中的LRU缓存机制实现

    LRU缓存机制,全称Least Recently Used,字面意思就是最近最少使用,是一种缓存淘汰策略.换句话说,LRU机制就是认为最近使用的数据是有用的,很久没用过的数据是无用的,当内存满了就优先 ...

  9. 专为seo新手准备的百度分享工具教程

    http://www.wocaoseo.com/thread-178-1-1.html 百度分享工具是目前seo站长最为常用的工具之一,主要用来让用户分享来提高网站的流量,同时他也有很多实际有效的方式 ...

  10. OpenCV实现人脸检测

    OpenCV实现人脸检测(转载)  原文链接:https://www.cnblogs.com/mengdd/archive/2012/08/01/2619043.html 本文介绍最基本的用OpenC ...