Hadoop2.5.2 HA高可靠性集群搭建(Hadoop+Zookeeper)(2)

[hadoop@Mast1 conf]$ cat zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/hadoop/zookeeper/data
dataLogDir=/home/hadoop/zookeeper/datalog
# the port at which the clients will connect
clientPort=2181
server.1=mast1:2888:3888
server.2=mast2:2888:3888
server.3=mast3:2888:3888

2.5配置Hadoop配置文件
先配置mast1这台机器,配置后了后,将配置环境,复制到mast2、mast3上面即可!
hadoop2.0的配置存放在~/etc/hadoop目录下面,

core.xml

<configuration>
 <!-- 指定hdfs的nameservice为ns -->
 <property>   
      <name>fs.defaultFS</name>   
      <value>hdfs://ns</value>   
 </property>
 <!--指定hadoop数据临时存放目录-->
 <property>
      <name>hadoop.tmp.dir</name>
      <value>/home/hadoop/workspace/hdfs/temp</value>
 </property> 
                         
 <property>   
      <name>io.file.buffer.size</name>   
      <value>4096</value>   
 </property>
 <!--指定zookeeper地址-->
 <property>
      <name>ha.zookeeper.quorum</name>
      <value>mast1:2181,mast2:2181,mast3:2181</value>
 </property>
 </configuration>

hdfs-site.xml

<configuration>
    <!--指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致 -->   
    <property>   
        <name>dfs.nameservices</name>   
        <value>ns</value>   
    </property> 
    <!-- ns下面有两个NameNode,分别是nn1,nn2 -->
    <property>
      <name>dfs.ha.namenodes.ns</name>
      <value>nn1,nn2</value>
    </property>
    <!-- nn1的RPC通信地址 -->
    <property>
      <name>dfs.namenode.rpc-address.ns.nn1</name>
      <value>mast1:9000</value>
    </property>
    <!-- nn1的http通信地址 -->
    <property>
        <name>dfs.namenode.http-address.ns.nn1</name>
        <value>mast1:50070</value>
    </property>
    <!-- nn2的RPC通信地址 -->
    <property>
        <name>dfs.namenode.rpc-address.ns.nn2</name>
        <value>mast2:9000</value>
    </property>
    <!-- nn2的http通信地址 -->
    <property>
        <name>dfs.namenode.http-address.ns.nn2</name>
        <value>mast2:50070</value>
    </property>
    <!-- 指定NameNode的元数据在JournalNode上的存放位置 -->
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://mast1:8485;mast2:8485;mast3:8485/ns</value>
    </property>
    <!-- 指定JournalNode在本地磁盘存放数据的位置 -->
    <property>
          <name>dfs.journalnode.edits.dir</name>
          <value>/home/hadoop/workspace/journal</value>
    </property>
    <!-- 开启NameNode故障时自动切换 -->
    <property>
          <name>dfs.ha.automatic-failover.enabled</name>
          <value>true</value>
    </property>
    <!-- 配置失败自动切换实现方式 -->
    <property>
            <name>dfs.client.failover.proxy.provider.ns</name>
            <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
    <!-- 配置隔离机制 -->
    <property>
            <name>dfs.ha.fencing.methods</name>
            <value>sshfence</value>
    </property>
    <!-- 使用隔离机制时需要ssh免登陆 -->
    <property>
            <name>dfs.ha.fencing.ssh.private-key-files</name>
            <value>/home/hadoop/.ssh/id_rsa</value>
    </property>
                             
    <property>   
        <name>dfs.namenode.name.dir</name>   
        <value>file:///home/hadoop/workspace/hdfs/name</value>   
    </property>   
   
    <property>   
        <name>dfs.datanode.data.dir</name>   
        <value>file:///home/hadoop/workspace/hdfs/data</value>   
    </property>   
   
    <property>   
      <name>dfs.replication</name>   
      <value>2</value>   
    </property> 
    <!-- 在NN和DN上开启WebHDFS (REST API)功能,不是必须 -->                                                                   
    <property>   
      <name>dfs.webhdfs.enabled</name>   
      <value>true</value>   
    </property>   
</configuration>

mapred-site.xml

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0b763706b96093d2d8029bac14e9d1f8.html