Phoenix 搭建与报错处理,hbase与phoenix表与表进行关联

2023-11-28 05:10

本文主要是介绍Phoenix 搭建与报错处理,hbase与phoenix表与表进行关联,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Overview | Apache Phoenix    官网
Phoenix Downloads | Apache Phoenix        下载

phoenix是Hbase的SQL壳 (可以写sql)
phoenix的用途 : 连接Hbase当SQL的数据库使用,语法有细微差别
        访问Hbase的数据,映射view。使用select 查询进行分析,统计,汇总
另一种的壳可以选kylin

1.下载和Hbase对应的版本
例:apache-phoenix-4.14.0-cdh5.14.2-bin.tar
2.解压
例:tar -zxvf apache-phoenix-4.14.0-cdh5.14.2-bin.tar.gz 

3.mv到/opt/install/phoenix

4.拷贝/opt/install/phoenix/phoenix-xxx-server.jar 到hbase的lib下。(所有节点)
例:cdh版的是phoenix-4.14.0-cdh5.14.2-server.jar ,apache版的是 phoenix-4.14.0-Hbase-server.jar

linux>scp -r phoenix-4.14.0-cdh5.14.2-server.jar  192.168.58.200:/opt/install/hbase/lib/
linux>scp -r phoenix-4.14.0-cdh5.14.2-server.jar  192.168.58.201:/opt/install/hbase/lib/
linux>scp -r phoenix-4.14.0-cdh5.14.2-server.jar  192.168.58.202:/opt/install/hbase/lib/
linux>scp -r phoenix-4.14.0-cdh5.14.2-server.jar  192.168.58.203:/opt/install/hbase/lib/

5.重启hbase

linux>stop-hbase.sh
linux>start-hbase.sh

6.启动/phoenix/bin/sqlline.py 192.168.58.200:2181

7.报错处理

错误1:Error: ERROR 103 (08004): Unable to establish connection. (state=08004,code=103)

linux> cp /opt/install/hbase/conf/hbase-site.xml  /opt/install/phoenix/bin/
linux> cp /opt/install/hadoop/etc/hadoop/hdfs-site.xml   /opt/install/phoenix/bin

错误2:Error: SYSTEM.CATALOG (state=08000,code=101)

方法1:/bin/hbase zkcli (此方法推荐)
   ls /hbase/table  (执行hbase zkcli 先不用管有没有报错直接输入 ls /hbase/table)
  如果有下面的表:SYSTEM.CATALOG, SYSTEM.SEQUENCE, SYSTEM.STATS, and SYSTEM.FUNCTION,则执行如下命令
  rmr /hbase/table/SYSTEM.CATALOG
  rmr /hbase/table/SYSTEM.SEQUENCE
  rmr /hbase/table/SYSTEM.STATS
  rmr /hbase/table/SYSTEM.FUNCTION

方法2:/bin/hbase clean --cleanAll(此种方法不建议会清空hbse内的表)
在执行上述命令之前:先关闭hbase(包括HMaster和regionServer)
执行完后重新启动hbase
通过 ./sqlline.py 进入phoenix,系统会自动创建Phoenix的系统表

注意:hbase clean --cleanAll 执行完后hbase内的表会清空,注意关联hive的内部表

成功进入界面

进入后输入>!help

jdbc:phoenix:192.168.58.201:2181> !help    //查看帮助
jdbc:phoenix:192.168.58.201:2181> !tables    //查看表
jdbc:phoenix:192.168.58.201:2181>CREATE TABLE test (
id varchar PRIMARY KEY,
name varchar ,
age varchar
);            //创建表创建后可在hbase中list查看到
注意:hbase区分大小写;Phoenix不区分大小写,默认情况下都是大写,变小写加上双引号就可以

phoenix插入数据: updata+insert结合(upsert)更新数据与这个语句是一样的

jdbc:phoenix:192.168.58.201:2181>upsert into user(id, name, age) values('001', 'lisi', '21');

phoenix删除表

jdbc:phoenix:192.168.58.201:2181>drop table 表名;

phoenix删除语句:

jdbc:phoenix:192.168.58.201:2181>delete from 表名 where 字段='值';

phoenix指定列族

jdbc:phoenix:192.168.58.201:2181>CREATE TABLE test (
id varchar PRIMARY KEY,
INFO.name varchar ,
INFO.age varchar
);

在hbase shell中查看

phoenix查询语句:

jdbc:phoenix:192.168.58.201:2181>select * from 表名;
jdbc:phoenix:192.168.58.201:2181>select name from 表名 where 字段='值';

hbase与phoenix表与表进行关联
在phoenix中:列的顺序可以不一致,表名称必须一致,以及列名称一致
假如在HBase中有一张表
在phoenix做映射创建

jdbc:phoenix:192.168.58.201:2181>create view  "test22"(
"ROW" varchar primary key,
"base"."name" varchar,
"base"."gender" varchar,
"base"."birth_date" varchar
);

 注意事项:

1.phoenix验证的时候,查询表名需要用双引号括起来,强制不转换成大写
2.创建phoenix时,表名和列族以及列名需要用双引号括起来,不然会自动将小写转换成大写。
3.创建关联的时候要用create view不要create table 用view能显示出数据,table不显示数据,而且phoenix删除表会影响hbase与hive内部表
因为:hbase无表 phoenix 创建(table)会映射到hbase

这篇关于Phoenix 搭建与报错处理,hbase与phoenix表与表进行关联的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/429113

相关文章

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.