1. 程式人生 > >CentOS虛擬機器HBase2.1.0單機 與 Windows端Java客戶端連線:基礎連線

CentOS虛擬機器HBase2.1.0單機 與 Windows端Java客戶端連線:基礎連線

首先達成的目的是:

1、使用java客戶端連線成功HBase客戶端。

2、使用java客戶端寫基本demo建立一個測試表。

一、準備工作

(1)寫pom依賴:

<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty</artifactId>
    <version>3.9.9.Final</version>
    <type>pom</type>
</dependency>

<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-client</artifactId>
    <version>2.1.0</version>
</dependency>

(2)寫配置檔案

linux目錄:/etc/hosts

編輯檔案,寫入部署hbase機器的ip,我的是192.168.3.104,之後重啟linux

192.168.3.104 hbase-machine

windows目錄:C:\Windows\System32\drivers\etc\hosts

192.168.3.104 hbase-machine

(3)配置hbase-env.sh、hbase-site.xml

開啟hbase-2.1.0/conf/hbase-env.sh,放開註釋寫入下面內容,注意hbase需要jdk環境。

export HBASE_MANAGES_ZK=true
export JAVA_HOME=/usr/java/jdk1.8.0

還在這個目錄下開啟hbase-site.xml,在最下面增加儲存data的地方

<configuration>
	<property>
                <name>hbase.rootdir</name>
                <value>file:/usr/Hbase/hbase-2.1.0/data</value>
      </property>
</configuration>

(3)關閉防火牆

windows關閉防火牆

linux關閉防火牆:systemctl stop firewalld

二、編寫客戶端程式碼

package com.umbrella.hbase;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import java.util.ArrayList;
import java.util.List;

public class HBaseTest {
    private static final String nodes = "192.168.3.104";

    public static void main(String[] args) {
        try{
            Configuration conf = HBaseConfiguration.create();
            conf.set("hbase.zookeeper.quorum",nodes);
            conf.set("hbase.zookeeper.property.clientPort", "2181");
            HBaseService hBaseService = new HBaseService(conf);
            List<String> cf = new ArrayList<>();
            cf.add("cf1");
            cf.add("cf2");
            cf.add("cf3");
            hBaseService.creatTable("test",cf);
        }catch(Exception e){
            e.printStackTrace();
        }

    }
}