1、Zookeeper安装

  1、解压 zookeeper 到安装目录中/opt/app/zookeeper 中。

  2、在安装目录下创建data和logs两个目录用于存储数据和日志:

      cd /opt/app/zookeeper-3.4.10
      mkdir dir_data
      mkdir dir_logs

  3、在conf目录下新建zoo.cfg文件,写入以下内容保存:

      tickTime=2000
      dataDir=/opt/app/zookeeper-3.4.10/dir_data
      dataLogDir=/opt/app/zookeeper-3.4.10/dir_logs
      clientPort=2181
      initLimit=5
      syncLimit=2
      server.1=s10:2888:3888 //s10,s11,s12是自己的ip
      server.2=s11:2888:3888
      server.3=s11:2888:3888

      注:分布式协调服务:s10,s11,s12

  4、在新建的dir_data下,新建一个myid文件,分配票数。

      s10 : echo '1' > /opt/app/zookeeper-3.4.10/dir_data/myid

      s11: echo '2' > /opt/app/zookeeper-3.4.10/dir_data/myid

      s12: echo '3' > /opt/app/zookeeper-3.4.10/dir_data/myid

  5、启动命令(bin目录下)

      ./zkServer.sh start
      ./zkServer.sh stop
      ./zkServer.sh restart
      ./zkServer.sh status

  注:当半数以上启动时,会每个节点查看状态都能得到其对应的角色。(s10,s11,s12)

2、HA安装

  1、安装HA之前,必须先安装zookeeper

  2、删除原来文件(要删除以前hadoop的残留文件)

    mkdir -p /opt/app/hadoop-2.7.2/journalnode       //创建共享存储系统的journalnode节点编辑日志存储路劲

    mkdir -p /opt/app/hadoop-2.7.2/namenode       //存储namenode的临时文件(不然会在tmp下面)
    mkdir -p /opt/app/hadoop-2.7.2/datanode       //存储datenode的临时文件(不然会在tmp下面)

    rm -rf /opt/app/hadoop-2.7.2/journalnode/*
    rm -rf /opt/app/hadoop-2.7.2/namenode/*
    rm -rf /opt/app/hadoop-2.7.2/datanode/*

    rm -rf /tmp/*                     //所有的都执行

    rm -rf /opt/app/hadoop-2.7.2/data/tmp/*

    rm -rf /opt/app/hadoop-2.7.2/logs/*

  3、更改配置文件core-site.xml

    <configuration>

        <!--配置名称节点集群-->

        <property>

            <name>fs.defaultFS</name>

            <value>hdfs://MyNNS</value>

        </property>

        <property>

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

            <value>/opt/app/hadoop-2.7.2/data/tmp</value>

        </property>

        <!--配置zookeeper-->

        <property>

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

            <value>192.168.40.10:2181,192.168.40.11:2181,192.168.40.12:2181</value>

        </property>

    </configuration>

  4、hdfs-site

    <configuration>

        <!-- 配置集群中的集群名称 -->

        <property>

            <name>dfs.nameservices</name>

            <value>MyNNS</value>

        </property>

        <!-- 配置名称集群中的名称节点-->

        <property>

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

            <value>nn1,nn2</value>

        </property>

        <!--配置nn1的主机位置与端口号 -->

        <property>

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

            <value>192.168.40.10:8020</value>

        </property>

        <!-- 配置nn2的主机名称端口号-->

        <property>

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

            <value>192.168.40.11:8020</value>

        </property>

        <!--配置nn1与nn2 web访问端口 -->

        <property>

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

            <value>192.168.40.10:50070</value>
    </property>

        <property>

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

            <value>192.168.40.11:50070</value>

        </property>

        <!--配置journalnode日志服务器主机位置 -->

        <property>

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

            <value>qjournal://192.168.40.10:8485;192.168.40.11:8485;192.168.40.12:8485/MyNNS</value>

        </property>

        <!--配置journalnode 日志存储的地址 -->

        <property>

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

            <value>/opt/app/hadoop-2.7.2/journalnode</value>

        </property>

        <!-- 配置HA的代理服务-->

        <property>

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

            <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

        </property>

        <!--配置SSH登录 -->

        <property>

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

            <value>sshfence</value>

        </property>

        <property>

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

            <value>/home/hadoop/.ssh/id_rsa</value>

        </property>

        <property>

            <name>dfs.ha.fencing.ssh.connect-timeout</name>

            <value>30000</value>

        </property>

        <!-- 开启自动故障转移功能-->

        <property>

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

            <value>true</value>

        </property>

        <property>

            <name>dfs.permissions.enabled</name>

            <value>false</value>

        </property>

        <!-- namenode临时文件存储目录-->

        <property>
            <name>dfs.name.dir</name>
            <value>/opt/app/hadoop-2.7.2/namenode/</value>
        </property> 

        <!-- datanode临时文件存储目录-->

        <property>
            <name>dfs.data.dir</name>
            <value>/opt/app/hadoop-2.7.2/datanode/</value>
        </property>

    </configuration>

  5、格式化文件系统

    scp -r /opt/app/hadoop-2.7.2 s13:/opt/app/     //分发配置文件

    zkServer.sh start                //三台zk都必须先启动

    hadoop-daemon.sh start journalnode      //三台journalnode都必须先启动

    hadoop namenode -format         //格式化hdfs

    hdfs zkfc -formatZK             //初始化ZK

    hadoop-daemon.sh start namenode      //启动namenode(active节点上)

    hdfs namenode -bootstrapStandby     //同步到Standby节点上

    hadoop-daemon.sh start namenode    //Standby节点上开启namenode

    start-all.sh                //启动全部

    hdfs haadmin -getServiceState nn1 //查看nn1状态
    hdfs haadmin -getServiceState nn2 //查看nn1状态

  6、第二次开启就不需要这么费神了

    zkServer.sh start //三台zk都必须先启动
    start-all.sh //启动全部

2-Zookeeper、HA安装的更多相关文章

  1. 安装hadoop+zookeeper ha

    安装hadoop+zookeeper ha 前期工作配置好网络和主机名和关闭防火墙 chkconfig iptables off //关闭防火墙 1.安装好java并配置好相关变量 (/etc/pro ...

  2. spark HA 安装配置和使用(spark1.2-cdh5.3)

    安装环境如下: 操作系统:CentOs 6.6 Hadoop 版本:CDH-5.3.0 Spark 版本:1.2 集群5个节点 node01~05 node01~03 为worker. node04. ...

  3. zookeeper的安装(图文详解。。。来点击哦!)

    zookeeper的安装(图文详解...来点击哦!) 一.服务器的配置 三台服务器: 192.168.83.133   sunshine 192.168.83.134   sunshineMin 19 ...

  4. (原) 1.1 Zookeeper单机安装

    本文为原创文章,转载请注明出处,谢谢 zookeeper 单机安装配置 1.安装前准备 linux系统(此文环境为Centos6.5) Zookeeper安装包,官网https://zookeeper ...

  5. ZooKeeper的安装、配置、启动和使用(一)——单机模式

    ZooKeeper的安装.配置.启动和使用(一)——单机模式 ZooKeeper的安装非常简单,它的工作模式分为单机模式.集群模式和伪集群模式,本博客旨在总结ZooKeeper单机模式下如何安装.配置 ...

  6. ZooKeeper 的安装和配置---单机和集群

    如题本文介绍的是ZooKeeper 的安装和配置过程,此过程非常简单,关键是如何应用(将放在下节及相关节中介绍). 单机安装.配置: 安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个 ...

  7. JDK+Tomcat+Zookeeper+DubboAdmin安装教程

    JDK+Tomcat+Zookeeper+DubboAdmin安装教程 1. 安装内容: JDK 1.8.131 Tomcat 7.0.77 Zookeeper 3.4.9 Dubbo admin 2 ...

  8. Zookeeper的安装的配置

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt192 安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个 ...

  9. Zookeeper的安装部署

    1.Zookeeper的安装部署 7.1 Zookeeper工作机制 7.1.1.Zookeeper集群角色 Zookeeper集群的角色:  Leader 和  follower (Observer ...

随机推荐

  1. php Call to undefined function imagettftext()问题解决

    测试代码出现报错Call to undefined function imagettftext(),发现是gd库出现了问题 通过phpInfo()查看 gd库已经开启,但是里边没有freeType 和 ...

  2. 怎么理解Python画图中的X,y

    X_outliers=np.array([[3.4, 1.3], [3.2, 0.8]]) y_outliers=np.array([0, 0]) 要明白X,y不再是我们高中时候学的x,y轴的坐标:首 ...

  3. Zookeeper常用操作命令 ls,ls2,get和stat

    一.启动zk客户端 进入bin目录 cd  /usr/local/zookeeper-3.4.13/bin ./zkCli.sh 出现如下界面,说明已经连接上了 二.ls与ls2命令 1. ls pa ...

  4. CenterOS下安装Nginx

    1. 安装gcc 检查版本命令  gcc -v 安装命令 yum install gcc-c++ 2. 安装pcre 命令 yum install prce-devel 3. 安装zlib 命令 yu ...

  5. Go hashcode 输入一个字符串,得到一个唯一标识码

    如何输入一个字符串,得到一个唯一的hashcode? 例子如下: package main import ( "fmt" "hash/crc32" ) // S ...

  6. 图数据库cayley+mongo的起航之旅

    图数据库,目前比较主流的可能是Neo4j以及cayley了.但是,由于Neo4j只有社区版是免费的,所以,选择cayley作为项目的最终选择! 今天就简单的介绍下,我的起航之旅. 1.安装go语言环境 ...

  7. MHA 报错:There is no alive slave. We can't do failover

    dba http://blog.csdn.net/zengxuewen2045/article/details/51524880 关于这个错误:   1 2 3 4 Mon Feb 13 10:29: ...

  8. ThreadingTCPServer 如何设置端口重用

    一个典型的TCPServer的建立 #ThreadingTCPServer从ThreadingMixIn和TCPServer继承 #class ThreadingTCPServer(Threading ...

  9. Variant <-->Record Variant <-->Stream

    //     TARec   --->   Variantfunction RecordToVariant(value:TParamRecord):OleVariant;var P:Pointe ...

  10. 关于Zookeeper选举机制

    zookeeper集群 配置多个实例共同构成一个集群对外提供服务以达到水平扩展的目的,每个服务器上的数据是相同的,每一个服务器均可以对外提供读和写的服务,这点和redis是相同的,即对客户端来讲每个服 ...