HBase2.1.4分布式安装部署

老吴2019-04-08 09:42大数据918浏览


版权声明:本篇文章为原创文章,转载请注明出处。https://yao2san.com/article/2048

版本

HBase基于Hadoop,安装前需要安装Hadoop,需要jdk1.8以上版本。

Hadoop版本:2.9.2
HBase版本:2.1.4
jdk版本:1.8

部署结构

使用三台云服务器部署HBase:

由于服务器数量及性能有限,所以只用了一台zk,使用hadoop的两个数据节点机器部署hbase。

下载

    wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.1.4/hbase-2.1.4-bin.tar.gz

    tar -xzf hbase-2.1.4-bin.tar.gz

配置

1.修改/conf/hbase-site.xml


    <configuration>
         <property>
         <name>hbase.rootdir</name>
         <!--注意这里修改为实际的hdfs地址-->
         <value>hdfs://hadoop.master:9000/hbase</value>
       </property>
       <property>
         <name>hbase.cluster.distributed</name>
         <value>true</value>
       </property>
       <property>
         <name>hbase.master</name>
         <!--注意这里修改为实际的hdfs地址-->
         <value>hdfs://hadoop-master:60000</value>
       </property>
       <property>
            <name>hbase.zookeeper.quorum</name>
            <!--注意这里修改为实际的zk地址-->
            <value>zk.master</value>
       </property>
       <property>
           <name>hbase.zookeeper.property.dataDir</name>
           <value>/data/work/zookeeper</value>
       </property>
    </configuration>

2.修改/conf/regionservers

删除原来的localhost(注意不能有注释),添加节点,其中hadoop.slave即为本机(hbase主节点),这里使用之前配置的Hadoop主机名,没有修改成hbase的。


    hadoop.slave1
    hadoop.slave2

3.修改/conf/hbase-env.sh

需要修改的有3处(修改前是被注释掉的,需要取消注释)

    # The java implementation to use.  Java 1.8+ required
    export JAVA_HOME=/usr/files/java/jdk1.8/

    # Where log files are stored.  $HBASE_HOME/logs by default.
     export HBASE_LOG_DIR=${HBASE_HOME}/logs


    # Tell HBase whether it should manage it's own instance of ZooKeeper or not.
     export HBASE_MANAGES_ZK=true

其中的值需要根据实际情况来修改

同样的,在另一台机器上也修改同样的内容,可以scp复制到其他机器(注意配置免密码登录,否则启动hbase机群时每次都需要输密码)。

启动

../bin/start-hbase.sh

启动后jps发现没有运行的Hbase相关进程,查看启动日志(./logs目录下),发现有如下错误:

    Caused by: java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 25 more

百度一下原因,解决方案是:

    cp $HBASE_HOME/lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar $HBASE_HOME/lib/

但是查看$HBASE_HOME/lib/client-facing-thirdparty/下并没有htrace-core-3.1.0-incubating.jar,而只有htrace-core4-4.2.0-incubating.jar,本以为是版本升级了,但是将这个jar包复制到/lib下仍然报错,于是去maven仓库下载htrace-core-3.1.0-incubating.jar,将其复制到./lib,启动成功。

查看界面

浏览器输入:http://hadoop.slave1:16010/
(注意端口是16010,并不是60010,其次注意云服务器是否放通该端口)

赞一个! (3)

文章评论(如需发表图片,请转至留言)