0. 前序
HBase数据库的运行,基于Hadoop系统,包括HDFS、YARN在内的组件,因此在安装HBase之前,Hadoop必须已经安装完成,且集群网络等已配置完成。安装方式详见:
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/zookeeper
2. 修改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 status
4. 修改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
datanode2
5. 安装NTP
NTP包用于时间同步,若时间不同步,HBase会出现错误甚至崩溃。
sudo apt-get install ntp
6. 启动HBase
切换至HBase所在目录下
cd /usr/local/hbase
启动HBase,仅在Namenode机器上启动即可。
bin/start-hbase.sh
若提示regionserver已经运行,则根据提示杀死对应机器上的对应线程,再启动即可。
7. 设置环境变量
sudo vi /etc/profile # 打开配置环境变量文档
添加HBase安装位置,和安装路径下的bin目录
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
使环境变量立即生效
source /etc/profile
打印版本号验证一下
hbase version