hadoop2.7.3在集群中配置多个namenode(federation cluster)

hadoop2.7.3在集群中配置多个namenode(federation cluster)

首先需要说明的是,在集群中配置多个namenode和在集群中使用secondaryNamenode是完完全全的两码事。具体是如何区分的,我之后会在写一篇haoop官方当中的译文,同时解释一下这两者的区别。在这里先简单的说一下。secondaryNamenode的作用是给namenode分担压力的,会定时的帮助namenode做一些处理。而配置多个namenode的相当于配置了一个联邦集群,每个anmenode之间都不会进行通信,各自管理各自的命名空间。

好,下面上货。
当然,完成本篇配置的前提:
1、已经能够配置单个namenode的hadoop集群。
2、haoop集群最好是完全分布式的(伪分布式没有测试,但是单点估计是不行。)

一、硬件环境:
host1 192.168.1.221
host2 192.168.1.222
host3 192.168.1.223

二、配置文件
其中,host1用作namenode,host2用作namenode,host3用作datanode。
配置文件(每个主机上的相同):hdfs-site.xml




    
        dfs.namenode.name.dir
        file:/home/hadoop/dfs/name
    
    
        dfs.datanode.data.dir
        file:/home/hadoop/dfs/data
    
    
        dfs.replication
        2
    
    
    dfs.webhdfs.enabled
    true
    
	
	dfs.datanode.max.transfer.threads
	4096
	

	
		dfs.federation.nameservices
		host1,host2
	

	
		dfs.namenode.rpc-address.host1
		host1:9000
	
	
		dfs.namenode.http-address.host1
		host1:50070
	
	
		dfs.namenode.secondary.http-address.host1
		host1:9001
	
	
	
		dfs.namenode.rpc-address.host2
		host2:9000
	
	
		dfs.namenode.http-address.host2
		host2:50070
	
	
		dfs.namenode.secondary.http-address.host2
		host2:9001
	



host1上的配置文件:core-site.xml





        fs.defaultFS
        hdfs://host1:9000
    
    
        hadoop.tmp.dir
        file:/home/hadoop/tmp
    
    
        io.file.buffer.size
        131702
    


host2上的配置文件:core-site.xml





        fs.defaultFS
        hdfs://host2:9000
    
    
        hadoop.tmp.dir
        file:/home/hadoop/tmp
    
    
        io.file.buffer.size
        131702
    



host3上的配置文件:core-site.xml(需要说明一下,这里的df.defaultFS配置成任意一个就可以了)





        fs.defaultFS
        hdfs://host1:9000
    
    
        hadoop.tmp.dir
        file:/home/hadoop/tmp
    
    
        io.file.buffer.size
        131702
    


注意,host3作为datanode没有使用core-site.xml中的配置,而host1和host2在进行文件读取的时候,都会先读取本地的core-site.xml这个配置文件。
三、测试截图

下面是一个简单的测试,用来显示和证明这两个namenode是分开的分别拥有自己的命名空间的。
首先是启动hadoop:
hadoop2.7.3在集群中配置多个namenode(federation cluster)_第1张图片

启动后,从web中看两个namenode的情况:
hadoop2.7.3在集群中配置多个namenode(federation cluster)_第2张图片
hadoop2.7.3在集群中配置多个namenode(federation cluster)_第3张图片
在host1中创建一个目录。

host1中的文件夹:
hadoop2.7.3在集群中配置多个namenode(federation cluster)_第4张图片

在host2中创建一个目录。

host2中的文件夹:
hadoop2.7.3在集群中配置多个namenode(federation cluster)_第5张图片

这样说明了两个namenode是分离的,分别保存着自己的文件块对应表。

你可能感兴趣的:(linux,hadoop,hadoop,namenode,hadoop集群,分布式)