zoukankan      html  css  js  c++  java
  • Zookeeper,Hbase 伪分布,集群搭建

    工作中一般使用的都是zookeeper和Hbase的分布式集群.

        more /etc/profile
        cd /usr/local
        zookeeper-3.4.5.tar.gz

    zookeeper在安装部署的时候,节点数量必须是不少于三个的奇数个.

     ===================================

    伪分布式搭建(3个节点):

        伪分布式集群,就是在一台pc中,启动多个zookeeper的实例,完全分布式是指每台pc,启动一个zookeeper实例.

      1.1 解压缩zookeeper-3.4.5.tar.gz

        tar -zxvf zookeeper-3.4.5.tar.gz
        mv zookeeper-3.4.5 zookeeper
        cd zookeeper
        rm -rf docs/
        rm -rf src/
        cd conf/

      1.2 执行命令:

        cp zoo_sample.cfg zoo1.cfg
        more zoo1.cfg    
        tickTime=2000:集群中,各个节点通信的单位叫tick,通信时间是2000毫秒.
        initLimit=10:10个tick,初始化同步时需要的时间.
        syncLimit=5:同步使用的时间.
        dataDir=/tmp/zookeeper:存储数据使用的一些目录.
        clientPort=2181:    客户端与zookeeper通信所使用的端口.

      1.3 修改文件conf/zoo1.cfg,修改内容如下:

        vi zoo1.cfg
        dataDir=/usr/local/zookeeper/zoo1/data/
        clientPort=2181
        #描述zookeeper三个节点之间的关系,
        #4:每个节点的标示. hadoop4:标示zookeeper所在的机器.
        server.1=hadoop4:2888:3888
        server.2=hadoop4:2889:3889
        server.3=hadoop4:2890:3890

      1.4 执行命令:

        cp zoo1.cfg zoo2.cfg

      1.5 修改文件conf/zoo2.cfg,修改内容如下:

        vi zoo2.cfg
        dataDir=/usr/local/zookeeper/zoo2/data/
        clientPort=2182//客户端访问需要使用2182端口,三个不同放入节点,不能都是用同一个端口2181
        server.1=hadoop4:2888:3888
        server.2=hadoop4:2889:3889
        server.3=hadoop4:2890:3890

    1.6 修改文件conf/zoo2.cfg,修改内容如下:

        vi zoo2.cfg
        dataDir=/usr/local/zookeeper/zoo2/data/
        clientPort=2182//客户端访问需要使用2182端口,三个不同放入节点,不能都是用同一个端口2181
        server.1=hadoop0:2888:3888
        server.2=hadoop0:2889:3889
        server.3=hadoop0:2890:3890
        
        cp zoo1 .cfg zoo3.cfg
        vi zoo3.cfg
        dataDir=/usr/local/zookeeper/zoo3/data/
        clientPort=2183//客户端访问需要使用2182端口,三个不同放入节点,不能都是用同一个端口2181
        server.1=hadoop4:2888:3888
        server.2=hadoop4:2889:3889
        server.3=hadoop4:2890:3890

      1.7 执行命令,产生存储数据的目录:

        clear
        mkdir -p /usr/local/zookeeper/zoo1/data/
        mkdir -p /usr/local/zookeeper/zoo2/data/
        mkdir -p /usr/local/zookeeper/zoo3/data/

      1.8 产生标记文件:

        //myid 标注在这个节点下的数据是输入哪一个节点的.
        cd ..
        echo '1' > zoo1/data/myid
        echo '2' > zoo2/data/myid
        echo '3' > zoo3/data/myid

      1.9 分别启动节点:

        cd zookeeper
        bin/zkServer.sh start conf/zoo1.cfg
        bin/zkServer.sh start conf/zoo2.cfg
        bin/zkServer.sh start conf/zoo3.cfg

        jps 查看节点,多出一个zookeeper进程:QuorumPeerMain
        在一个节点上启动三个zookeeper进程,组成的节点就是zookeeper的伪分布.

      zookeeper的操作:

        bin/zkCli.sh
        //连接某一个节点
        connect hadoop4:2182
        //ls 显示zookeeper的目录结构
        ls /
        ls /zookeeper/quota
        //create 创建节点
        create /crxy hadoop
        //get 读取节点的值
        get /crxy
        //set 修改节点的值
        set /crxy 44444
        zookeeper就是一个读写数据的,管理这些数据的时候,就是一个树状结构.
        zookeeper最大的特点:保证数据的同步.

      ip修改和主机名绑定:

        修改主机名:
        vi /etc/sysconfig/network
        修改ip:
        vi /etc/sysconfig/network-scripts/ifcfg-Auto-eth1
        删除硬件地址:HWADDR,UUID
        修改ip地址:IPADDR
        重启网络:
        service netwotk restart 
        查看ip地址:
        ifconfig
        添加ip地址和主机名绑定:
        vi /etc/hosts

     

     ===================================

    Hbase伪分布式搭建(只有一个节点,使用自己的zookeeper实例):

      2.1 解压缩:

        tar -zxvf hbase-0.94.13-security.tar.gz
        mv hbase-0.94.13-security.tar.gz hbase
        rm -rf *.gz
        cd hbase 
        rm -rf docs/
        rm -rf src/

      2.2 编辑文件conf/hbase-env.sh,修改内容:

        vi conf/hbase-env.sh
        export JAVA_HOME=/usr/local/jdk
        //告诉HBASE是否应该自己管理自己的zookeeper实例,true 表示zookeeper是hbase自己搭建的,与外部的没有关系.
        export HBASE_MANAGES_ZK=true

      2.3 编辑文件conf/hbase-site.xml 修改内容:

        vi conf/hbase-site.xml

        <configuration>
            <!-- 存放数据的目录-->
            <property>
                <name>rootDir</name>
                <value>hdfs://hadoop4:9000/hbase</value>
            </property>
            <!--是否是分布式 -->
            <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
            </property>
            <!-- zookeeper存放的机器-->
            <property>
                <name>hbase.zookeeper.quorum</name>
                <value>hadoop4</value>
            </property>
        </configuration>

      2.4 启动hbase之前,需要检查hadoop的hdfs是否正常运行的.

        启动hbase
        cd hbase 
        bin/start-hbase.sh

      2.5 检查,执行jps命令,看到三个新的java进程,分别是:

        HQuorumPeer,HMaster,HRegionServer
        查看hdfs://hadoop4:60010

     ===================================

    zookeeper集群部署:

      1.在hadoop4上解压缩zookeeper-3.4.5.tar.gz

      2.执行命令cp conf/zoo_sample.cfg conf/zoo.cfg

      3.修改文件conf/zoo.cfg

        dataDir=/usr/local/zookeeper/data
        clientPort=2181
    
        server.1=hadoop4:2888:3888
        server.2=hadoop5:2889:3889
        server.3=hadoop6:2890:3890

      4.执行命令,产生存储数据的目录

        mkdir -p /usr/local/zookeeper/data

      5.产生标记文件

        echo '0' > /usr/local/zookeeper/data/myid

      6.把hadoop4上的zookeeper复制到其他节点

        scp -rq zookeeper hadoop5:/usr/local
        scp -rq zookeeper hadoop6:/usr/local

      7.在hadoop5,hadoop6上产生标记文件:

        在hadoop5上执行 echo '1' > /usr/local/zookeeper/data/myid

        在hadoop6上执行 echo '2' > /usr/local/zookeeper/data/myid

      8.在三个节点分别执行bin/zkServer.sh start

      9.检查(1)执行jps查看 (2)执行bin/zkServer.sh status

        hbase关闭:
        hbase/bin/stop-hbase.sh 
        查看zookeeper的状态:
        bin/zkServer.sh ststus

     ===================================

    搭建Hbase集群(hadoop4作为主节点,hadoop5和hadoop6作为从节点):

      1.在hadoop4上 解压缩,

      2.编辑文件conf/hbase-env.sh

        export JAVA_HOME=/usr/local/jdk
        export HBASE_MANAGES_ZK=false

      3.编辑文件conf/hbase-site.xml

        <configuration>
            <!-- 存放数据的目录-->
            <property>
                <name>rootDir</name>
                <value>hdfs://hadoop4:9000/hbase</value>
            </property>
            <!--是否是分布式 -->
            <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
            </property>
            <!-- zookeeper存放的机器-->
            <property>
                <name>hbase.zookeeper.quorum</name>
                <value>hadoop4,hadoop5,hadoop6</value>
            </property>
        </configuration>

      4.编辑文件conf/regionservers修改内容

        hadoop5
        hadoop6

      5.复制hbase到其他节点,hadoop5,hadoop6

        cd ..
        scp hbase hadoop5:/usr/local
        scp hbase hadoop6:/usr/local

      6. 启动hbase之前,要检查hadoop的hdfs,zookeeper,集群是否正常运行.

        hadoop4上执行bin/start-hbase.sh

      7.检查.执行jps命令,在hadoop0看到看到一个新的进程,HMaster

        查看http://hadoop4:60010

  • 相关阅读:
    mysql表检查分析优化
    mysql表存储
    mysql表空间文件
    mysql回滚日志
    mysql重做日志
    mysql二进制日志
    最佳高质量字体
    mysql存储引擎
    如何提取app软件的apk格式中的字体?
    tar split命令
  • 原文地址:https://www.cnblogs.com/xiaolong1032/p/5034727.html
Copyright © 2011-2022 走看看