分享

Hadoop2.5 HA搭建

 昵称23016082 2015-04-28

主从机构

         主:jobtracker

    从:tasktracker

四个阶段:

1、 Split

2、 Mapperkey-value(对象)

3、 Shuffle

a)       分区(partitionHashPartition:根据keyhashcode Reduce的数量 模运算),可以自定义分区,运算速度要快。一定要解决数据倾斜和reduce的负载均衡。

b)       排序:默认按照字典排序。WriterCompartor(比较)

c)        合并:减少当前mapper输出数据,根据key相同(比较),把 value 进行合并。

d)       分组(key相同(比较),value组成一个集合)(merge

4、 Reduce

a)       输入数据:key + 迭代器

 

 

Hadoop2.5 HA搭建

四台机器:hadoop1hadoop2hadoop3hadoop4前提:hosts文件中配置所有主机的ip和主机名称,包括自身主机

 

 

NN

DN

ZK

ZKFC

JN

RM

NM(任务管理)

Hadoop1

Y

 

Y

Y

 

 

 

Hadoop2

Y

Y

Y

Y

Y

Y

Y

Hadoop3

 

Y

Y

 

Y

 

Y

Hadoop4

 

Y

 

 

Y

 

Y

 

 

1.      core-site.xml

<configuration>

<property>

  <name>fs.defaultFS</name>

  <value>hdfs://bjsxt</value>

</property>

<property>

   <name>ha.zookeeper.quorum</name>

   <value>hadoop1:2181,hadoop2:2181,hadoop3:2181</value>

</property>

<property>

  <name>hadoop.tmp.dir</name>

  <value>/opt/hadoop</value>

</property>

</configuration>

2.      hdfs-site.xml

<configuration>

<property>

  <name>dfs.nameservices</name>

  <value>bjsxt</value>

</property>

<property>

  <name>dfs.ha.namenodes.bjsxt</name>

  <value>nn1,nn2</value>

</property>

<property>

  <name>dfs.namenode.rpc-address.bjsxt.nn1</name>

  <value>hadoop1:8020</value>

</property>

<property>

  <name>dfs.namenode.rpc-address.bjsxt.nn2</name>

  <value>hadoop2:8020</value>

</property>

<property>

  <name>dfs.namenode.http-address.bjsxt.nn1</name>

  <value>hadoop1:50070</value>

</property>

<property>

  <name>dfs.namenode.http-address.bjsxt.nn2</name>

  <value>hadoop2:50070</value>

</property>

<property>

  <name>dfs.namenode.shared.edits.dir</name>

  <value>qjournal://hadoop2:8485;hadoop3:8485;hadoop4:8485/bjsxt</value

</property>

<property>

  <name>dfs.client.failover.proxy.provider.bjsxt</name>

  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverPr

oxyProvider</value>

</property>

<property>

  <name>dfs.ha.fencing.methods</name>

  <value>sshfence</value>

</property>

<property>

  <name>dfs.ha.fencing.ssh.private-key-files</name>

  <value>/root/.ssh/id_dsa</value>

</property>

<property>

  <name>dfs.journalnode.edits.dir</name>

  <value>/opt/hadoop/data</value>

</property>

<property>

   <name>dfs.ha.automatic-failover.enabled</name>

   <value>true</value>

</property>

</configuration>

3.      准备zookeeper

a)       三台zookeeperhadoop1hadoop2hadoop3

b)       编辑zoo.cfg配置文件

                     i.            修改dataDir=/opt/zookeeper

                   ii.            server.1=hadoop1:2888:3888

server.2=hadoop2:2888:3888

server.3=hadoop3:2888:3888

c)        dataDir目录中创建一个myid的文件,文件内容为123

4.      配置hadoop中的slaves

5.      启动三个zookeeper./zkServer.sh start

6.      启动三个JournalNode./hadoop-daemon.sh start journalnode

7.      在其中一个namenode上格式化:hdfs namenode -format如果出现有节点没有起来,删除VERSION中的所有文件,重新格式化

8.      把刚刚格式化之后的元数据拷贝到另外一个namenode

a)       启动刚刚格式化的namenode

b)       在没有格式化的namenode上执行:hdfs namenode –bootstrapStandby

c)        启动第二个namenode

9.      在其中一个namenode上初始化zkfchdfs zkfc –formatZK

10.   停止上面节点:stop-dfs.sh

11.   全面启动:start-dfs.sh

 

mapreduce的配置:

         mapred-site.xml

                  <configuration>

                          <property>

                                   <name>mapreduce.framework.name</name>

                                   <value>yarn</value>

                          </property>

                  </configuration>

 

yarn-site.xml:

         <property>

                  <name>yarn.resourcemanager.hostname</name>

                  <value>Ivan-PC1</value>

         </property>

<property>

         <name>yarn.nodemanager.aux-services</name>

         <value>mapreduce_shuffle</value>

</property>

 

<property>

         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

         <value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

 

./start-all.sh start

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多