CentOS虛擬機器HBase2.1.0單機 與 Windows端Java客戶端連線:基礎連線
阿新 • • 發佈:2018-12-11
首先達成的目的是:
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();
}
}
}