IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> hbase2.1.3 docker安装与java client测试,开发连接需要特别注意一下配置,否则连接不上timeout -> 正文阅读

[系统运维]hbase2.1.3 docker安装与java client测试,开发连接需要特别注意一下配置,否则连接不上timeout

1.docker安装

docker run --name hbase --net=host -v /etc/hbase/conf:/hbase-2.1.3/conf -v /home/data/hbase:/hbase-data  harisekhon/hbase

2.修改hbase-sit.xml配置的hbase.master.hostname,hbase.regionserver.hostname,否则开发环境无法连接到hbase。因为开发环境项目的hbase java client

配置hbase连接只配置的ZK地址,故开发环境是通过获取注册到ZK的hbase master,regionserver的真实地址连接的,故需要在ZK注册网络可通的IP地址。

[root@node1 ~]# vim /etc/hbase/conf/
hadoop-metrics2-hbase.properties  hbase-env.sh                      hbase-site.xml                    regionservers
hbase-env.cmd                     hbase-policy.xml                  log4j.properties                  
<configuration>
 <property>
    <name>hbase.master.hostname</name>
    <value>192.168.1.19</value>
  </property>
  <property>
    <name>hbase.regionserver.hostname</name>
    <value>192.168.1.19</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>/hbase-data</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost:2181</value>
  </property>
</configuration>

3.进入docker容器执行命令(hbase shell)进入交互界面,创建一个测试表

HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.1.3, rda5ec9e4c06c537213883cca8f3cc9a7c19daf67, Mon Feb 11 15:45:33 CST 2019
Took 0.0061 seconds                                                                                                                                                       
hbase(main):001:0> create 'person','info'
Created table person
Took 2.0373 seconds                                                                                                                                                       
=> Hbase::Table - person
hbase(main):002:0> list
TABLE                                                                                                                                                                     
person                                                                                                                                                                    
1 row(s)
Took 0.0622 seconds                                                                                                                                                       
=> ["person"]

4.本地java连接hbase进行CRUD;hbase的API不好用,建议做个再封装

package com.jwolf.bigdata;

import lombok.SneakyThrows;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Put;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * Description: TODO
 *
 * @author majun
 * @version 1.0
 * @date 2022-01-12 00:19
 */
public class HbaseTest {

    @SneakyThrows
    public static void main(String[] args) {
        org.apache.hadoop.conf.Configuration configuration = HBaseConfiguration.create();
        configuration.set("hbase.zookeeper.quorum", "192.168.1.19");
        configuration.set("hbase.zookeeper.port", "2181");
        configuration.set("hbase.zookeeper.znode", "/hbase");
        configuration.set("hbase.client.keyvalue.maxsize", "1572864000");
        configuration.set("hbase.regionserver.port", "1572864000");
        long t = System.currentTimeMillis();
        Connection conn = ConnectionFactory.createConnection(configuration);
        System.out.println("连接耗时" + (System.currentTimeMillis() - t));
        //查看所有表
        // todo:连接不上,docker log显示 Client attempting to establish new session at /192.168.1.11:62303
        String tables = Arrays.stream(conn.getAdmin().listTableNames()).map(TableName::getNameAsString).collect(Collectors.joining());
        System.out.println("已存在表:" + tables);
        //存入数据
        Map<String, String> cloumns = new HashMap<String, String>();
        cloumns.put("name", "zzq");//列名和值
        cloumns.put("age", "22");
        //往表中的第row=1的info族中增加了名为name、age数据
        Put put = new Put("1".getBytes());
        put.addColumn("info".getBytes(), "name".getBytes(), "jwolf".getBytes());
        put.addColumn("info".getBytes(), "age".getBytes(), "18".getBytes());
        conn.getTable(TableName.valueOf("person")).put(put);
        System.out.println("增加成功");

    }

}


  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:25:19  更:2022-01-14 02:27:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:22:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码