解決java連接虛擬機(jī)Hbase無(wú)反應(yīng)的問(wèn)題
問(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)文章
Java報(bào)錯(cuò):Error:java:?程序包org.springframework.boot不存在解決辦法
建完springboot項(xiàng)目時(shí),點(diǎn)擊啟動(dòng),有可能會(huì)報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于Java報(bào)錯(cuò):Error:java:?程序包org.springframework.boot不存在的解決辦法,需要的朋友可以參考下2024-02-02IntelliJ IDEA中查看當(dāng)前類的所有繼承關(guān)系圖
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA中查看當(dāng)前類的所有繼承關(guān)系圖,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10@Valid注解的作用及@Valid注解與@Validated的區(qū)別
這篇文章主要介紹了@Valid注解的作用及@Valid注解與@Validated的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08spring cloud 使用Zuul 實(shí)現(xiàn)API網(wǎng)關(guān)服務(wù)問(wèn)題
這篇文章主要介紹了spring cloud 使用Zuul 實(shí)現(xiàn)API網(wǎng)關(guān)服務(wù)問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05Springboot2 session設(shè)置超時(shí)時(shí)間無(wú)效的解決
這篇文章主要介紹了Springboot2 session設(shè)置超時(shí)時(shí)間無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07SWT(JFace)體驗(yàn)之Slider,Scale
SWT(JFace)體驗(yàn)之Slider,Scale實(shí)現(xiàn)代碼。2009-06-06