环境准备
- Linux:CentOS Linux release 7.2.1511 (Core) # 使用 cat /etc/redhat-release 命令查看
- JDK:jdk1.8.0_211
- Hadoop:3.2.1
- Zookeeper:3.4.14
- HBase:1.4.13
安装步骤
下载安装包
# 将hbase安装包下载至 /usr/lcoal/src 目录
cd /usr/local/src
wget http://archive.apache.org/dist/hbase/1.4.13/hbase-1.4.13-bin.tar.gz
# 解压安装包
tar -zxvf hbase-1.4.13-bin.tar.gz
# 将解压目录移动到安装目录/usr/local/并改名
mv hbase-1.4.13/ /usr/local/hbase
修改配置
进入hbase的conf目录,修改如下几个配置文件。
hbase-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_211
export HBASE_HEAPSIZE=4G
# 这里我使用独立的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"
hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://NN1:8020/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop33:2181,hadoop34:2181,hadoop37: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>
hbase.rootdir:这个参数是用来设置RegionServer 的共享目录,用来存放HBase数据。特别需要注意的是 hbase.rootdir 里面的 HDFS 地址是要跟 Hadoop 的 core-site.xml 里面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、端口必须一致。
hbase.zookeeper.quorum:这个参数是用来设置zookeeper服务列表,每个服务器之间使用使用逗号分隔,2181是zookeeper默认端口号,你可以自行根据你的端口号添加,默认的端口号加不加都无所谓。
hbase.cluster.distributed:HBase 的运行模式。为 false 表示单机模式,为 true 表示分布式模式。
regionservers
配置你的regionserver服务器列表。
hadoop33
hadoop34
hadoop35
hdfs-site.xml
网上有文章说还要从 hadoop 集群把 hdfs-site.xml 复制一份到 hbase 的 conf 目录下,亲测不需要,可直接跳过!
节点配置
将配置好的 habase 分发到其它regionserver服务器节点的相同路径下。并设置环境变量:
export HBASE_HOME=/usr/local/hbase
PATH=$PATH:$HBASE_HOME/bin:
使配置生效
source /etc/profile
启动测试
执行 start-hbase.sh 启动Hbase。
我的HMaster和HRegionServer运行在同一个服务器上,启动成功之后 jps 查看到的进程如下。
使用命令 hbase shell 来连接 Hbase。
通过浏览器访问 http://172.16.250.233:16010/master-status 可以查看 hbase 的 WEB 管理界面。