盒子
盒子
文章目录
  1. 1. HBase目录结构
  2. 2. 启动
  3. 3. 查看是否启动成功
  4. 4. 虚拟机hostname修改
  5. 5. 重启Hbase
  6. 6. 与shell交互
  7. 7. JAVA客户端连接
    1. 7.1 创建maven项目并引入pom.xml
    2. 7.2 resource资源目录下新建log4j.properties文件
    3. 7.3 JAVA代码编写

HBase2.2初装与Java客户端连接

1. HBase目录结构

结构

2. 启动

./bin/start-base/sh

启动

3. 查看是否启动成功

访问 http://192.168.153.171:16010/

ui

注意:serverName为centos7,常见的Java连接HBase UnknowHostException一般由此产生

执行hostname查看虚拟机名称,发现centos7名称正好与serverName吻合

hostname

4. 虚拟机hostname修改

临时修改:hostname 192.168.153.171 单机非集群版改为IP,省去DNS解析,简单粗暴
永久修改:
1)vim /etc/hostname将centos7改为192.168.153.171
2)执行systemctl restart network.service重启网络

ip
update

5. 重启Hbase

执行./bin/stop-base/sh,如果一直…,则执行jps查看HMaster进程,杀死即可

restart
访问 http://192.168.153.171:16010/, 发现serverName已经更改过来
updated

6. 与shell交互

执行./bin/hbase shell进入交互页面
执行以下命令创建表并查看表
crud

7. JAVA客户端连接

7.1 创建maven项目并引入pom.xml

1
2
3
4
5
6
7
8
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-client -->
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>2.2.2</version>
</dependency>
</dependencies>

7.2 resource资源目录下新建log4j.properties文件

1
2
3
4
5
6
7
8
9
log4j.rootLogger=INFO, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.logger.org.apache=WARN

7.3 JAVA代码编写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class PutExample {

public static void main(String[] args) throws IOException {
Configuration conf = HBaseConfiguration.create();
// qurom与clientPort默认属性位于hbase-common包中hbase-default.xml中,见下图
conf.set("hbase.zookeeper.quorum", "192.168.153.171");
conf.set("hbase.zookeeper.property.clientPort", "2181");
// 设置重试次数,第一次连接为了及时打印结果,重试1次
conf.set("hbase.client.retries.number", "1");
Admin admin = ConnectionFactory.createConnection(conf).getAdmin();
if (admin != null) {
TableName[] tableNames = admin.listTableNames();
for (TableName name : tableNames) {
System.out.println(name);
}
}
}
}

qurom

执行结果:
result

支持一下
扫一扫,支持沈健
  • 微信扫一扫
  • 支付宝扫一扫