美文网首页
(一)Hbase集群安装与常见问题解决

(一)Hbase集群安装与常见问题解决

作者: 小猪Harry | 来源:发表于2018-10-05 01:45 被阅读0次

    首先说明,要使用hbase是需要先安装hadoop和zookeeper的(也可以使用自带的但是不建议),参考[zookeeper集群安装]
    [hadoop集群安装]
    我用的是三台机器,mini1,mini2,mini3
    Hbase的安装流程
    1、将hbase上传到hadoop集群,我这里上传的是hbase-0.99.2-bin.tar.gz。然后解压并且重命名为hbase,为了方便管理我讲hbase移动到了apps目录下。(上传、解压、重命名)

    [root@mini1 ~]# tar –zxvf  hbase-0.99.2-bin.tar.gz
    [root@mini1 ~]# mv hbase-0.99.2 hbase
    [root@mini1 ~]# mv hbase apps
    [root@mini1 ~]# cd apps/
    [root@mini1 apps]# ll
    总用量 20
    drwxr-xr-x.  8 root   root   4096 10月 19 15:15 apache-flume-1.6.0-bin
    drwxrwxr-x. 10 hadoop hadoop 4096 9月  30 22:04 hadoop-2.6.4
    drwxr-xr-x.  7 root   root   4096 10月 30 00:20 hbase
    drwxr-xr-x.  8 root   root   4096 10月 17 12:38 hive
    drwxr-xr-x. 10 root   root   4096 10月 29 23:21 zookeeper-3.4.6
    

    2、修改环境变量
    在编辑模式下,最后面添加

    [root@mini1 apps]# vi /etc/profile
    ...
    export HBASE_HOME=/root/apps/hbase
    export PATH=$PATH:$HBASE_HOME/bin
    
    [root@mini1 apps]#source /etc/profile
    

    在机器mini2,mini3上也执行2操作修改环境变量

    3、修改配置文件
    修改的是 hbase-env.sh,hbase-site.xml, regionservers
    我们现在文本编辑器里面修改再上传覆盖就好了
    hbase-env.sh添加内容如下
    第一行指定jdk位置
    第二行指定额外的classpath元素
    第三行是关于jvm的可以不需要
    第四行,true表示使用hbase自带的zookeeper,false表示使用自己的zookeeper(推荐,至少趁此学一下zookeeper,相信学了hbase后面的storm跟spark也会去学,后面很多都要使用zookeeper,一劳永逸的事)。

    export JAVA_HOME=/heima32/jdk1.7.0_55/
    export JAVA_CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
    export HBASE_MANAGES_ZK=false
    

    hbase-site.xml内容如下

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <!--
    /**
     *
     * Licensed to the Apache Software Foundation (ASF) under one
     * or more contributor license agreements.  See the NOTICE file
     * distributed with this work for additional information
     * regarding copyright ownership.  The ASF licenses this file
     * to you under the Apache License, Version 2.0 (the
     * "License"); you may not use this file except in compliance
     * with the License.  You may obtain a copy of the License at
     *
     *     http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    -->
    <configuration>
    <property>
    <name>hbase.master</name>
    <value>ironman01:60000</value>
    <description>指定hbase的主节点与端口号</description>
    </property>
    <property>
    <name>hbase.master.maxclockskew</name> 
    <value>180000</value>
    <description>时间同步允许的时间差</description>
    </property>
    <property>
    <name>hbase.rootdir</name>
    <value>hdfs://ironman01:8020/hbase</value>
    <description>hbase共享目录,持久化hbase数据,这个需要看你hadoop的核心文件里面配置的是不是mini1:9000不是的话得改成自己的hadoop里面写的</description>
    </property>
    <property>
    <name>hbase.cluster.distributed</name> 
    <value>true</value>
    <description>是否是分布式的,当然</description>
    </property>
    <property>
    <name>hbase.zookeeper.quorum</name>
    <value>ironman01,ironman02,ironman03</value>
    <description>指定zookeeper,我的zookeeper集群就是在这三台机器的</description>
    </property>
    <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/opt/modules/app/hbase/tmp/zookeeper</value>
    <description>zookeeper配置信息快照的位置,目录会自己创建的</description>
    </property>
    </configuration>
    

    regionservers里面添加从节点机器名

    mini2
    mini3
    

    然后将三个文件上传到hbase的conf目录下

    4、将按照配置好的hbase上传到其他机器
    这里是mini1配置好了,发送到mini2和mini3机器

    [root@mini1 ~]# scp -r /root/apps/hbase mini2:/root/apps
    [root@mini1 ~]# scp -r /root/apps/hbase mini3:/root/apps
    

    5、启动hbase
    进入到mini1的hbase的bin目录下启动
    启动完了使用jsp命令查看是否启动起来了

    [root@mini1 bin]# ./start-hbase.sh 
    starting master, logging to /root/apps/hbase/logs/hbase-root-master-mini1.out
    mini2: starting regionserver, logging to /root/apps/hbase/bin/../logs/hbase-root-regionserver-mini2.out
    mini3: starting regionserver, logging to /root/apps/hbase/bin/../logs/hbase-root-regionserver-mini3.out
    [root@mini1 bin]# jps
    1593 ResourceManager
    7133 HMaster
    4550 QuorumPeerMain
    2831 NameNode
    7310 Jps
    

    注:启动起来的前提需要启动hadoop和zookeeper,最后启动的话,那么mini1机器上会多出HMaster进程,mini2和mini3上多出了HRegionServer。

    测试HRegionServer上下线

    单独启动HRegionServer节点:
    启动集群中所有的regionserver
    ./hbase-daemons.sh start regionserver
    启动某个regionserver
    ./hbase-daemon.sh start regionserver

    相关文章

      网友评论

          本文标题:(一)Hbase集群安装与常见问题解决

          本文链接:https://www.haomeiwen.com/subject/fzmfaftx.html