zoukankan      html  css  js  c++  java
  • CentOS 6.7安装HBase 0.98.23

    之前已经在CentOS 6.7上安装部署Hadoop 2.7.2http://blog.csdn.net/noob_f/article/details/53366756)、ZooKeeper 3.4.9http://blog.csdn.net/noob_f/article/details/53391298),并正常启动Hadoop集群。


    master

    [root@master ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/0.98.23/hbase-0.98.23-hadoop2-bin.tar.gz
    [root@master ~]# tar zxvf hbase-0.98.23-hadoop2-bin.tar.gz
    [root@master ~]# mv hbase-0.98.23-hadoop2 /usr/local/
    

    [root@master ~]# vi /usr/local/hbase-0.98.23-hadoop2/conf/hbase-env.sh

    修改

    # export JAVA_HOME=/usr/java/jdk1.6.0/

    export JAVA_HOME=/usr/local/jdk1.7.0_79/

    • 注:
    # Tell HBase whether it should manage it's own instance of Zookeeper or not.
    # export HBASE_MANAGES_ZK=true
    

    ZooKeeper的HBASE_ MANAGES_ZK配置项,该项表示是否使用HBase管理其自带的ZooKeeper。如果取消注释,并设置其值为true,将使用自带的ZooKeeper,这样就不需要再单独下载ZooKeeper并做相应配置了。我之前安装部署了ZooKeeper,所以不取消注释。


    [root@master ~]# vi /usr/local/hbase-0.98.23-hadoop2/conf/hbase-site.xml

    添加

    <configuration>
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://master:9000/hbase</value>
        </property>
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>master,slave</value>
        </property>
        <property>
            <name>hbase.zookeeper.property.dataDir</name>
            <value>/usr/local/zookeeper-3.4.9</value>
        </property>
        <property>
            <name>hbase.master</name>
            <value>master:60000</value>
        </property>
    </configuration>
    

    保存退出

    • hbase.rootdir设置为HDFS的NameNode的位置。
    • 属性hbase.zookeeper.quorum:该属性的值会让HBase启动时在相应节点上运行ZooKeeper实例。

    [root@master ~]# vi /usr/local/hbase-0.98.23-hadoop2/conf/regionservers
    • 删掉默认的localhost,并添加想要运行RegionServer的节点名

    内容修改为

    slave

    保存退出

    • 删掉localhost的原因是并不想在Hadoop的namenode上运行RegionServer。因为namenode上并不存储HDFS数据,运行RegionServer需要远程调用数据,同时也会加重namenode的负担。如果一定要在namenode上运行RegionServer,也应该把localhost换成相应的机器名,如master。因为HBase也可以通过在其他节点上运行start-hbase.sh脚本启动(这时会把输入命令的节点作为master节点),这时localhost指的是本机节点而不是namenode。

    设置HBase环境变量

    [root@master ~]# vi /etc/profile.d/hbase.sh

    添加

    export HBASE_HOME=/usr/local/hbase-0.98.23-hadoop2
    export PATH=$HBASE_HOME/bin:$PATH
    export HADOOP_CLASSPATH=$HBASE_HOME/lib/*
    

    保存退出

    [root@master ~]# source /etc/profile.d/hbase.sh

    [root@master ~]# rsync -av /usr/local/hbase-0.98.23-hadoop2 slave:/usr/local/
    [root@master ~]# rsync -av /etc/profile.d/hbase.sh slave:/etc/profile.d/
    

    slave

    [root@slave ~]# source /etc/profile.d/hbase.sh

    master

    [root@master ~]# /usr/local/hbase-0.98.23-hadoop2/bin/start-hbase.sh

    使用Web UI界面查看启动情况:在地址栏中输入master:60010,会看到HBase管理界面,看到这些表明HBase已经启动成功。

    [root@master ~]# jps
    3285 SecondaryNameNode
    3536 ResourceManager
    9826 QuorumPeerMain
    10470 HMaster
    3127 NameNode
    10794 Jps
    

    slave

    [root@slave ~]# jps
    2929 DataNode
    8071 QuorumPeerMain
    8470 HRegionServer
    3037 NodeManager
    8747 Jps
    

    master

    停止HBase

    [root@master ~]# /usr/local/hbase-0.98.23-hadoop2/bin/stop-hbase.sh
  • 相关阅读:
    POJ 1328 Radar Installation
    POJ 1700 Crossing River
    POJ 1700 Crossing River
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3069 Saruman's Army(贪心)
    poj 3069 Saruman's Army(贪心)
    Redis 笔记与总结2 String 类型和 Hash 类型
    数据分析方法有哪些_数据分析方法
    数据分析方法有哪些_数据分析方法
  • 原文地址:https://www.cnblogs.com/Genesis2018/p/8304707.html
Copyright © 2011-2022 走看看