基于 HBase & Phoenix 构建实时数仓(3)—— Phoenix 安装

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
img

正文

节点 进程node1node2node3node4
Phoenix****

二、Phoenix 安装

在所有节点上执行下面第1、2步操作,在 node1 节点上执行第3步操作。

1. 解压、配置环境

# 解压
tar -zxvf phoenix-hbase-2.5-5.1.3-bin.tar.gz

# 编辑 /etc/profile 文件
vim /etc/profile
 
# 添加下面两行
export PHOENIX_HOME=/root/phoenix-hbase-2.5-5.1.3-bin/
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PHOENIX_HOME/bin:$PATH
 
# 加载生效
source /etc/profile

2. 复制两个文件

cp $PHOENIX_HOME/phoenix-server-hbase-2.5-5.1.3.jar $HBASE_HOME/lib/
cp $HBASE_HOME/conf/hbase-site.xml $PHOENIX_HOME/bin/

3. 重启 HBase 集群

stop-hbase.sh
start-hbase.sh

4. 安装验证

(1)连接 HBase
# 连接,参数为 Zookeeper 节点
sqlline.py node1,node2,node3
# 列出表
!table

输出:

[root@vvml-yz-hbase-test~]#sqlline.py node1,node2,node3
Setting property: [incremental, false]
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect -p driver org.apache.phoenix.jdbc.PhoenixDriver -p user "none" -p password "none" "jdbc:phoenix:node1,node2,node3"
Connecting to jdbc:phoenix:node1,node2,node3
24/03/07 14:44:45 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
24/03/07 14:44:45 WARN impl.MetricsConfig: Cannot locate configuration: tried hadoop-metrics2-phoenix.properties,hadoop-metrics2.properties
Connected to: Phoenix (version 5.1)
Driver: PhoenixEmbeddedDriver (version 5.1)
Autocommit status: true
Transaction isolation: TRANSACTION_READ_COMMITTED
sqlline version 1.9.0
0: jdbc:phoenix:node1,node2,node3> !table
+-----------+-------------+------------+--------------+---------+-----------+---------------------------+----------------+-------------+-+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME |  TABLE_TYPE  | REMARKS | TYPE_NAME | SELF_REFERENCING_COL_NAME | REF_GENERATION | INDEX_STATE | |
+-----------+-------------+------------+--------------+---------+-----------+---------------------------+----------------+-------------+-+
|           | SYSTEM      | CATALOG    | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | CHILD_LINK | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | FUNCTION   | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | LOG        | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | MUTEX      | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | SEQUENCE   | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | STATS      | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | TASK       | SYSTEM TABLE |         |           |                           |                |             | |
+-----------+-------------+------------+--------------+---------+-----------+---------------------------+----------------+-------------+-+
0: jdbc:phoenix:node1,node2,node3>

默认情况下,直接在 HBase 中创建的表,通过 Phoenix 是查看不到的。如上一篇在 hbase shell 中创建的 test 表,这里没有显示。如果要在 Phoenix 中操作直接在 HBase 中创建的表,则需要在 Phoenix 中进行表的映射。映射方式有两种:视图映射和表映射。

(2)视图映射

Phoenix 创建的视图是只读的,所以只能用来做查询,无法通过视图对源数据进行修改等操作。

0: jdbc:phoenix:node1,node2,node3> create view "test"(pk varchar primary key,"cf"."a" varchar,"cf"."b" varchar,"cf"."c" varchar,"cf"."d" varchar,"cf"."e" varchar);
No rows affected (0.178 seconds)
0: jdbc:phoenix:node1,node2,node3> !table
+-----------+-------------+------------+--------------+---------+-----------+---------------------------+----------------+-------------+-+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME |  TABLE_TYPE  | REMARKS | TYPE_NAME | SELF_REFERENCING_COL_NAME | REF_GENERATION | INDEX_STATE | |
+-----------+-------------+------------+--------------+---------+-----------+---------------------------+----------------+-------------+-+
|           | SYSTEM      | CATALOG    | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | CHILD_LINK | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | FUNCTION   | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | LOG        | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | MUTEX      | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | SEQUENCE   | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | STATS      | SYSTEM TABLE |         |           |                           |                |             | |
|           | SYSTEM      | TASK       | SYSTEM TABLE |         |           |                           |                |             | |
|           |             | test       | VIEW         |         |           |                           |                |             | |
+-----------+-------------+------------+--------------+---------+-----------+---------------------------+----------------+-------------+-+
0: jdbc:phoenix:node1,node2,node3> select * from "test";
+------+--------+--------+--------+--------+--------+
|  PK  |   a    |   b    |   c    |   d    |   e    |
+------+--------+--------+--------+--------+--------+
| row1 | value1 |        |        |        |        |
| row2 |        | value2 |        |        |        |
| row3 |        |        | value3 |        |        |
| row4 |        |        |        | value4 |        |
| row5 |        |        |        |        | value5 |
+------+--------+--------+--------+--------+--------+
5 rows selected (0.021 seconds)
0: jdbc:phoenix:node1,node2,node3> 

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

:vip204888 (备注大数据)**
[外链图片转存中…(img-XgVzgDJF-1713179833361)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值