一.环境说明

虚拟机:vmware 11

操作系统:Ubuntu 16.04

Hadoop版本:2.7.2

Zookeeper版本:3.4.9

二.节点部署说明

三.Hosts增加配置

sudo gedit /etc/hosts

wxzz-pc、wxzz-pc0、wxzz-pc1、wxzz-pc2均配置如下:

127.0.0.1 localhost
192.168.72.132 wxzz-pc
192.168.72.138 wxzz-pc0
192.168.72.135 wxzz-pc1
192.168.72.136 wxzz-pc2

四.zookeeper上配置

Zoo.cfg配置文件内容如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper-3.4.9/tmp/dataDir
dataLogDir=/opt/zookeeper-3.4.9/tmp/logs/
clientPort=2181
server.1=wxzz-pc:2182:2183
server.2=wxzz-pc0:2182:2183
server.3=wxzz-pc1:2182:2183

在/opt/zookeeper-3.4.9/tmp/dataDir下新建”myid”文件,wxzz-pc、wxzz-pc0、wxzz-pc1三台虚拟机中myid文件分别对应的内容为:1、2、3,也就是server.X=wxzz-pc:2182:2183,对应X的数值。

五.Hadoop配置

1.core-site.xml 配置

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://myhadoop:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.7.2/tmp/hadoop-${user.name}</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>wxzz-pc:2181,wxzz-pc0:2181,wxzz-pc1:2181</value>
</property>
</configuration>

2. hdfs-site.xml 配置

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.block.size</name>
<value>10485760</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.7.2/tmp/hadoop-${user.name}</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>${hadoop.tmp.dir}/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>${hadoop.tmp.dir}/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>myhadoop</value>
</property>
<property>
<name>dfs.ha.namenodes.myhadoop</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.myhadoop.nn1</name>
<value>wxzz-pc:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.myhadoop.nn1</name>
<value>wxzz-pc:50070</value>
</property>
<property>
<name>dfs.namenode.rpc-address.myhadoop.nn2</name>
<value>wxzz-pc0:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.myhadoop.nn2</name>
<value>wxzz-pc0:50070</value>
</property>
<property>
<name>dfs.namenode.servicerpc-address.myhadoop.nn1</name>
<value>wxzz-pc:53310</value>
</property>
<property>
<name>dfs.namenode.servicerpc-address.cluster1.nn2</name>
<value>wxzz-pc0:53310</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled.cluster1</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://wxzz-pc:8485;wxzz-pc0:8485;wxzz-pc1:8485/myhadoop</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.myhadoop</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/hadoop-2.7.2/journal</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/opt/hadoop-2.7.2/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>1000</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>10</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled.myhadoop</name>
<value>true</value>
</property>
</configuration>

3. mapred-site.xml 配置

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>0.0.0.0:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>0.0.0.0:19888</value>
</property>
</configuration>

4.yarn-site.xml 配置

<configuration>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>rm-id</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>wxzz-pc</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>wxzz-pc0</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>wxzz-pc:2181,wxzz-pc0:2181,wxzz-pc1:2181</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

六.服务启动

1.在各个Journal Node节点上,输入以下命令启动Journal Node

sbin/hadoop-daemon.sh start journalnode

2.在[nn1]上,进行格式化,并启动

bin/hdfs namenode -format

sbin/hadoop-daemon.sh start namenode

3.在[nn2]上,同步[nn1]的元数据信息,并启动

bin/hdfs namenode -bootstrapStandby

sbin/hadoop-daemon.sh start namenode

经过以上3步,[nn1]和[nn2]均处在standby状态

4.[nn1]节点上,将其转换为active状态

bin/hdfs haadmin –transitionToActive --forcemanual nn1

5.在[nn1]上,启动所有datanode

sbin/hadoop-daemons.sh start datanode

6.在[nn1]上,启动yarn

sbin/start-yarn.sh

如果要关闭集群,在[nn1]上输入sbin/stop-all.sh即可。以后每次启动的时候,需要按照上面的步骤启动,不过不需要执行2 的格式化操作。

七.运行效果

管理界面:

命令行效果:


1.[连载]《C#通讯(串口和网络)框架的设计与实现》

2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍

2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案

3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

5.ServerSuperIO开源地址:https://github.com/wxzz/ServerSuperIO

物联网&集成技术(.NET) QQ群

hadoop 2.7.2 + zookeeper 高可用集群部署的更多相关文章

  1. hadoop+yarn+hbase+storm+kafka+spark+zookeeper)高可用集群详细配置

    配置 hadoop+yarn+hbase+storm+kafka+spark+zookeeper 高可用集群,同时安装相关组建:JDK,MySQL,Hive,Flume 文章目录 环境介绍 节点介绍 ...

  2. zookeeper高可用集群搭建

    前提:已经在master01配置好hadoop:在各个slave节点配置好hadoop和zookeeper: (该文是将zookeeper配置在各slave节点上的,其实也可以配置在各master上, ...

  3. hbase高可用集群部署(cdh)

    一.概要 本文记录hbase高可用集群部署过程,在部署hbase之前需要事先部署好hadoop集群,因为hbase的数据需要存放在hdfs上,hadoop集群的部署后续会有一篇文章记录,本文假设had ...

  4. (十)RabbitMQ消息队列-高可用集群部署实战

    原文:(十)RabbitMQ消息队列-高可用集群部署实战 前几章讲到RabbitMQ单主机模式的搭建和使用,我们在实际生产环境中出于对性能还有可用性的考虑会采用集群的模式来部署RabbitMQ. Ra ...

  5. RocketMQ的高可用集群部署

    RocketMQ的高可用集群部署 标签(空格分隔): 消息队列 部署 1. RocketMQ 集群物理部署结构 Rocket 物理部署结构 Name Server: 单点,供Producer和Cons ...

  6. RabbitMQ的高可用集群部署

    RabbitMQ的高可用集群部署 标签(空格分隔): 消息队列 部署 1. RabbitMQ部署的三种模式 1.1 单一模式 单机情况下不做集群, 仅仅运行一个RabbitMQ. # docker-c ...

  7. rocketmq高可用集群部署(RocketMQ-on-DLedger Group)

    rocketmq高可用集群部署(RocketMQ-on-DLedger Group) rocketmq部署架构 rocketmq部署架构非常多,都是为了解决一些问题,越来越高可用,越来越复杂. 单ma ...

  8. MySQL MHA 高可用集群部署及故障切换

    MySQL MHA 高可用集群部署及故障切换 1.概念 2.搭建MySQL + MHA 1.概念: a)MHA概念 : MHA(MasterHigh Availability)是一套优秀的MySQL高 ...

  9. Hadoop部署方式-高可用集群部署(High Availability)

    版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的高可用集群是建立在完全分布式基础之上的,详情请参考:https://www.cnblogs.com/yinzhengjie/p/90651 ...

随机推荐

  1. 浅谈Java的throw与throws

    转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...

  2. iOS开源项目周报1215

    由OpenDigg 出品的iOS开源项目周报第一期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. PY ...

  3. Atitit.cto 与技术总监的区别

    Atitit.cto 与技术总监的区别 1. 核心区别1 2. Cto主要职责1 3. 如何提升到cto1 4. CTO五种基本的必备素质:2 5. 2 1. 核心区别 技术总监(Chief Tech ...

  4. 浅谈SQL注入风险 - 一个Login拿下Server

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  5. 客服小妹是如何泡到手的——C#定时提醒·语音录制·语音播放·文件转录Demo源码——倾情奉献!

    一.需求提出 客服小妹跟我说,每天要统计新加好友数,得先记下昨天的数目,然后查看今天的数目,还要相减,打字,记录——好麻烦! 又说,客户多的时候,忙起这头忘了那头,文字记录备忘又太费劲! 我说,赐你一 ...

  6. 吸顶大法 -- UWP中的工具栏吸顶的实现方式之一

    如果一个页面中有很长的列表/内容,很多应用都会在用户向下滚动时隐藏页面的头,给用户留出更多的阅读空间,同时提供一个方便的吸顶工具栏,比如淘宝中的店铺页面. 下面是一个比较简单的实现,如果有同学有更好的 ...

  7. java太low,又舍不得jvm平台的丰富资源?试试kotlin吧(一)

    尝试kotlin的起因 因为各种原因(版权,人员招聘),公司的技术体系从c#转到了java,我花了大概两周的时间来上手java,发现java的语法还是非常简单的,基本看着代码就知道什么意思.学习jav ...

  8. 内网穿透神器ngrok

    相信做Web开发的同学们,经常会遇到需要将本地部署的Web应用能够让公网环境直接访问到的情况,例如微信应用调试.支付宝接口调试等.这个时候,一个叫ngrok的神器可能会帮到你,它提供了一个能够在公网安 ...

  9. Html5 快速排序演示

    快速排序(Quicksort)是对冒泡排序的一种改进.快速排序由C. A. R. Hoare在1962年提出. 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另 ...

  10. 使用packer制作vagrant centos box

    使用packer制作vagrant box:centos 制作vagrant box,网上有教程,可以自己step by step的操作.不过直接使用虚拟在VirtualBox中制作vagrant b ...