docker 安装
https://hub.docker.com/editions/community/docker-ce-desktop-mac 下载地址
下载完之后,安装app一样安装就好
安装完 配置 Docker 镜像站
mac 国内镜像站 http://f1361db2.m.daocloud.io
hbase 安装
https://www.jianshu.com/p/71db312807c7 参考连接
docker search hbase # 查找hbase dokcker pull harisekhon/hbase # 选择最火的版本安装 docker run -d -h myhbase -p : -p : -p : -p : -p : -p : -p : -p : -p : --name hbase harisekhon/hbase:1.3 # 运行habse docker exec -it hbase bash # 进入bash hbase shell # 进入hbase命令行 list # 查看表列表 scan '表名' , {LIMIT=>} # 扫描表
hadoop 安装
https://www.cnblogs.com/garfieldcgf/p/5462038.html (参考链接)
java连接hbase
第一步,需要在hosts 里面加上对应的hbase名称
sudo vim sudo /private/etc/hosts
第二步 添加依赖包(maven项目)
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-server</artifactId>
<version>1.3.3</version>
</dependency>
第三步 写代码连接
package org.myorg.quickstart.hbase_tool; import org.apache.commons.net.ntp.TimeStamp;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import org.junit.Test; import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.Properties; public class TestHbase {
private static String zkServer = "localhost";
private static Integer port = 9095;
private static TableName tableName = TableName.valueOf("testflink");
private static final String cf = "ke"; @Test
public void testWH() throws IOException{
write2HBase("test");
} public static void write2HBase(String value) throws IOException {
Configuration config = HBaseConfiguration.create(); config.set("hbase.zookeeper.quorum","myhbase");
config.set("hbase.zookeeper.property.clientPort","2181"); System.out.println("开始连接hbase");
Connection connect = ConnectionFactory.createConnection(config);
System.out.println(connect.isClosed());
Admin admin = connect.getAdmin();
System.out.println("连接成功");
// admin.listTableNames();
// Table table = connect.getTable(TableName.valueOf("midas_ctr_test"));
System.out.println("获取表数据成功");
// for i :table.getScanner().iterator(); if (!admin.tableExists(tableName)) {
admin.createTable(new HTableDescriptor(tableName).addFamily(new HColumnDescriptor(cf)));
}
System.out.println("建表数据成功"); Table table = connect.getTable(tableName);
TimeStamp ts = new TimeStamp(new Date());
Date date = ts.getDate();
Put put = new Put(Bytes.toBytes(date.getTime()));
put.addColumn(Bytes.toBytes(cf), Bytes.toBytes("test"), Bytes.toBytes(value));
table.put(put);
table.close();
connect.close();
}
}