怎么从root@root localhost后咋整变成root@ns named

用户名:chrinux
文章数:40
评论数:139
访问量:184487
注册日期:
阅读量:1297
阅读量:3317
阅读量:444484
阅读量:1130273
51CTO推荐博文
&内容简介:
DNS的简述
DNS服务器的安装
DNS常见名词
DNS配置文件详解
配置主要的DNS服务
DNS的简述
网络中为了区别各个主机,必须给每台主机配置一个唯一的IP地址,但这些数字的地址人们比较难以记忆,所以就采用了&域名&的方式来取代这些数字。
当某台主机要与其他主机进行通信时,就可以利用域名通信,域名向DNS服务器进行查询,转换成相应的IP地址进行通信。
早期的DNS服务是有一个文件提供/etc/hosts文件,但是后来随着互联网的开发,这个文件已经不能满足需求,于是由伯克利大学开发了BIND软件,来进行提供更广的DNS服务。
DNS服务器系统由以下四个组成部分:
DBS域名空间
DNS服务器
DNs客户端
组织域:com、org、net、cc....
& 国家域:cn、tw,hk,....
& 反向域:IP--&FQDN
&区域的划分:如图1
&DNS的查询过程分为两部分进行
& 名称查询从客户端开始,并传输给本机的DNS客户服务查询进行解析,如果本地不能在本机解析查询,则向本机设定的DNS服务器进行解析。如图2
&DNS服务进行域名解析有两种方式:
& 递归查询:只发送一次请求,而后的查询由DNS服务器完成并返回其结果。
& 迭代查询:发送一次或者多次查询。DNS服务器返回一个绝对值或参考值,有客户端自己完成查询。如图3
hosts文件&
hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,/etc/hosts&
Hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。&
hosts文件的格式如下:&
IP地址 主机名/域名 如图4
DNS服务器的安装
bind97:程序主包,提供DNS服务的安装
bind97-libs:提供DNS服务器程序运行的库文件
bind97-utils:DNS工具包
bind97-level:开发包
需要安装bind97,bind97-libs,bind97-utils。安装之前需要卸载系统上之的文件,包括库文件和utils。
rpm -qa bind* & & //查询已安装的软件包
rpm -e bind-libs bind-utils //卸载软件包
yum install bind97 bind97-libs bind97-utils //安装bind97必须软件包
安装完成后检查所有包是否安装正确:如图5
rpm -qa bind97*
DSN服务的启动和停止
1、启动DNS服务
service named start
2、停止DNS服务
service named stop
3、重启NDS服务
service named restart
4、开启DNS服务的启动选项
chkconfig --list named //查看启动项
chkconfig named on &//开启dns启动项
5、重读配置文件,不重启服务而使配置文件生效
service named reload
DNS常见名词:
ZONE:DNS名称,其中包含了存储在DNS服务器上的资源记录。
FQDN:(Fully Qualified Domain Name)主机全名
正向解析:域名到IP地址的解析过程
反向解析:从IP到域名的解析过程
DNS配置文件:
/etc/named.conf:主文件,设置一般的参数,指向该服务器使用的域数据库的存放位置
/var/named/named.ca:根域配置服务文件,指向根域名配置的服务器
/var/named/named.localhost.zone:localhost区的正向解析文件,用于将localhost名字转换为Ip127.0.0.1
/var/named/named.loopback:locahost的反向解析文件,用于将IP127.0.0.1转换为localhost主机名
资源记录类型:
SOA资源记录:起始授权记录(Start of Authority Record),简称SOA记录。SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。&
格式:区域名(当前) 记录类型 SOA 主域名服务器(FQDN) 管理员邮件地址 (序列号 刷新间隔 重试间隔 过期间隔 TTL)&
NS资源记录:名称服务器(NS)资源记录表示该区的授权服务器,它们表示SOA资源记录中指定的该区的主和辅助服务器,也表示了任何授权区的服务器。每个区在区根处至少包含一个NS记录。&
格式:区域名 IN NS 完整主机名(FQDN)&
A资源记录:地址(A)资源记录把FQDN映射到IP地址,因而解析器能查询FQDN对应的IP地址。&
格式:完整主机名(FQDN) IN A IP地址&
PTR资源记录:相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN&
格式:IP地址 IN PTR 主机名(FQDN)&
CNAME资源记录:规范名字(CNAME)资源记录创建特定FQDN的别名。&
格式:别名 IN CNAME 主机名&
MX资源记录:邮件交换(MX)资源记录为DNS域名指定邮件交换服务器。&
格式:区域名 IN MX 优先级(数字) 邮件服务器名称(FQDN)
主配置文件/etc/named.conf,如图7
named.confi文件的语法格式:
花括号必须成对出现,并且以;结尾
花括号的前后得有空格
花括号内的每段必须也以;结尾
type字段指定区域的类型&
master:表示定义的是主域名服务器 。拥有区域数据文件,并对此区域提供管理数据&
slave:表示定义的是辅助域名服务器。拥有主DNS服务器的区域数据文件的副本,辅助DNS服务器会从主DNS服务器同步所有区域数据&
hint:表示是互联网中根域名服务器。当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表&
forward:一个forward zone是每个域的配置转发的主要部分
下面来我们自己架构一个简单的根DNS,
根区域定义
1、配置named.conf文件
新建一个named.conf,修改属组和属主。权限为640&vim&/etc/named.conf&options&{&&&&&&&&&directory&&&&&&&&/var/named&;&};&zone&&.&&IN&{&&&&&&&&&type&&&&&&&&&&file&&named.ca&;&};&zone&&localhost&&IN&{&&&&&&&&&type&&&&&&&&&&file&&named.localhost&;&};&zone&&0.0.127.in-addr.arpa&&IN&{&&&&&&&&&type&&&&&&&&&&file&&named.loopback&:&};&&&&&&chown&root:named&/etc/named.conf&&&&&chmod&640&/etc/named.conf&&&&&named-checkconf&//检查主配置文件是否有语法错误&&&&&named-checkzone&&.&&/var/named/named.ca&//检查区域文件是否有错误&
SELinux:selinux控制的机制比较特殊,启动DNS服务器的时候需要把SELinux关掉。
[root@localhost&etc]#&getenforce&&&&//查看SELinux状态&&&&&Enforcing&&&&&[root@localhost&etc]#&setenforce&0&//临时的关闭SELinux&&&&&[root@localhost&etc]#&getenforce&&&&&Permissive&&&&&[root@localhost&selinux]#&vim&/etc/selinux/config&//配置文件,可以永久关闭。&
启动DNS服务如下所示,图8
netstat -tunlp查看服务的相关端口,如图9
vim /etc/resolv.conf
nameserver 172.16.7.1
//本机IP做DNS服务器
search localdomain
dig -t A localhost @172.16.7.1 //查找localhost的A记录,如图10
DNS服务器案例一
需求规划:
master:172.16.7.1
slave:172.16.7.2
测试机:172.16.7.3
ns &ns1.chris.cm
www 172.16.7.6
ftp 172.16.7.7
mail 172.16.7.8
chris 172.16.7.9
chrislee cname www
要求:其能实现正反向解析
master设置:
1、vim /etc/named.conf在下面增加
zone&&&&IN&{&&&&&&&&&type&&&&&&&&&&file&&.zone&&&&&&};&&&&&&zone&&7.16.172.in-addr.arpa&&IN&{&&&&&&&&&type&&&&&&&&&&file&&172.16.6.zone&;&&&&&}&&&&&如图11所示&&&&&&2、vim&/var/.zone&&&&&//配置的正向数据&&&&&$TTL&600&&&&&.&&&&&&IN&&&&&&SOA&&&&&.&&&(&&&&&&&&&&&&&&&&&&&&&&&&&&//序列号&&&&&&&&&&&&&&&&&&&&&&&&&1H&&&&&&&//刷新间隔&&&&&&&&&&&&&&&&&&&&&&&&&&&5M&&&&&&&//重试间隔&&&&&&&&&&&&&&&&&&&&&&&&&2D&&&&&&&//过期间隔&&&&&&&&&&&&&&&&&&&&&&&&&6H)&&&&&&//否定答案的缓存时长&&&&&&&&&&&&&&&&&IN&&&&&&NS&&&&&&.&&&&&&&&&&&&&&&&&&&&&&&&&&&IN&10&&&MX&&&&&&mail&&&&&ns1&&&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.1&&&&&www&&&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.6&&&&&ftp&&&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.7&&&&&mail&&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.8&&&&&chris&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.9&&&&&chrislee&&&&&&&&IN&&&&&&CNAME&&&chris&
3、vim /var/named/172.16.7.zone 如下图13
4、更改这两个文件的权限和属主属组并测试配置
[root@localhost&named]#&chown&root:named&.zone&&&&&&[root@localhost&named]#&chown&root:named&172.16.7.zone&&&&&&[root@localhost&named]#&chmod&640&.zone&&&&&&[root@localhost&named]#&chmod&640&172.16.7.zone&&&&&&[root@localhost&named]#&named-checkconf&&&&&&[root@localhost&named]#&named-checkzone&&&&/var/.zone&&&&&&[root@localhost&named]#&named-checkzone&&&&/var/.zone&&&&&&zone&/IN:&loaded&serial&&&&&&OK&&&&&&&&&&&&&&&&&&&&&&//正常&&&&&[root@localhost&named]#&named-checkzone&&7.16.172.in-addr.arpa&&/var/named/172.16.7.zone&&&&&&zone&7.16.172.in-addr.arpa/IN:&loaded&serial&&&&&&OK&&&&&&&&&&&&&&&&&&&&&&//正常&
5、测试:如图14、15
slave服务器的设置:
1、先在master服务器上配置named.conf配置文件
options&{&&&&&&&&&directory&&&&&&&&/var/named&;&#&&&&&&&recursion&yes|&&&&&&&&&&&&&&&//是否为客户端开启递归查询,默认是开启的&&&&&&&&&allow-recursion&{172.16.7.0/8;&};&//开启递归查询,并规定客户端范围&#&&&&&&&allow-transfer&{};&&&&&&&&&&//全局定义,开启区域传输,并规定传输的客户端,默认是开启给所有主机传输&&&&&&&&&};&&&zone&&.&&IN&{&&&&&&&&&type&&&&&&&&&&file&&named.ca&;&};&&zone&&localhost&&IN&{&&&&&&&&&type&&&&&&&&&&file&&named.localhost&;&&&&&&&&&allow-transfer&{&};&&&&&&&&//不给任何客户端传输其区域&};&zone&&0.0.127.in-addr.arpa&&IN&{&&&&&&&&&type&&&&&&&&&&file&&named.loopback&;&&&&&&&&&allow-transfer&{&};&&&&&//不给任何客户端传输其区域&};&&zone&&&&IN&{&&&&&&&&&type&&&&&&&&&&file&&.zone&;&&&&&&&&&allow-transfer&{172.16.7.2;&};&&//只给客户端172.16.7.2传输此区域&};&&zone&&7.16.172.in-addr.arpa&&IN&{&&&&&&&&&type&&&&&&&&&&file&&172.16.7.zone&;&&&&&&&&&allow-transfer&{172.16.7.2;&};&&&&&&//只给客户端172.16.7.2传输此区域&};&
2、配置数据文件.zone
$TTL&600&<.&&&&&&IN&&&&&&SOA&&&&&.&&&(&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1H&&&&&&&&&&&&&&&&&&&&&&&&&5M&&&&&&&&&&&&&&&&&&&&&&&&&2D&&&&&&&&&&&&&&&&&&&&&&&&&6H)&&&&&&&&&&&&&&&&&IN&&&&&&NS&&&&&&.&&&&&&&&&&&&&&&&&IN&&&&&&NS&&&&&&.&&&&&&//配置slave服务器的NS记录和相应的A记录,如果不配置将无法实现增量传输,就是数据号增加的时候客户端无法更新&&&&&&&&&&&&&&&&&IN&&&&&&MX&&10&&mail&&&&&&&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.2&ns1&&&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.1&ns2&&&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.2&www&&&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.6&ftp&&&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.7&mail&&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.8&chris&&&&&&&&&&&IN&&&&&&A&&&&&&&172.16.7.9&chrislee&&&&&&&&IN&&&&&&CNAME&&&chris&
3、配置172.16.7.zone反向解数据文件
$TTL&600&@&&&&&&&IN&&&&&&SOA&&&&&.&&&(&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1H&&&&&&&&&&&&&&&&&&&&&&&&&5M&&&&&&&&&&&&&&&&&&&&&&&&&2D&&&&&&&&&&&&&&&&&&&&&&&&&6H)&&&&&&&&&&&&&&&&&IN&&&&&&NS&&&&&&.&&&&&&&&&&&&&&&&&IN&&&&&&NS&&&&&&.&&////配置slave服务器的NS记录和相应的PTR记录,如果不配置将无法实现增量传输,就是数据号增加的时候客户端无法更新&1&&&&&&&&&&&&&&&IN&&&&&&PTR&&&&&.&2&&&&&&&&&&&&&&&IN&&&&&&PTR&&&&&&6&&&&&&&&&&&&&&&IN&&&&&&PTR&&&&&.&7&&&&&&&&&&&&&&&IN&&&&&&PTR&&&&&.&8&&&&&&&&&&&&&&&IN&&&&&&PTR&&&&&.&9&&&&&&&&&&&&&&&IN&&&&&&PTR&&&&&.&9&&&&&&&&&&&&&&&IN&&&&&&PTR&&&&&.&
4、slave只需要配置named.conf
options&{&&&&&&&&&directory&&&&&&&&/var/named&;&&};&&&zone&&.&&IN&{&&&&&&&&&type&&&&&&&&&&file&&named.ca&;&};&&zone&&localhost&&IN&{&&&&&&&&&type&&&&&&&&&&file&&named.localhost&;&};&zone&&0.0.127.in-addr.arpa&&IN&{&&&&&&&&&type&&&&&&&&&&file&&named.loopback&;&};&&zone&&&&IN&{&&&&&&&&&type&&&&&&&&&&file&&.zone&;&};&&zone&&7.16.172.in-addr.arpa&&IN&{&&&&&&&&&type&&&&&&&&&&file&&172.16.7.zone&;&
& & & & 解释如图17
& & & & 5、测试
& & & & 解析测试
& & & & 启动测试机7.3,编辑etc/resolv.conf
& & & & nameserver 172.16.7.1
search localdomain
结果如图18
区域传输测试,如图19
下面把master上的序列号加1,再重启服务,master的日志文件如图20
查看slave服务器上的文件,如图21
OK,此服务器到此已经实现了我们预设的全部功能,架设完毕。
泛域名解析:
只需建立一个A记录 *.ZONE NAME. & &IN &A &IP
fg:*.. &IN &A &172.168.0.1
rndc:服务本地/远程控制命令
rndc-confgrn & /etc/rndc.conf //生成rdnc配置文件
如图22所示
vim /etc/rndc.conf
:,$-1w && /etc/named.conf把配置文件追加到named.conf内
vim /etc/named.conf,如图23
rndc的子命令选项,如图24
利用rdns查询信息,如图25
远程主机连接的时候需要把/etc/rndc.conf拷贝到客户端主机上面
scp /etc/rndc.conf 172.16.7.3:/root/
然后修改配置,如图26
由于远程控制开启不安全,所以建议不要开启DNS的远程控制
DNS子域授权
格式:SUB_NAME IN NS NSSERVER_SUB_ZONE_NAME&
&NSSERVER_SUB_ZONE_NAME IN A IP
fg:ns1. 172.16.100.1
& &ns1. 172.16.200.1
只需要在named.cof内增以下配置即可
ns1.fin IN
172.16.100.1
ns1.market
ns1.market IN & A & 172.16.200.1
然后在100.1和200.2上分别建立相应的DNS服务器,只是域为和。这样就可以完成DNS的子域授权了,以后这两个小域可以分别负责自己域内主机的域名解析了。
解析转发:
【forward&{only|first}&&&&&&forwards&{172.16.100.1;}】:所有解析不出来的都转发给父域&&&&&&zone内设置只针对某个域的解析不_来的转发格式:&&&&&&zone&&ZONE_NAME&&&&&&&【forward&first;&&&&&&forwards&{172.16.100.1;}】:&访问控制列表&&&&&acl&ACL_NAME&{&&&&&&&&&&172.16.0.0/16;&&&&&&&&&&127.0.0,0/8&&&&&&&&&&};&&&&&&&&&&&&&//外面单独定义&&&&&allow-query&{ACL_NAME;};&//域内调用即可&&&&&&&&&系统内置的两个列表:&&&&&&&&&&&&&&&none&&&&&&&&&&&&&&&any&
智能DNS:视图view
view VIEW_NAME {
一旦定义视图,所有的区域都必须定义在视图中。根区域只需要定义在需要递归的视图内。
需求规划:
172.16.10.0/8网段通过域解析
剩余的其他网段通过域解析
编辑named.conf
cal&a&{&&&&&&&&&172.16.10.0/8;&&&&&&&&&127.0.0.1/8;&&&&&};&&&&&options{&&&&&&&&&directory&&/var/named&&&&&&};&&&&&view&chris&{&&&&&&&&&match-clients&{a;&};&&&&&&&&&zone&&&&IN&{&&&&&&&&&&&&&type&&&&&&&&&&&&&&file&&.zone&;&&&&&&&&&};&&&&&};&&&&&view&chrislee&&&{&&&&&&&&&match-client&{&};&&&&&&&&&zone&&&&IN&{&&&&&&&&&&&&&type&&&&&&&&&&&&&&file&&.zone&;&&&&&&&&&};&&&&&};&
下面配置.zone和.zone数据文件即可实现其分类解析功能本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(38bb602dc72443bf-ua98).
重新安装浏览器,或使用别的浏览器天极网---服务器专栏
如何在Linux服务器上设置DNS&& 2 &---------[root@dns named]# more 127.0.0@ IN SOA . root.. (
00 )NS .1 PTR localhost.[root@dns named]# more 192.168.11@ IN SOA . root.. (
00 )NS .1 PTR .2 PTR .4 PTR .[root@dns named]# @ IN SOA . root.. (
00 )NS .dns A 202.a.b.cMX 5 .www CNAME dnsftp CNAME dns[root@dns named]# more /etc/resolv.confnameserver 127.0.0.1nameserver 202.96.199.133[root@dns named]# more /etc/hosts127.0.0.1 localhost localhost.localdomain202.a.b.c
dns192.168.11.5
dns192.168.11.1
host1192.168.11.2
host2---------------- 注:&你需要联系你的ISP关于反向域解析设置,一般情况下,你不需要反向解析,但有些应用程序可能用到它,还有,当你访问网上某些网站时,网站会检查你连上来的IP地址,看能否找到相应的域名,若不能,则拒绝连接如 ,若你得到的一段C类IP地址空间,仅仅16个其中202.a.b.c和202.a.b.c2 你正在用,但你的ISP恐怕不会把这16个地址子域交给你管理,为了简单起见,ISP会简单地要求你加哪些机器,你能提供给他们如下:&---- 你需要提供相应的信息,象这样&$ORIGIN b.a.202.in-addr.arpac PTR .c2 PTR .每次更新DNS信息后,你可用killall -HUP named去重读更改的配置文件,你可以开另一个窗口运行tail -f /var/log/messages 查看有无出错信息,以便检查你的设置是否有错。&最后你可以用nslookup来检查你的DNS设置,依次检查正反向域设置,然后看能否解析外面的站点。&& 2 &
【责任编辑:】21:06 提问
yarn无法进入管理界面??
配置hadoop伪分布式环境的时候,yarn正常启动了,却无法进入管理界面
[root@Hanfeng-linux6 sbin]# start-yarn.sh
starting yarn daemons
resourcemanager running as process 4052. Stop it first.
root@localhost's password:
localhost: nodemanager running as process 4348. Stop it first.
按赞数排序
hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA、YARN等。最新的hadoop-2.4.1又增加了YARN HA
注意:apache提供的hadoop-2.4.1的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库,
建议第一次安装用32位的系统
1.修改Linux主机名
3.修改主机名和IP的映射关系
######注意######如果你们公司是租用的服务器或是使用的云主机(如华为用主机、阿里云主机等)
/etc/hosts里面要配置的是内网IP地址和主机名的映射关系
4.关闭防火墙
5.ssh免登陆
6.安装JDK,配置环境变量等
集群规划:
安装的软件
运行的进程
192.168.1.201
jdk、hadoop
NameNode、DFSZKFailoverController(zkfc)
192.168.1.202
jdk、hadoop
NameNode、DFSZKFailoverController(zkfc)
192.168.1.203
jdk、hadoop
ResourceManager
192.168.1.204
jdk、hadoop
ResourceManager
192.168.1.205
jdk、hadoop、zookeeper
DataNode、NodeManager、JournalNode、QuorumPeerMain
192.168.1.206
jdk、hadoop、zookeeper
DataNode、NodeManager、JournalNode、QuorumPeerMain
192.168.1.207
jdk、hadoop、zookeeper
DataNode、NodeManager、JournalNode、QuorumPeerMain
1.在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。
hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中,主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode
这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为standby状态
2.hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.4.1解决了这个问题,有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调
安装步骤:
1.安装配置zooekeeper集群(在itcast05上)
tar -zxvf zookeeper-3.4.5.tar.gz -C /itcast/
1.2修改配置
cd /itcast/zookeeper-3.4.5/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改:dataDir=/itcast/zookeeper-3.4.5/tmp
在最后添加:
server.1=itcast05:
server.2=itcast06:
server.3=itcast07:
然后创建一个tmp文件夹
mkdir /itcast/zookeeper-3.4.5/tmp
再创建一个空文件
touch /itcast/zookeeper-3.4.5/tmp/myid
最后向该文件写入ID
echo 1 & /itcast/zookeeper-3.4.5/tmp/myid
1.3将配置好的zookeeper拷贝到其他节点(首先分别在itcast06、itcast07根目录下创建一个itcast目录:mkdir /itcast)
scp -r /itcast/zookeeper-3.4.5/ itcast06:/itcast/
scp -r /itcast/zookeeper-3.4.5/ itcast07:/itcast/
注意:修改itcast06、itcast07对应/itcast/zookeeper-3.4.5/tmp/myid内容
itcast06:
echo 2 & /itcast/zookeeper-3.4.5/tmp/myid
itcast07:
echo 3 & /itcast/zookeeper-3.4.5/tmp/myid
2.安装配置hadoop集群(在itcast01上操作)
tar -zxvf hadoop-2.4.1.tar.gz -C /itcast/
2.2配置HDFS(hadoop2.0所有的配置文件都在$HADOOP_HOME/etc/hadoop目录下)
#将hadoop添加到环境变量中
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_55
export HADOOP_HOME=/itcast/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
#hadoop2.0的配置文件全部在$HADOOP_HOME/etc/hadoop下
cd /itcast/hadoop-2.4.1/etc/hadoop
2.2.1修改hadoo-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_55
2.2.2修改core-site.xml
&configuration&
&!-- 指定hdfs的nameservice为ns1 --&
&property&
&name&fs.defaultFS&/name&
&value&hdfs://ns1&/value&
&/property&
&!-- 指定hadoop临时目录 --&
&property&
&name&hadoop.tmp.dir&/name&
&value&/itcast/hadoop-2.4.1/tmp&/value&
&/property&
&!-- 指定zookeeper地址 --&
&property&
&name&ha.zookeeper.quorum&/name&
&value&itcast05:2181,itcast06:2181,itcast07:2181&/value&
&/property&
&/configuration&
2.2.3修改hdfs-site.xml
&configuration&
&!--指定hdfs的nameservice为ns1,需要和core-site.xml中的保持一致 --&
&property&
&name&dfs.nameservices&/name&
&value&ns1&/value&
&/property&
&!-- ns1下面有两个NameNode,分别是nn1,nn2 --&
&property&
&name&dfs.ha.namenodes.ns1&/name&
&value&nn1,nn2&/value&
&/property&
&!-- nn1的RPC通信地址 --&
&property&
&name&dfs.namenode.rpc-address.ns1.nn1&/name&
&value&itcast01:9000&/value&
&/property&
&!-- nn1的http通信地址 --&
&property&
&name&dfs.namenode.http-address.ns1.nn1&/name&
&value&itcast01:50070&/value&
&/property&
&!-- nn2的RPC通信地址 --&
&property&
&name&dfs.namenode.rpc-address.ns1.nn2&/name&
&value&itcast02:9000&/value&
&/property&
&!-- nn2的http通信地址 --&
&property&
&name&dfs.namenode.http-address.ns1.nn2&/name&
&value&itcast02:50070&/value&
&/property&
&!-- 指定NameNode的元数据在JournalNode上的存放位置 --&
&property&
&name&dfs.namenode.shared.edits.dir&/name&
&value&qjournal://itcast05:8485;itcast06:8485;itcast07:8485/ns1&/value&
&/property&
&!-- 指定JournalNode在本地磁盘存放数据的位置 --&
&property&
&name&dfs.journalnode.edits.dir&/name&
&value&/itcast/hadoop-2.4.1/journal&/value&
&/property&
&!-- 开启NameNode失败自动切换 --&
&property&
&name&dfs.ha.automatic-failover.enabled&/name&
&value&true&/value&
&/property&
&!-- 配置失败自动切换实现方式 --&
&property&
&name&dfs.client.failover.proxy.provider.ns1&/name&
&value&org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider&/value&
&/property&
&!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行--&
&property&
&name&dfs.ha.fencing.methods&/name&
shell(/bin/true)
&/property&
&!-- 使用sshfence隔离机制时需要ssh免登陆 --&
&property&
&name&dfs.ha.fencing.ssh.private-key-files&/name&
&value&/root/.ssh/id_rsa&/value&
&/property&
&!-- 配置sshfence隔离机制超时时间 --&
&property&
&name&dfs.ha.fencing.ssh.connect-timeout&/name&
&value&30000&/value&
&/property&
&/configuration&
2.2.4修改mapred-site.xml
&configuration&
&!-- 指定mr框架为yarn方式 --&
&property&
&name&mapreduce.framework.name&/name&
&value&yarn&/value&
&/property&
&/configuration&
2.2.5修改yarn-site.xml
&configuration&
&!-- 开启RM高可靠 --&
&property&
&name&yarn.resourcemanager.ha.enabled&/name&
&value&true&/value&
&/property&
&!-- 指定RM的cluster id --&
&property&
&name&yarn.resourcemanager.cluster-id&/name&
&value&yrc&/value&
&/property&
&!-- 指定RM的名字 --&
&property&
&name&yarn.resourcemanager.ha.rm-ids&/name&
&value&rm1,rm2&/value&
&/property&
&!-- 分别指定RM的地址 --&
&property&
&name&yarn.resourcemanager.hostname.rm1&/name&
&value&itcast03&/value&
&/property&
&property&
&name&yarn.resourcemanager.hostname.rm2&/name&
&value&itcast04&/value&
&/property&
&!-- 指定zk集群地址 --&
&property&
&name&yarn.resourcemanager.zk-address&/name&
&value&itcast05:2181,itcast06:2181,itcast07:2181&/value&
&/property&
&property&
&name&yarn.nodemanager.aux-services&/name&
&value&mapreduce_shuffle&/value&
&/property&
&/configuration&
2.2.6修改slaves(slaves是指定子节点的位置,因为要在itcast01上启动HDFS、在itcast03启动yarn,所以itcast01上的slaves文件指定的是datanode的位置,itcast03上的slaves文件指定的是nodemanager的位置)
2.2.7配置免密码登陆
#首先要配置itcast01到itcast02、itcast03、itcast04、itcast05、itcast06、itcast07的免密码登陆
#在itcast01上生产一对钥匙
ssh-keygen -t rsa
#将公钥拷贝到其他节点,包括自己
ssh-coyp-id itcast01
ssh-coyp-id itcast02
ssh-coyp-id itcast03
ssh-coyp-id itcast04
ssh-coyp-id itcast05
ssh-coyp-id itcast06
ssh-coyp-id itcast07
#配置itcast03到itcast04、itcast05、itcast06、itcast07的免密码登陆
#在itcast03上生产一对钥匙
ssh-keygen -t rsa
#将公钥拷贝到其他节点
ssh-coyp-id itcast04
ssh-coyp-id itcast05
ssh-coyp-id itcast06
ssh-coyp-id itcast07
#注意:两个namenode之间要配置ssh免密码登陆,别忘了配置itcast02到itcast01的免登陆
在itcast02上生产一对钥匙
ssh-keygen -t rsa
ssh-coyp-id -i itcast01
2.4将配置好的hadoop拷贝到其他节点
scp -r /itcast/ itcast02:/
scp -r /itcast/ itcast03:/
scp -r /itcast/hadoop-2.4.1/ root@itcast04:/itcast/
scp -r /itcast/hadoop-2.4.1/ root@itcast05:/itcast/
scp -r /itcast/hadoop-2.4.1/ root@itcast06:/itcast/
scp -r /itcast/hadoop-2.4.1/ root@itcast07:/itcast/
###注意:严格按照下面的步骤
2.5启动zookeeper集群(分别在itcast05、itcast06、tcast07上启动zk)
cd /itcast/zookeeper-3.4.5/bin/
./zkServer.sh start
#查看状态:一个leader,两个follower
./zkServer.sh status
2.6启动journalnode(分别在在itcast05、itcast06、tcast07上执行)
cd /itcast/hadoop-2.4.1
sbin/hadoop-daemon.sh start journalnode
#运行jps命令检验,itcast05、itcast06、itcast07上多了JournalNode进程
2.7格式化HDFS
#在itcast01上执行命令:
hdfs namenode -format
#格式化后会在根据core-site.xml中的hadoop.tmp.dir配置生成个文件,这里我配置的是/itcast/hadoop-2.4.1/tmp,然后将/itcast/hadoop-2.4.1/tmp拷贝到itcast02的/itcast/hadoop-2.4.1/下。
scp -r tmp/ itcast02:/itcast/hadoop-2.4.1/
2.8格式化ZK(在itcast01上执行即可)
hdfs zkfc -formatZK
2.9启动HDFS(在itcast01上执行)
sbin/start-dfs.sh
2.10启动YARN(#####注意#####:是在itcast03上执行start-yarn.sh,把namenode和resourcemanager分开是因为性能问题,因为他们都要占用大量资源,所以把他们分开了,他们分开了就要分别在不同的机器上启动)
sbin/start-yarn.sh
到此,hadoop-2.4.1配置完毕,可以统计浏览器访问:
http://192.168.1.201:50070
NameNode 'itcast01:9000' (active)
http://192.168.1.202:50070
NameNode 'itcast02:9000' (standby)
验证HDFS HA
首先向hdfs上传一个文件
hadoop fs -put /etc/profile /profile
hadoop fs -ls /
然后再kill掉active的NameNode
kill -9 &pid of NN&
通过浏览器访问:http://192.168.1.202:50070
NameNode 'itcast02:9000' (active)
这个时候itcast02上的NameNode变成了active
在执行命令:
hadoop fs -ls /
-rw-r--r--
3 root supergroup
-06 15:36 /profile
刚才上传的文件依然存在!!!
手动启动那个挂掉的NameNode
sbin/hadoop-daemon.sh start namenode
通过浏览器访问:http://192.168.1.201:50070
NameNode 'itcast01:9000' (standby)
验证YARN:
运行一下hadoop提供的demo中的WordCount程序:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar wordcount /profile /out
OK,大功告成!!!
其他相似问题

我要回帖

更多关于 root localhost后咋整 的文章

 

随机推荐