docker --hbase部署

拉取镜像

docker pull harisekhon/hbase

启动容器

docker run -d -h 127.0.0.1 -p 2181:2181 -p 8080:8080 -p 8085:8085 -p 9090:9090 -p 9000:9000  -p 9095:9095  -p 16000:16000  -p 16010:16010  -p 16201:16201  -p 16301:16301 -p 16020:16020 --name hbase  harisekhon/hbase

golang操作hbase

golang库

"github.com/tsuna/gohbase"

var GVA_HBASE_CLIENT gohbase.Client
func initHbaseClient() {
	GVA_HBASE_CLIENT = gohbase.NewClient("loclahost:2181")
}



func HbasePut() {
	ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
	defer cancel()
	// 将数据存储到 HBase
	putRequest, err := hrpc.NewPutStr(ctx, GVA_CONFIG.HbaseConfig.Dbname, "row_key", map[string]map[string][]byte{family: {"name3": []byte("Tom3")}})
	if err != nil {
		fmt.Println("Put 操作失败:", err)
		return
	}
	result, err := GVA_HBASE_CLIENT.Put(putRequest)
	if err != nil {
		fmt.Println("数据存储失败:", err)
		return
	}
	fmt.Println(result)
	fmt.Printf("数据已存储到表 '%s' 中,行键为 'row_key',列族为 '%s'\n", GVA_CONFIG.HbaseConfig.Dbname, family)
}

func HbaseGet() {
	// 从 HBase 中查询数据
	getRequest, err := hrpc.NewGetStr(context.Background(), GVA_CONFIG.HbaseConfig.Dbname, "row_key")
	if err != nil {
		fmt.Println("Get 操作失败:", err)
		return
	}
	getResp, err := GVA_HBASE_CLIENT.Get(getRequest)
	if err != nil {
		fmt.Println("数据查询失败:", err)
		return
	}
	fmt.Printf("%+v:\n", getResp)
	// result := getResp.Result()
	// for _, cell := range result.Cells {
	// 	fmt.Printf("列族:%s,列名:%s,值:%s\n", cell.Family, cell.Qualifier, cell.Value)
	// }
}


### 配置并启动 HBase 环境 为了通过 `docker-compose` 正确配置并启动 HBase 环境,可以按照以下方法进行设置: #### 1. 准备 Docker Compose 文件 创建一个名为 `docker-compose.yml` 的文件,并将其内容定义如下。此配置适用于单机伪分布式模式下的 HBase 安装[^1]。 ```yaml version: '3' services: zookeeper: image: zookeeper:3.7 container_name: zookeeper ports: - "2181:2181" hbase-master: image: apache/hbase:2.4.9 container_name: hbase-master environment: - HBASE_MANAGES_ZK=false depends_on: - zookeeper ports: - "16010:16010" command: hbase master start foreground hbase-regionserver: image: apache/hbase:2.4.9 container_name: hbase-regionserver environment: - HBASE_MANAGES_ZK=false depends_on: - zookeeper - hbase-master command: hbase regionserver start foreground ``` 上述配置中包含了 ZooKeeper 和 HBase 的 Master 及 RegionServer 组件。ZooKeeper 是 HBase 所依赖的服务之一,在实际环境中用于协调多个节点之间的通信[^2]。 #### 2. 启动服务 运行以下命令来启动容器: ```bash docker-compose up -d ``` 该命令会以后台方式启动所有的服务组件。如果需要查看日志输出,则可以通过以下命令完成: ```bash docker-compose logs -f ``` #### 3. 测试连接 当所有服务成功启动后,可通过浏览器访问 HBase Web UI 来验证其状态,默认地址为 http://localhost:16010/。 另外还可以进入 HBase Shell 对数据表执行增删改查等基本操作: ```bash docker exec -it hbase-master bash hbase shell ``` 以上即完成了基于 Docker Compose 构建的 HBase 单机伪分布式的部署过程。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值