0. 前序
HBase数据库的运行,基于Hadoop系统,包括HDFS、YARN在内的组件,因此在安装HBase之前,Hadoop必须已经安装完成,且集群网络等已配置完成。安装方式详见:
Ubuntu安装Hadoop https://blog.csdn.net/weixin_40901068/article/details/121883498?spm=1001.2014.3001.5501
https://blog.csdn.net/weixin_40901068/article/details/121883498?spm=1001.2014.3001.5501
1. 下载分发安装包
# wget 命令下载 hbase 安装包
wget http://archive.apache.org/dist/hbase/1.4.13/hbase-1.4.13-bin.tar.gz
# wget 命令下载 zookeeper 安装包
wget http://dlcdn.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz将安装包分发给其它结点(或者在所有结点上重复上述下载命令),在此发送给其它结点的Ubuntu桌面。
# 分发 hbase
scp hbase-1.4.13-bin.tar.gz username@datanode1:~/Desktop # 分发给datanode1
scp hbase-1.4.13-bin.tar.gz username@datanode2:~/Desktop # 分发给datanode2
# 分发 zookeeper
scp apache-zookeeper-3.7.0-bin.tar.gz username@datanode1:~/Desktop # 分发给datanode1
scp apache-zookeeper-3.7.0-bin.tar.gz username@datanode2:~/Desktop # 分发给datanode2解压缩并移动
# 解压缩
tar -zxvf hbase-1.4.13-bin.tar.gz
# 移动到合适的目录下
sudo mv hbase-1.4.13 /usr/local/hbase
# 解压缩
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
# 移动到合适的目录下
sudo mv apache-zookeeper-3.7.0-bin /usr/local/zookeeper2. 修改zookeeper配置文件
进入zookeeper目录下的conf目录,拷贝文件zoo-sample.cfg重命名为zoo.cfg。
cd /usr/local/zookeeper/conf/ # 切换路径
cp zoo_sample.cfg zoo.cfg # 复制配置文件编辑此文件:
vim zoo.cfg在文件中修改如下内容:
dataDir=/usr/local/zookeeper/tmpdata新增内容,有几个集群结点就追加几行。
server.1=namenode:2888:3888
server.2=datanode1:2888:3888
server.3=datanode2:2888:3888保存退出,切换目录并新建数据文件夹
cd /usr/local/zookeeper
mkdir tmpdata # 新建文件夹切换至新建文件夹中,创建myid文件,并且写入ID值,注意不同结点需要写入不同的ID值
cd /usr/local/zookeeper/tmpdata
echo 1 > myid # 根据结点不同,数字1需被替换为2、3......3. 启动zookeeper
切换目录:
cd /usr/local/zookeeper常用命令,注意zookeeper需要在所有结点机器上均输入启动命令:
#启动ZK服务: 
bin/zkServer.sh start
#停止ZK服务: 
bin/zkServer.sh stop
#重启ZK服务: 
bin/zkServer.sh restart
#查看ZK服务状态: 
bin/zkServer.sh status4. 修改HBase配置文件
切换至HBase所在目录下的conf文件夹中
cd /usr/local/hbase/conf修改hbase-env.sh文件
vim hbase-env.sh # 打开并编辑hbase-env.sh文件添加以下内容,如JAVA安装路径无法确定,可以输入which java查看。
# JAVA安装路径
export JAVA_HOME=/usr/local/jdk8 
# HBase占用内存大小
export HBASE_HEAPSIZE=1G
# 使用独立的ZK集群时设置为false
export HBASE_MANAGES_ZK=false
# JDK8 移除下面几个配置项
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"保存并关闭。
vim hbase-site.xml 注意hbase.zookeeper.quorum有多少台机器就填写几个。
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://namenode:9000/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>namenode:2181,datanode1:2181,datanode2:2181</value>
    <description>The directory shared by RegionServers. </description>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/local/hbase/data/zookeeper</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.master.info.port</name>
    <value>16010</value>
  </property>
</configuration>保存并关闭。
vim regionservers 并在此文件中,添加所有集群结点
namenode
datanode1
datanode25. 安装NTP
NTP包用于时间同步,若时间不同步,HBase会出现错误甚至崩溃。
sudo apt-get install ntp6. 启动HBase
切换至HBase所在目录下
cd /usr/local/hbase启动HBase,仅在Namenode机器上启动即可。
bin/start-hbase.sh若提示regionserver已经运行,则根据提示杀死对应机器上的对应线程,再启动即可。










