大家好,欢迎来到IT知识分享网。
Hbase集成Pheonix配置
一、下载Pheonix
在官网 Apache Phoenix 下载和自己Hbase版本一致的Pheonix
老版本的可以在 Index of /dist/phoenix (apache.org) 这里下载
二、安装Pheonix
- 解压 phoenix-hbase-2.2-5.1.3-bin.tar.gz 到安装目录
[root@hadoop01 modules]# tar -zxvf phoenix-hbase-2.2-5.1.3-bin.tar.gz -C /usr/local/ [root@hadoop01 modules]# cd /usr/local/ [root@hadoop01 local]# mv phoenix-hbase-2.2-5.1.3-bin/ phoenix
- 复制HBase的lib目录下的 phoenix-server-hbase-2.2-5.1.3.jar 到各个节点下的 ${HBASE_HOME}/lib目录中
[root@hadoop01 local]# cp phoenix-server-hbase-2.2-5.1.3.jar /usr/local/hbase/lib/
- 配置Pheonix的环境变量
[root@hadoop01 local]# vi /etc/profile #phoenix export PHOENIX_HOME=/usr/local/phoenix export PHOENIX_CLASSPATH=$PHOENIX_HOME export PATH=$PATH:$PHOENIX_HOME/bin [root@hadoop01 local]# source /etc/profile
- 在hbase-site.xml中添加支持 二级索引 的参数(如果不需要创建二级索引,不用不加)。之后分发到所有 regionserver 的节点上
[root@hadoop01 local]# cd /usr/local/hbase/conf [root@hadoop01 conf]# vi hbase-site.xml
写入以下内容
<property> <name>hbase.regionserver.wal.codec</name> <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value> </property> <property> <name>hbase.region.server.rpc.scheduler.factory.class</name> <value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory</value> <description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description> </property> <property> <name>hbase.rpc.controllerfactory.class</name> <value>org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory</value> <description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description> </property> <property> <name>hbase.regionserver.wal.codec</name> <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value> </property>
- 在Pheonix的bin目录下创建 hbase-site.xml 的软连接
[root@hadoop01 conf]# cd /usr/local/pheonix/bin [root@hadoop01 conf]# rm -rf ./hbase-site.xml [root@hadoop01 conf]# ls -sf /usr/local/hbase/conf/hbase-site.xml
- 启动 hbase
[root@hadoop01 bin]# start-hbase.sh
- 启动 phoenix
[root@hadoop01 bin]# ./sqlline.py hadoop01:2181
- 错误解决
出现下面错误的原因是之前使用过 phoenix,建议删除之前的记录 警告: Failed to load history java.lang.IllegalArgumentException: Bad history file syntax! The history file ~/.sqlline/history may be an older history: please remove it or use a different history file. 解决方法:在/root或者/home目录下删除.sqlline 文件夹 rm -rf ~/.sqlline
三、安装queryserver
在Pheonix 5.x 版本后,queryserver被剥离出来作为一个单独的组件,在 Apache Phoenix 中可以下载
- 解压 phoenix-queryserver-6.0.0-bin.tar.gz
[root@hadoop01 modules]# tar -zxvf phoenix-queryserver-6.0.0-bin.tar.gz -C /usr/local/ [root@hadoop01 modules]# cd /usr/local/ [root@hadoop01 local]# mv phoenix-queryserver-6.0.0-bin/ queryserver
- 复制 Pheonix/ 目录下的 phoenix-client-hbase-2.2-5.1.3.jar 到 queryserver 的根目录下
[root@hadoop01 queryserver]# cd queryserver/ [root@hadoop01 queryserver]# cp /usr/local/phoenix/phoenix-client-hbase-2.2-5.1.3.jar ./
- 启动 queryserver
[root@hadoop01 queryserver]# bin/queryserver.py start
- 查看进程并测试 queryserver
# 启动后查看端口: [root@hadoop01 queryserver]# netstat -tunlp|grep 8765 # 也可以查看进程: [root@hadoop01 queryserver]# ps -ef|grep queryserver # 可以使用命令连接测试: [root@hadoop01 queryserver]# sqlline-thin.py http://hadoop01:8765
四、DataGrip 连接 Pheonix (瘦客户端)
- 配置连接
- 选择 apache Pheonix thin
- 输入 host 和 端口号(8765)
- 下载驱动(直接点击download driver files即可)
- 配置URL
jdbc:phoenix:thin:url=http://hadoop10:8765;serialization=PROTOBUF
- 启用名称空间映射参数
# phoenix.schema.isNamespaceMappingEnabled:默认false,如果启用了它,那么使用模式创建的表将映射到名称空间。这需要在客户端和服务器端同时设置。如果设置一次,则不应回滚。启用此属性后,旧客户端将无法工作。 phoenix.schema.mapSystemTablesToNamespace=true # phoenix.schema.mapSystemTablesToNamespace:默认true,如果它启动,系统表将自动迁移到SYSTEM命名空间。如果设置成false,系统表将在默认的命名空间中创建。它需要同时在客户端和服务端设置 phoenix.schema.isNamespaceMappingEnabled=true
- apply 即可
至此安装完成
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/144863.html