FreeBSD下安装配置Hadoop集群(四)

前面说过了NameNode,DataNode的配置方法,这次说Secondary的配置方法。hadoop为实现高可用,支持配置失效备份的Namenode,这样当主的Namenode挂掉了之后,可以从Secondary把数据恢复回去。可以理解为Mysql的Master和Slave,但是不同的是,hadoop的Secondary不能直接当Namenode使用,更多的时候是用它当namenode的数据恢复。

其实secondary的配置有些类似于Datanode

看下配置文件

core-site.xml

<? xml version ="1.0" ?>
<? xml-stylesheet type ="text/xsl" href ="configuration.xsl" ?>

<!-- Put site-specific property overrides in this file. -->

< configuration >
     < property >
         < name >fs.default.name </ name >
         < value >hdfs://hadoopmaster-177.tj:9000 </ value >
<!--指定master地址-->
     </ property >
     < property >
         < name >fs.checkpoint.dir </ name >
         < value >/opt/data/hadoop1/hdfs/namesecondary,/opt/data/hadoop2/hdfs/namesecondary </ value >
<!--其实这个比较重要,数据恢复全靠它-->
     </ property >
     < property >
         < name >fs.checkpoint.period </ name >
         < value >1800 </ value >
     </ property >
     < property >
         < name >fs.checkpoint.size </ name >
         < value >33554432 </ value >
     </ property >
     < property >
         < name >io.compression.codecs </ name >
         < value >org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache
.hadoop.io.compress.BZip2Codec </ value >
     </ property >
     < property >
         < name >io.compression.codec.lzo.class </ name >
         < value >com.hadoop.compression.lzo.LzoCodec </ value >
     </ property >
</ configuration >


hdfs-site.xml

<? xml version ="1.0" ?>
<? xml-stylesheet type ="text/xsl" href ="configuration.xsl" ?>

<!-- Put site-specific property overrides in this file. -->

< configuration >
     < property >
         < name >dfs.name.dir </ name >
         < value >/opt/data/hadoop1/hdfs/name,/opt/data/hadoop2/hdfs/name </ value >
         < description >     </ description >
     </ property >
     < property >
         < name >dfs.data.dir </ name >
         < value >/opt/data/hadoop1/hdfs/data,/opt/data/hadoop2/hdfs/data </ value >
         < description > </ description >
     </ property >
     < property >
         < name >dfs.http.address </ name >
         < value >hadoopmaster-177.tj:50070 </ value >
     </ property >
     < property >
         < name >dfs.secondary.http.address </ name >
         < value >hadoopslave-189.tj:50090 </ value >
<!--注意这里-->
     </ property >
     < property >
         < name >dfs.replication </ name >
         < value >3 </ value >
     </ property >
     < property >
         < name >dfs.datanode.du.reserved </ name >
         < value >1073741824 </ value >
     </ property >
     < property >
         < name >dfs.block.size </ name >
         < value >134217728 </ value >
     </ property >
</ configuration >

mapred-site.xml

<? xml version ="1.0" ?>
<? xml-stylesheet type ="text/xsl" href ="configuration.xsl" ?>

<!-- Put site-specific property overrides in this file. -->

< configuration >
     < property >
         < name >mapred.job.tracker </ name >
         < value >hadoopmaster-177.tj:9001 </ value >
     </ property >
     < property >
         < name >mapred.local.dir </ name >
         < value >/opt/data/hadoop1/mapred/mrlocal </ value >
         < final >true </ final >
     </ property >    
     < property >
         < name >mapred.system.dir </ name >
         < value >/opt/data/hadoop1/mapred/mrsystem </ value >
         < final >true </ final >
     </ property >    
     < property >
         < name >mapred.tasktracker.map.tasks.maximum </ name >
         < value >12 </ value >
         < final >true </ final >
     </ property >    
     < property >
         < name >mapred.tasktracker.reduce.tasks.maximum </ name >
         < value >4 </ value >
         < final >true </ final >
     </ property >    
     < property >
         < name >mapred.child.java.opts </ name >
         < value >-Xmx1536M </ value >
     </ property >
     < property >
         < name >mapred.compress.map.output </ name >
         < value >true </ value >
     </ property >
     < property >
         < name >mapred.map.output.compression.codec </ name >
         < value >com.hadoop.compression.lzo.LzoCodec </ value >
     </ property >
     < property >
         < name >mapred.child.java.opts </ name >
         < value >-Djava.library.path=/opt/hadoopgpl/native/Linux-amd64-64 </ value >
     </ property >
</ configuration >

然后masters文件也要指向master namenode的主机名,在这里也就是hadoopmaster-177.tj
slaves文件内容则仍是Datanode的主机名。

而真正的主namenode里面的conf/master文件则写从namenode的主机名
hadoopslave-189.tj
slaves不变。

意思就是主namenode的masters写secondary的主机名,从namenode的masters写primary的主机名。

这样,从namenode到datanode到secondary就完整了。可以开始真实的运行map/reduce运算了。如果namenode失效了,可以从secondary的checkpoint指定的路径里将数据恢复到namenode。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值