IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> HBase集成phoenix实现SQL操作 -> 正文阅读

[大数据]HBase集成phoenix实现SQL操作

(所有安装注意版本是否兼容)

安装HBase,见。https://blog.csdn.net/lvhao2813/article/details/104993229

下载phoenix

官网下载地址:http://phoenix.apache.org/download.html

hadoop-3.2.1 + hbase-2.2.4 + phoenix-5.1.2

解压

tar -zxvf phoenix-hbase-2.2-5.1.2-bin.tar.gz

将phoenix-server-hbase-2.2-5.1.2.jar 复制到Hbase的安装目录下

HBASE_HOME/lib目录下(3台集群都移动)

cp PHOENIX_HOME/phoenix-server-hbase-2.2-5.1.2.jar HBASE_HOME/lib/phoenix-server-hbase-2.2-5.1.2.jar

cp /myfiles/phoenix/phoenix-server-hbase-2.2-5.1.2.jar /myfiles/hbase/hbase-2.2.4/lib/phoenix-server-hbase-2.2-5.1.2.jar
?

配置
配置HBASE_HOME/conf/hbase-site.xml

1.如果需要运用到NameSpace(相当于DB中数据库概念)需要加入配置,不配置默认为default库

<property>
? ? <name>phoenix.schema.isNamespaceMappingEnabled</name>
? ? <value>true</value>
</property>


2.使用二级索引需要加上

<property>
    <name>hbase.regionserver.wal.codec</name>
    <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>

重启Hbase

stop-hbase.sh
start-hbase.sh

Phoenix在linux安装,可以通过命令写sql查询

如果需要使用phoenix shell操作需要
将以下3个文件拷贝到 PHOENIX_HOME/bin目录下:

HADOOP_HOME/etc/hadoop/hdfs-site.xml
HADOOP_HOME/etc/hadoop/core-site.xml
HBASE_HOME/conf/hbase-site.xml

  • 需要保证配置文件一致

在PHOENIX_HOME/bin进入phoenix

./sqlline.py hostname:2181
或
./sqlline.py hostname1,hostname2,hostname3:2181

在windows安装DBeaver连接Phoenix,可以通过命令写sql查询,以及可视化编辑(类似于navicat)

在这里插入图片描述

在这里插入图片描述

?通过上面下载phoenix包中的phoenix-client-hbase-2.2-5.1.2.jar加到里面,注意版本一致。

在这里插入图片描述

?如果配置了NameSpace,需要在DBeaver中也配置一下

<property>
    <name>phoenix.schema.isNamespaceMappingEnabled</name>
    <value>true</value>
</property>

在这里插入图片描述

?在这里插入图片描述

?旁边为数据库导航,如果没有重启DBeaver或者刷新

在这里插入图片描述

SpringBoot集成HBase

<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.9</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>2.2.5</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.phoenix</groupId>
            <artifactId>phoenix-core</artifactId>
            <version>5.1.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.phoenix</groupId>
            <artifactId>phoenix-hbase-compat-2.2.5</artifactId>
            <version>5.1.2</version>
        </dependency>
spring:
  datasource:
    driver-class-name: org.apache.phoenix.jdbc.PhoenixDriver
    url: jdbc:phoenix:node01,node02,node03:2181
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: 5
      max-active: 100
      max-wait: 60000
      min-evictable-idle-time-millis: 600000
      min-idle: 1
      test-on-borrow: false
      test-while-idle: true
      time-between-eviction-runs-millis: 60000
mybatis:
  mapperLocations: classpath:mybatis/*.xml

将HBASE_HOME/conf/hbase-site.xml和HADOOP_HOME/etc/hadoop/core-site.xml复制到项目resources目录下

问题记录
hbase表与zookeeper记录不一致导致启动异常
使用zkCli.sh进入zookeeper
zkCli.sh
1
通过ls 命令查看hbase节点

通过命令删除该节点(会导致数据丢失)

deleteall /hbase
1
regionserver.HRegionServer: Failed construction RegionServer
将HBASE_HOME/lib/client-facing-thirdparty复制到HBASE_HOME/lib
?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-25 12:16:45  更:2021-08-25 12:19:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 12:46:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码