欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決java連接虛擬機(jī)Hbase無(wú)反應(yīng)的問(wèn)題

 更新時(shí)間:2022年06月16日 08:44:18   作者:iRossini  
這篇文章主要介紹了解決java連接虛擬機(jī)Hbase無(wú)反應(yīng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

問(wèn)題說(shuō)明

自己用虛擬機(jī)安裝了Hbase、zookeeper,然后想用java訪問(wèn)。

代碼如下

 import java.io.IOException; 
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
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.Get;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;
 
 public class HbaseTest {
	 public static void main(String[] args) throws  MasterNotRunningException, IOException{
		String tableName = "myTest";
 
		Configuration conf = HBaseConfiguration.create();
		conf.set("hbase.master", "192.168.48.129:16010");
		conf.set("hbase.zookeeper.property.clientPort", "2181");
//		conf.set("hbase.zookeeper.quorum", "master");
		conf.set("hbase.zookeeper.quorum", "192.168.48.129");
 
		Connection conn = ConnectionFactory.createConnection(conf);
		Table table = conn.getTable(TableName.valueOf(tableName));
 
		Get g = new Get(Bytes.toBytes("row1"));
		Result result = table.get(g);
 
		byte [] value = result.getValue(Bytes.toBytes("info"), Bytes.toBytes("name"));
		byte[] value1 = result.getValue(Bytes.toBytes("info"), Bytes.toBytes("age"));
 
		table.close();
		System.out.println(result.toString());
		System.out.println(Bytes.toString(value));
		System.out.println(Bytes.toString(value1));
		}    
 }

結(jié)果一直卡在result這一樣沒(méi)反應(yīng)。

解決方案

1.由于Hbase自帶有zookeeper

可以先禁用掉自帶的zookeeper。

命令:vim   hbase/conf/hbase-env.sh

2.由于這里只是想測(cè)試下java連接hbae

也并沒(méi)有搭建Hdoop環(huán)境,所以Hbase的hhbase-size.xml配置如下

3.再對(duì)zookeeper進(jìn)行配置 zoo.cfg

4.因?yàn)槭窃趙indows環(huán)境下

用java訪問(wèn)虛擬機(jī)的Hbase,所以還需要以下配置

命令:vim /etc/host  添加一行,IP   hostname

命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0 ,修改設(shè)備名

windows中相應(yīng)配置:C:\Windows\System32\drivers\etc  在HOST文件中添加IP hostname

所有的配置就到這里結(jié)束,啟動(dòng)zookeeper,啟動(dòng)Hbase

java連接Hbase測(cè)試

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
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.Get;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;
 
 public class HbaseTest {
        public static void main(String[] args) throws  MasterNotRunningException, IOException{
              String tableName = "myTest";
              Configuration conf = HBaseConfiguration.create();
              conf.set("hbase.master", "192.168.48.129:16010");
              conf.set("hbase.zookeeper.property.clientPort", "2181");
//            conf.set("hbase.zookeeper.quorum", "master");
              conf.set("hbase.zookeeper.quorum", "192.168.48.129");
              Connection conn = ConnectionFactory.createConnection(conf);
              Table table = conn.getTable(TableName.valueOf(tableName));
              Get g = new Get(Bytes.toBytes("row1"));
              Result result = table.get(g);
              byte [] value = result.getValue(Bytes.toBytes("info"), Bytes.toBytes("name"));
              byte[] value1 = result.getValue(Bytes.toBytes("info"), Bytes.toBytes("age"));
              table.close();
              System.out.println(result.toString());
              System.out.println(Bytes.toString(value));
              System.out.println(Bytes.toString(value1));
              }  
 }

我個(gè)人使用如上方法能夠解決連接Hbase無(wú)反應(yīng)的問(wèn)題。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論