HBase单机模式安装

第一部分 安装前准备

1.安装hadoop

今天刚刚学了hbase的一点基础,准备安装Hbase实际操练一下。因为安装hbase的前提条件是已经成功安装了hadoop,而且hadoop的版本要和hbase的版本相匹配。于是去官网查询了一下我安装的hadoop-3.1.0(目前是最新版)对应支持的hbase版本,然后。。。。。发现没有任何一版hbase是支持hadoop-3.1.0的,默默泪奔。。。。。果然最新的不一定是最好的。
查看hbase与hadoop的版本匹配情况:http://hbase.apache.org/book.html#hadoop

于是乎,又重温了一下hadoop的安装过程。这次我安装的是Hadoop-2.7.7。步骤看这里

2.安装zookeeper

我这里安装的是单机模式。版本是zookeeper-3.4.9.tar.gz。步骤看这里

第二部分 安装Hbase单机模式

1.将安装包上传到/usr/local目录下,解压缩,重命名,添加&生成环境变量

[root@hadoop ~]# cd /usr/local/
[root@hadoop local]# tar xzvf hbase-2.1.0-bin.tar.gz #解压缩
[root@hadoop local]# mv hbase-2.1.0 hbase #重命名
[root@hadoop local]# vi /etc/profile #添加环境变量
添加变量:export HBASE_HOME=/usr/local/hbase
然后在PATH变量后面添加::$HBASE_HOME/bin
[root@hadoop local]# source /etc/profile #s生成环境变量

2.修改几个配置文件

第一个:hbase-env.sh 

[root@hadoop local]# cd /usr/local/hbase/conf/
[root@hadoop conf]# vi hbase-env.sh 
#将以下4个变量取消注释,修改参数如下
export JAVA_HOME=/usr/java
export HBASE_CLASSPATH=/usr/local/hbase/conf
export HBASE_PID_DIR=/var/hadoop/pids
export HBASE_MANAGES_ZK=false #不使用HBase自带的zookeeper

第二个:zoo.cfg

在这里我们使用的不是HBase自带的zookeeper,而是之前已经装好的,所以需要将我们现在的zookeeper的zoo.cfg文件复制到hbase的conf目录下

[root@hadoop conf]# cp /usr/local/zookeeper/conf/zoo.cfg /usr/local/hbase/conf/

第三个: hbase-site.xml 

[root@hadoop conf]# vi hbase-site.xml #添加如下内容
  <property>
    <name>hbase.rootdir</name>   
    <value>hdfs://hadoop:9000/hbase</value>
  </property>
   <property>
    <name>hbase.cluster.distributed</name>   
    <value>true</value>
  </property>
   <property>
    <name>hbase.zookeeper.quorum</name>   
    <value>hadoop:2181</value>
  </property>
   <property>
    <name>hbase.tmp.dir</name>   
    <value>/var/hbase/</value>
  </property>
   <property>
    <name>hbase.master</name>   
    <value>hadoop:60000</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>  
    <value>/usr/local/hbase/zookeeper</value>
  </property>

第四个:regionservers 

[root@hadoop conf]# vi regionservers #修改为主机名
hadoop

第三部分 Hbase简单操作

1.启动HBase。在master节点上运行 start-hbase.sh 

[root@hadoop ~]# start-all.sh #启动hadoop
[root@hadoop ~]# zkServer.sh start #启动zookeeper
[root@hadoop ~]# zkServer.sh status #查看zookeeper状态以及角色
[root@hadoop ~]# start-hbase.sh #启动Hbase
[root@hadoop ~]# jps 
#HBase启动成功:显示HMaster和HRegionServer
#hadoop启动成功:显示NameNode、SecondaryNameNode、DataNode、ResourceManager和NodeManager
#zookeeper启动成功:显示QuorumPeerMain
11840 HRegionServer
9313 SecondaryNameNode
12037 Jps
9030 NameNode
11718 HMaster
10055 QuorumPeerMain
9128 DataNode
9465 ResourceManager
9564 NodeManager

2.进入shell模式

[root@hadoop ~]# hbase shell #进入shell模式
...                                                                                      
hbase(main):001:0> status #查看HBase运行状态
1 active master, 0 backup masters, 1 servers, 0 dead, 2.0000 average load
Took 11.4351 seconds                                                                                      
hbase(main):002:0> exit #退出
[root@hadoop ~]# 

3.停止HBase。在master节点上运行 stop-hbase.sh 

[root@hadoop ~]# stop-hbase.sh #关闭Hbase
[root@hadoop local]# zkServer.sh stop #关闭zookeeper
[root@hadoop local]# stop-all.sh #关闭hadoop
[root@hadoop local]# jps #查看

第四部分 一些问题

1.启动HBase时报错:没有那个文件或目录

[root@hadoop conf]# start-hbase.sh
/usr/local/hbase/bin/hbase:行645: /usr/local/java/bin/java: 没有那个文件或目录
running master, logging to /usr/local/hbase/logs/hbase-root-master-hadoop.out
hadoop: running regionserver, logging to /usr/local/hbase/bin/../logs/hbase-root-regionserver-hadoop.out
hadoop: /usr/local/hbase/bin/../bin/hbase:行645: /usr/local/java/bin/java: 没有那个文件或目录

原因:hbase-env.sh中JAVA_HOME配置错误,其应该与/etc/profile文件中的JAVA_HOME一致。

解决方法:我的/etc/profile文件中的JAVA_HOME路径为/usr/java,而在hbase-env.sh文件中却写成了/usr/local/java,因而才找不到目录。把hbase-env.sh文件中的AVA_HOME路径改为/usr/java后,重启HBase,成功!

原文地址:https://www.cnblogs.com/zhengna/p/9358578.html