HBase
单机环境搭建
环境说明
Red Hat 4.8.5-36
JDK1.8
HBase2.1.1
部署过程
1、下载 hbase-2.1.1-bin.tar.gz
2、解压文件 tar -zxvf hbase-2.1.1-bin.tar.gz
3、修改配置文件$HBASE_HOME/conf/hbase-site.xml
添加如下参数
<!-- HBase存储数据的路径 默认在tmp路径下,不安全 -->
<configuration>
<property>
<name>hbase.rootdir</name>
<value>PATH</value>
</property>
</configuration>
启动测试
1、进入$HBASE_HOME/bin
路径下./start-hbase.sh
2、./hbase shell
进入hbase shell
形式,进行命令行操作
Java
连接HBase
单机服务
环境配置
1、因为hbase
默认通过hostname
去找ip
然后将这个ip
注册到zookeeper
中作为hbase
单机服务的ip
地址。所以我们需要修改/etc/hosts
文件。我本地虚拟机环境的hostname
为localhost.localdomain
,原本指向127.0.0.1
,这里修改成虚拟机网卡
ip
地址。并设置本地域名为hbaseserver
。
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.2.52.138 hbaseserver localhost.localdomain
2、在windows
端修改hosts
文件 文件路径: C:\Windows\System32\drivers\etc
添加上这一行:
10.2.52.138 hbaseserver
hbase-site.xml
配置
<configuration>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<!--客户端基于zookeeper连接hbase的zookeeper地址 其他的都是默认的端口号-->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hbaseserver</value>
</property>
<property>
<name>hbase.regionserver.port</name>
<value>16020</value>
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>16030</value>
</property>
</configuration>
pom.xml
<!-- hbase java client -->
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>2.1.1</version>
</dependency>
Java
连接代码demo
package com.example.demo.hbase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.filter.CompareFilter;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.log4j.Appender;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;