CentOS7安装Zookeeper3.4.11+HBase1.3.3

    xiaoxiao2023-11-22  143

     

    写在最前,本次环境搭建是在Hadoop2.6.1,三节点的基础上完成的。

    (关于搭建Hadoop环境,可参考:https://blog.csdn.net/weixin_39400271/article/details/89057884)

    说明:

    #master,表示在master节点上操作;

    #master,#slave1,#slave2,表示在三个节点上都要操作;

    还有一点需要注意的是,本篇文章介绍的是Hadoop+Zookeeper+HBase,对于HBase,是自带有Zookeeper,但不使用其自带的。另外,必须得将zookeeper和hbase的安装放在一起介绍,因为这两者在启动和关闭是有次序之分。

    一、准备工作

            到官网下载:zookeeper-3.4.11.tar.gz、hbase-1.3.3-bin.tar.gz

            然后将这两个安装包mv到虚拟机指定的目录下,这里博主是放到了/usr/local/src/

    二、正式搭建环境

    1、zookeeper:

    1.1 解压安装包:

    #master

    tar -zxvf zookeeper-3.4.11.tar.gz

    1.2 修改zookeeper配置

    #master

    当前目录为/usr/local/src/

    cd ./zookeeper-3.4.11/

    1.3 创建日志文件和数据文件夹:

    mkdir data mkdir log

    修改配置:

    cd conf cp zoo_sample.cfg zoo.cfg vim zoo.cfg

    添加以下信息:

    dataDir=/usr/local/src/zookeeper-3.4.11/data dataLogDir=/usr/local/src/zookeeper-3.4.11/log server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888

    1.4 配置环境变量

    #Master、#Slave1、#Slave2

    vim ~/.bashrc export ZOOKEEPER_HOME=/usr/local/src/zookeeper-3.4.11 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$SCALA_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME /bin

    #刷新环境变量

    source ~/.bashrc

    1.5 远程分发zookeeper文件夹数据

    #master

    scp -r /usr/local/src/zookeeper-3.4.11 root@slave1:/usr/local/src/zookeeper-3.4.11 scp -r /usr/local/src/zookeeper-3.4.11 root@slave2:/usr/local/src/zookeeper-3.4.11

    1.6 添加ID:

    #Master

    echo "1" > /usr/local/src/zookeeper-3.4.11/data/myid

    #Slave1

    echo "2" > /usr/local/src/zookeeper-3.4.11/data/myid

    #Slave2

    echo "3" > /usr/local/src/zookeeper-3.4.11/data/myid

    1.5 启动Zookeeper服务

    #Master、#Slave1、#Slave2

    zkServer.sh start

    验证结果:

    zkServer.sh status

            zookeeper是采用随机选举的方式决定哪一台机器是leader,所以这里并不能保证master机器就是被选举成为zookeeper的leader节点。

    1.6 关闭集群

    #master、Slave1、Slave2

    zkServer.sh stop

    2、HBase:

    2.1 解压压缩包

    #master

    当前目录是/usr/local/src/

    tar -zxvf hbase-1.3.3-bin.tar.gz

    2.2 创建文件夹:在hbase目录中

    cd ./hbase-1.3.3/ mkdir logs mkdir zookeeper mkdir -p var/hbase

    2.3 修改HBase的配置

    2.3.1 修改regionservers内容:

    cd hbase-1.3.3/conf vim regionservers

    添加内容(将原有内容清空):

    master slave1 slave2

    2.3.2 修改hbase-env.sh 内容:

    vim hbase-env.sh

    添加内容:

    export JAVA_HOME=/usr/local/src/jdk1.8.0_201 export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib #注意,这里符号是.: export HBASE_MANAGES_ZK=false export HBASE_LOG_DIR=${HBASE_HOME}/logs

    HBASE_MANAGES_ZK=false 时使用独立的,为true时使用默认自带的。

    export HBASE_LOG_DIR是设置log文件存储的地方,可以直接添加此项,也可以在hbase-env.sh 里面找到这一项,将其前面的#去掉。

    2.3.3 修改hbase-site.xml内容

    vim hbase-site.xml <configuration> <property> <name>hbase.tmp.dir</name> <value>/var/hbase</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master,slave1,slave2</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/src/hbase-1.3.3/zookeeper</value> </property> <property> <name>hbase.master.info.port</name> <value>60010</value> </property> </configuration>

    2.4 配置环境变量

    #Master、#Slave1、#Slave2

    vim ~/.bashrc export HBASE_HOME=/usr/local/src/hbase-1.3.3 export HBASE_CLASSPATH=$HBASE_HOME/conf export HBASE_LOG_DIR=$HABSE_HOME/logs export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$SCALA_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME /bin

    刷新环境变量:

    source ~/.bashrc

    2.5 远程分发hbase文件

    scp -r /usr/local/src/hbase-1.3.3/ root@slave1:/usr/local/src/ scp -r /usr/local/src/hbase-1.3.3/ root@slave2:/usr/local/src/

    2.6 启动集群

            这里必须注意了,启动HBase并不是简单的只启动HBase,因为上面已经配置了禁止使用自带zookeeper,这意味着需要启动刚才安装的zookeeper集群,然而还需要hadoop集群。因此:

    启动顺序:hadoop-->zookeeper-->hbase

    关闭顺序:hbase-->zookeeper-->hadoop

    如果不按顺序开启集群,最常见的异常就是hbase的Hmaster节点启动没几秒就掉了;如果不按顺序关闭,hbase会出现关闭异常,类似下图提示:

    hbase的启动方式是:

    #master

    start-hbase.sh

    验证:

    登录master:60010/master-status查看HBase状态:

     

    最新回复(0)