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. git 项目配置用户名、邮箱的方法

    git 项目配置用户名.邮箱的方法 单个仓库里,配置用户名.邮箱: git config user.name "姓名" git config user.email "邮箱 ...

  2. linux应用之gcc环境的安装

    使用如下两个命令就可把gcc,gcc-c++统统安装 yum -y install gcc yum -y install gcc-c++ 但是用yum install gcc安装gcc编译环境,关于 ...

  3. ElasticSearch(二) 关于DSL

    关于Lucene里面的查询评分,其实是基于一个公式:TF/ IDF(Term-Frequency/ Inverse Document Frequency),词频率/ 倒排文档频率,这个公式讲了一个故事 ...

  4. Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)

    Elasticseach目前作为查询搜索平台,的确非常实用方便.我们今天在这里要讨论的是如何做数据备份和type删除.我的ES的版本是2.4.1. ES的备份,可不像MySQL的mysqldump这么 ...

  5. php解析url并得到url中的参数及获取url参数

    <?php $url = 'http://www.baidu.com/index.php?m=content&c=index&a=lists&catid=6&ar ...

  6. 阅读<All Digital VCXO Replacement for Gigabit Transceiver Applications>笔记---XAPP589

    阅读<All Digital VCXO Replacement for Gigabit Transceiver Applications>笔记---XAPP589 1. 2. 外部设备能为 ...

  7. 关于高并发下kafka producer send异步发送耗时问题的分析

    最近开发网关服务的过程当中,需要用到kafka转发消息与保存日志,在进行压测的过程中由于是多线程并发操作kafka producer 进行异步send,发现send耗时有时会达到几十毫秒的阻塞,很大程 ...

  8. ubuntu-docker入门到放弃(三)images镜像管理

    docker虽然有公共的镜像管理hub,但是我们在日常的使用中,由于不同的业务场景,不同的架构,公共的镜像库不能满足需求,并且出于安全考虑,会搭建私有的docker hub镜像库来管理自己的image ...

  9. 并查集(Union-Find)

    常见问题: 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的.最后要解决的是整幅图的连通性问题.比如随意给你两个点,让你判断它们是否连通,或者问你整幅图一共 ...

  10. WPF实现打印用户界面功能

    方式一:public bool Print(string pathStr) { try { if (File.Exists(pathStr) == false) return false; var p ...