Hadoop2.2.0中配置SecondaryNameNode

在Hadoop1.x.x的版本中,masters 文件里记录SecondaryNameNode的机器列表,每行一个 slaves 文件里记录启动datanode 和 tasktracker的机器列表,

hadoop2.2.0里采用了HA机制(active NameNode和standby NameNode),可以不用secondarynamenode了,当然也还可以用secondarynamenode。

Hadoop2.2.0里没有masters文件了,slaves文件还在,记录所有的DataNode。


这是hadoop2.2.0里SecondaryNameNode的默认配置:


  dfs.namenode.secondary.http-address
  0.0.0.0:50090
  
    The secondary namenode http server address and port.
  

也就是说,默认情况下,hadoop 在NameNode所在机器里运行SecondaryNameNode,http监听端口是50090,在浏览器输入NameNode的地址和50090端口号,就可看到其信息。如下

SecondaryNameNode
Version: 2.2.0, 1529768 Compiled: 2013-10-07T06:28Z by hortonmu from branch-2.2.0 

--------------------------------------------------------------------------------

SecondaryNameNode Status
Name Node Address    : hadoop1.highgo.com/192.168.100.90:9000
Start Time           : Tue May 27 14:48:24 CST 2014
Last Checkpoint Time : Tue May 27 15:49:28 CST 2014
Checkpoint Period    : 3600 seconds
Checkpoint Size      : 976.56 KB (= 1000000 bytes)
Checkpoint Dirs      : [file:///home/hadoop/develop/hadoop/tmp/dfs/namesecondary]
Checkpoint Edits Dirs: [file:///home/hadoop/develop/hadoop/tmp/dfs/namesecondary]

but,这样不安全,要分到两台服务器上。

所以NameNode和SecondaryNameNode的配置是分开的。

NameNode由core-site.xml fs.default.name指定,例子如下


		fs.default.name
		hdfs://master:9000
	

而SecondaryNameNode在hdfs-site.xml 中配置:

  
    dfs.http.address  
    ${namenode}:50070  
    Secondary get fsimage and edits via dfs.http.address  
  
  
    dfs.secondary.http.address  
    ${secondarynamenode}:50090  
    NameNode get the newest fsimage via dfs.secondary.http.address  
 

注意:

  1. 实际上dfs.http.address只在secondary机器上的hdfs-site.xml文件中设置,dfs.secondary.http.address只在namenode上设置即可,为了便于管理,集群所有机器同样配置

  2. 采用默认端口(namenode:50070,secondary:50090)时可以省略该配置

你可能感兴趣的:(Hadoop,namenode,hdfs,dfs,hadoop,hadoop集群)