精选文章 HBase + Phoenix + SQuirreL SQL Client + JavaAPI

HBase + Phoenix + SQuirreL SQL Client + JavaAPI

作者:dirkZh 时间: 2021-02-05 09:43:12
dirkZh 2021-02-05 09:43:12
【摘要】一、HBase配置 
附上hbase-site.xml配置,有的配置我也不知道是和意思,更多的还是参考前辈们的文章。里面有坑 
 
		hbase.regionserver.wal.codec
		org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
	

	
		hbase.region.server.rpc.schedu...

一、HBase配置

附上hbase-site.xml配置,有的配置我也不知道是和意思,更多的还是参考前辈们的文章。里面有坑

 
		hbase.regionserver.wal.codec
		org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
	

	
		hbase.region.server.rpc.scheduler.factory.class
		org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory
	 
		hbase.rpc.controllerfactory.class
		org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory
	 
		phoenix.schema.mapSystemTablesToNamespace
		true
	 
	
		phoenix.schema.isNamespaceMappingEnabled
		true
	   hbase.rootdir hdfs://mycluster/hbase    hbase.cluster.distributed true    hbase.zookeeper.quorum node02,node03,node04    hbase.zookeeper.property.clientPort 2181 

 

二、SQuirreL 

Squirrel连接Phoenix只需要phoenix-x.x.x-HBase-x.x-client.jar一个驱动jar即可,我在虚机上面用的版本如下

hadoop2.6.5
zookeeper3.4.6
hbase1.3.6
phoenix4.14.3-HBase-1.3-bin

各个版本最好保持一致,不一致也要版本近似。

如果连接过程中出现"Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.isNamespaceMappingEnabled enabled\" 错误,就像报错信息提示的一样,是因为hbase-site.xml配置了命名空间,去掉即可,如下:



phoenix.schema.isNamespaceMappingEnabled

true

然后重启hbase,进入hbase shell,按照下面步骤进行操作,修改hbase中表SYSTEM:CATALOG名为SYSTEM.CATALOG

1)disable 'SYSTEM:CATALOG'

2)snapshot 'SYSTEM:CATALOG', 'cata_tableSnapshot'

3)clone_snapshot 'cata_tableSnapshot', 'SYSTEM.CATALOG'

4)drop 'SYSTEM:CATALOG'

重启phoenix便会连接成功。

但是项目需要HBASE的命名空间,就需要配置Phoenix的Schema与之对应,在hbase.site.xml配置如下:

 phoenix.schema.isNamespaceMappingEnabled true


 phoenix.schema.mapSystemTablesToNamespace true

 配置之后,程序需要加到对应的改动,如下:

 Properties props = new Properties(); props.setProperty("userName", ""); props.setProperty("password", ""); props.setProperty("phoenix.schema.isNamespaceMappingEnabled", "true"); props.setProperty("phoenix.schema.mapSystemTablesToNamespace", "true");

下面附上连接成功的截图

HBase + Phoenix + SQuirreL SQL Client + JavaAPI1

三、JDBC连接Phoenix

需要驱动包phoenix-4.14.3-HBase-1.3-client.jar,测试连接的代码如下

public static void testConn() throws Exception { String driver = "org.apache.phoenix.jdbc.PhoenixDriver"; String url = "jdbc:phoenix:node02,node03,node04:2181"; Class.forName(driver); Connection conn = DriverManager.getConnection(url, "", ""); String sql = "select 1"; PreparedStatement ps = conn.prepareStatement(sql); ResultSet rs = ps.executeQuery(); if (rs.next()) { System.out.println("连接成功"); } }

四、sqlline

在phoenix/bin目录下,通过./sqlline启动客户端操作phoenix,如果启动失败,需要指定zk,即./sqllinie zk:2181,注意点如下:

1、!tables

查看所有表

2、!desc tbl;

查看tbl元数据信息

3、create schema sch1;

Phoenix是区分大小写的,像上面的语句是建立了schema,自动转为大写SCH1,如果需要小写,需要套上双引号,即create schema "sch1"。

创建表时同样区分大小写。

4、客户端操作schemae或者table,需要区分大小写

比如,程序需要获取指定schema和table的字段信息,需要确定schema和table的大小写,不然获取为空

 

 

 

 

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:Python编程基础 Datawhale Task07:类、对象与魔法方法(3天)

下一篇:POJ2774(后缀数组 求两串最长公共子串)

CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。

您可能感兴趣 换一换

  • 用ADO管理SQL Server数据库及其设备

    微 软 公 司 的SQL Server 是 目 前 小 型 网 络 中 常 用 的 数 据 库 管 理 系 统 之 一。 面 向 这 种 网 络 数 据 库 的 应 用 程 序 也 在 日 益 增 多, 这 种 网 络 数 据 库 应 用 系 统 的 正 常 运 行, 一 般 都 依 赖 于 已 经 存 在 的 用 户 数 据 库。 创 建 数 据 库 的 工 作 当 然 可 以 用SQL ...

  • SQL Server存储过程编程经验技巧

    SQL Server存储过程编程经验技巧作者:苏红超 文章来源:http://home.kzinfo.net/getc/200104/0406008.htm   MS SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 MS SQL Server2000的推出,微软的这种数据库服务系统真正的实现了在WindowsNT/200 ...

  • SQL SELECT 语句

    SELECT 从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列。虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下: SELECT select_list[ INTO new_table ] FROM table_source [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING...

  • SQL Server bcp 实用工具

    bcp 实用工具 bcp 实用工具在 Microsoft® SQL Server™ 2000 实例和数据文件之间以用户指定的格式复制数据。 语法 bcp {[[database_name.][owner].]{table_name | view_name} | "query"}    {in | out | queryout | format} data_file    [-m max_er...

  • ASP中使用SQL时的数据类型转换

    1 ASP中对数据库的访问技术ASP(Active Server Pages)是标准HTML的一种变体,ASP网页在输送到客户端浏览器之前,先在服务器上执行,得到标准HTML代码,再输送到浏览器上显示出来,这意味着WEB开发者可以开发与服务器交互的网页,使网页能根据访问者提供的条件反馈最新的实时的信息。而这些技术的实现与数据库是分不开的,数据库是对外开放网站与企业内部管理系统间的数据交换中心...

  • 如何查出前台正在发出的sql语句?

    如何查出前台正在发出的sql语句? 软件环境:  1、Windows 2000+ORACLE 8.1.6 2、ORACLE安装路径为:C:/ORANT 实现方法:  可以用以下语句: select user_name,sql_text    from v$open_cursor    where sid in (select sid from (select sid,serial   fro...

  • 关于SQL SERVER的一些安全问题

    目前关于NT服务器的入侵,有很多种方法,如对IIS的漏洞进行利用,但大家不知道注意到没有,其实通过与NT服务器相关联的SQL数据库服务器的例子也是很有比例的一种手段。大家可以参看下面的一个新闻报道:http://www.vnunet.com/News/1110938。Herbless入侵破坏的一些站点,如legoland.co.uk站点就是通过SQL服务器的入侵而获得对系统的控制权而破坏的。...

  • 一个sql语句,包含有几乎所有标准查询语法

    W_KMR01_11 ---- KMM13BR COPYWRITE BY LD 2000/09/07 15:30   SELECT DISTINCT SUBSTRING( KMM102.KMM102_BGT_TYPE,1,4 ) AS BGT_TYPE,            ( CASE SUBSTRING( KMM102.KMM102_BGT_TYPE,3,2 ) WHEN "09" ...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
HBase + Phoenix + SQuirreL SQL Client + JavaAPI介绍:华为云为您免费提供HBase + Phoenix + SQuirreL SQL Client + JavaAPI在博客、论坛、帮助中心等栏目的相关文章,同时还可以通过 站内搜索 查询更多HBase + Phoenix + SQuirreL SQL Client + JavaAPI的相关内容。| 移动地址: HBase + Phoenix + SQuirreL SQL Client + JavaAPI | 写博客