日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

配置phoenix连接hbase_使用 Phoenix-4.11.0连接 Hbase 集群 ,并使用 JDBC 查询测试

發(fā)布時(shí)間:2025/3/11 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 配置phoenix连接hbase_使用 Phoenix-4.11.0连接 Hbase 集群 ,并使用 JDBC 查询测试 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是 Phoenix ?

Apache Phoenix 是運(yùn)行在Hbase之上的高性能關(guān)系型數(shù)據(jù)庫(kù),通過(guò)Phoenix可以像使用jdbc訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)一樣訪問(wèn)hbase。

Phoenix,操作的表以及數(shù)據(jù)存儲(chǔ)在hbase上。phoenix只需要和hbase進(jìn)行表關(guān)聯(lián)。然后在用工具進(jìn)行一些讀寫操作。

可以把Phoenix 只看成一種代替Hbase語(yǔ)法的工具。雖然Java可以用jdbc來(lái)連接phoenix,然后操作hbase,但是在生產(chǎn)環(huán)境中,不可以用OLTP中。

phoenix在查詢hbase時(shí),雖然做了一些優(yōu)化,但是延遲還是不小。所以依然用在OLAT中,在將結(jié)果返回存儲(chǔ)下來(lái)。

準(zhǔn)備工作

環(huán)境

JDK:1.8

Hadoop Release:2.7.4

centos:7.3

node1(master) 主機(jī): 192.168.252.121

node2(salve) 從機(jī): 192.168.252.122

node3(salve) 從機(jī): 192.168.252.123

node4(ZooKeeper) 主機(jī): 192.168.252.124

依賴環(huán)境

Hadoop

HBase

安裝

下載解壓

在 ndoe1 上操作

su hadoop

cd /home/hadoop/

wget https://mirrors.tuna.tsinghua.edu.cn/apache/phoenix/apache-phoenix-4.11.0-HBase-1.3/bin/apache-phoenix-4.11.0-HBase-1.3-bin.tar.gz

tar -zxvf apache-phoenix-4.11.0-HBase-1.3-bin.tar.gz

mv apache-phoenix-4.11.0-HBase-1.3-bin phoenix-4.11.0

配置 Phoenix

復(fù)制 JAR

進(jìn)入 /phoenix-4.11.0 文件目錄

cd /home/hadoop/phoenix-4.11.0/

把兩個(gè) jar 包 phoenix-4.11.0-HBase-1.3-client.jar,phoenix-core-4.11.0-HBase-1.3.jar 拷貝至 Hbase的/lib文件夾。

cp phoenix-4.11.0-HBase-1.3-client.jar /home/hadoop/hbase-1.3.1/lib/

cp phoenix-core-4.11.0-HBase-1.3.jar /home/hadoop/hbase-1.3.1/lib/

復(fù)制 base-site.xml

進(jìn)入 Hbase conf配置目錄

cd /home/hadoop/hbase-1.3.1/conf/

把 Hbase 的配置文件 base-site.xml拷貝至 Phoenix 根目錄中的 /bin 文件夾下到此就完成了配置。

cp hbase-site.xml /home/hadoop/phoenix-4.11.0/bin

配置集群

復(fù)制節(jié)點(diǎn)

將 phoenix-4.11.0文件夾重打包后復(fù)制到其他子節(jié)點(diǎn)

cd /home/hadoop/

tar zcvf phoenix.tar.gz phoenix-4.11.0

scp phoenix.tar.gz hadoop@node2:/home/hadoop/

scp phoenix.tar.gz hadoop@node3:/home/hadoop/

在 node2,node3 節(jié)點(diǎn)解壓

cd /home/hadoop/

tar -zxvf phoenix.tar.gz

進(jìn)入 node2,node3 節(jié)點(diǎn) phoenix-4.11.0 文件目錄

cd /home/hadoop/phoenix-4.11.0/

把兩個(gè) jar 包 phoenix-4.11.0-HBase-1.3-client.jar,phoenix-core-4.11.0-HBase-1.3.jar 拷貝至 Hbase的/lib文件夾。

cp phoenix-4.11.0-HBase-1.3-client.jar /home/hadoop/hbase-1.3.1/lib/

cp phoenix-core-4.11.0-HBase-1.3.jar /home/hadoop/hbase-1.3.1/lib/

啟動(dòng)

cd /home/hadoop/phoenix-4.11.0/bin

./sqlline.py 192.168.252.124:2181

如果看到如下信息,證明,配置沒毛病

Setting property: [incremental, false]

Setting property: [isolation, TRANSACTION_READ_COMMITTED]

issuing: !connect jdbc:phoenix:node4:2181 none none org.apache.phoenix.jdbc.PhoenixDriver

Connecting to jdbc:phoenix:node4:2181

17/09/21 13:58:09 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Connected to: Phoenix (version 4.11)

Driver: PhoenixEmbeddedDriver (version 4.11)

Autocommit status: true

Transaction isolation: TRANSACTION_READ_COMMITTED

Building list of tables and columns for tab-completion (set fastconnect to true to skip)...

92/92 (100%) Done

Done

sqlline version 1.2.0

0: jdbc:phoenix:node4:2181>

命令行測(cè)試

創(chuàng)建表

create table test (mykey integer not null primary key, mycolumn varchar);

增加,修改表數(shù)據(jù)

upsert into test values (1,'Hello');

upsert into test values (2,'www.ymq.io');

查詢表數(shù)據(jù)

select * from test;

響應(yīng)

+--------+-------------+

| MYKEY | MYCOLUMN |

+--------+-------------+

| 1 | Hello |

| 2 | www.ymq.io |

+--------+-------------+

2 rows selected (0.083 seconds)

刪除表

drop table test;

常用命令

!tables #查看表

!exit #退出phoenix

create table、drop table、desc table

phoenix 語(yǔ)法

JDBC 測(cè)試

public static void main(String[] args) throws Throwable {

try {

Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");

//這里配置zookeeper的地址,可單個(gè),多個(gè)(用","分隔)可以是域名或者ip

String url = "jdbc:phoenix:node4:2181";

Connection conn = DriverManager.getConnection(url);

Statement statement = conn.createStatement();

long time = System.currentTimeMillis();

ResultSet rs = statement.executeQuery("select * from test");

while (rs.next()) {

String myKey = rs.getString("MYKEY");

String myColumn = rs.getString("MYCOLUMN");

System.out.println("myKey=" + myKey + "myColumn=" + myColumn);

}

long timeUsed = System.currentTimeMillis() - time;

System.out.println("time " + timeUsed + "mm");

// 關(guān)閉連接

rs.close();

statement.close();

conn.close();

} catch (Exception e) {

e.printStackTrace();

}

}

響應(yīng)

myKey=1myColumn=Hello

myKey=2myColumn=www.ymq.io

time 127mm

Contact

作者:鵬磊

版權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)注明出處

Wechat:關(guān)注公眾號(hào),搜云庫(kù),專注于開發(fā)技術(shù)的研究與知識(shí)分享

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的配置phoenix连接hbase_使用 Phoenix-4.11.0连接 Hbase 集群 ,并使用 JDBC 查询测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。