CDH6.3.2 启用Kerberos 集成使用phoenix

标签(空格分隔):大数据平台构建


  • 一、下载并安装Phoenix parcel
  • 二、安装CSD文件
  • 三、在Cloudera Manager中添加Phoenix服务(前提是已经安装了HBase服务)
  • 四、配置HBase以用于Phoenix
  • 五、验证Phoenix安装 与冒烟测试
  • 六、导入数据验证测试
  • 七、关于phoinex 的schema 与 hbase 的namespace 集成

一、下载并安装Phoenix parcel

下载地址
https://archive.cloudera.com/phoenix/6.2.0/parcels/

PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel    
PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel.sha

https://archive.cloudera.com/phoenix/6.2.0/csd/
PHOENIX-1.0.jar

CDH6.3.2 启用Kerberos 集成使用phoenix_第1张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第2张图片


1. 登录Cloudera Manager,点“群集”->“Parcel”,进入Parcel页。
2. 点击“配置”,添加远程Phoenix Parcel URL,如图1所示,然后保存更改。

CDH6.3.2 启用Kerberos 集成使用phoenix_第3张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第4张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第5张图片


 4. 完成下载后,点击“分配”

CDH6.3.2 启用Kerberos 集成使用phoenix_第6张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第7张图片

 5. 分配完成后,点击“激活”

CDH6.3.2 启用Kerberos 集成使用phoenix_第8张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第9张图片

二、安装CSD文件

2.1 安装 phoenix

在CDH中添加Phoenix服务之前,必须安装Custom Service Descriptor(CSD)文件。

1. 确定CSD文件存放位置。
 登录Cloudera Manager,点“管理”->“设置”,点击“自定义服务描述符”,查看“本地描述符存储库路径”

 /opt/cloudera/csd 目录

 mv PHOENIX-1.0.jar /opt/cloudera/csd/

从新启动cloudera-scm-server 服务

systemctl restart cloudera-scm-server

CDH6.3.2 启用Kerberos 集成使用phoenix_第10张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第11张图片


登录Cloudera Manager,重启Cloudera Management Service服务

CDH6.3.2 启用Kerberos 集成使用phoenix_第12张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第13张图片


CDH6.3.2 启用Kerberos 集成使用phoenix_第14张图片

需要从新启动hbase 

CDH6.3.2 启用Kerberos 集成使用phoenix_第15张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第16张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第17张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第18张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第19张图片

三: 在Cloudera Manager中添加Phoenix服务

CDH6.3.2 启用Kerberos 集成使用phoenix_第20张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第21张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第22张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第23张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第24张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第25张图片


四、配置HBase以用于Phoenix

1. 添加属性
 选择“Hbase”->“配置”,搜索“hbase-site.xml 的 HBase 服务高级配置代码段”,单击“以XML格式查看”,并添加以下属性:


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


 phoenix.functions.allowUserDefinedFunctions
 true
 enable UDF functions


 将hbase.regionserver.wal.codec定义写入预写日志(“wal”)编码。
设置phoenix.functions.allowUserDefinedFunctions属性启用用户自定义函数(UDF)。
 重启Hbase服务

CDH6.3.2 启用Kerberos 集成使用phoenix_第26张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第27张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第28张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第29张图片

登录 phoinex
使用kerberos 的 hbase 账号登录
kadmin.local

xst -kt /root/hbase.keytab -norandkey hbase/[email protected]

kinit -kt hbase.keytab hbase/[email protected]

klist

如果hbase的 keytab 文件过期 就 从新生成

CDH6.3.2 启用Kerberos 集成使用phoenix_第30张图片

image.png-11.4kB

CDH6.3.2 启用Kerberos 集成使用phoenix_第31张图片

五:冒烟测试

登录集群主机,并在命令提示符下运行以下冒烟测试:

phoenix-psql /opt/cloudera/parcels/PHOENIX-5.0.0-cdh6.2.0.p0.1308267/lib/phoenix/examples/WEB_STAT.sql /opt/cloudera/parcels/PHOENIX-5.0.0-cdh6.2.0.p0.1308267/lib/phoenix/examples/WEB_STAT.csv /opt/cloudera/parcels/PHOENIX-5.0.0-cdh6.2.0.p0.1308267/lib/phoenix/examples/WEB_STAT_QUERIES.sql

CDH6.3.2 启用Kerberos 集成使用phoenix_第32张图片


六. 导入数据验证测试

导入测试用户md5电话测试
vim user_md5_phone.txt 
---
1312259769,440000,13113962870,6c4c8e6d1b8a352dbed4adccdbd0916b,2d18e767f4dd0a6b965f98e66146dcf3c57a92a59ed82bee58230e2ce29fd18e,7O3dO7OGm3oz+19WWHDyij9yA==

1312259770,440000,13113960649,869f01556dac3c9c594e79f27956a279,9f51d68d8dd6121cbb993f9a630db0356b599a5cdf51c1b23897245cf6e01798,b/S8Gb/JOSaHwa/Tc+6X60bfw==

1312259771,440000,13113960246,047c7ea330311966ca5e9ea47ad39d45,c643a9299090a751a5ec7994906bc02e4514ae881e61c9432dcae1292bb83c98,1Ivlz1IZEvBypRDfzWJ4gP+7w==

1312259772,440000,13113969966,c822d280828a99b8de813501d931f2bc,c06fadd37b332224deed002cbddc76bfea336450785de8a9ca07de8b88a51dc5,ubOOQub8OOnyh+fQ528AdpOkg==

1312259773,440000,13113969454,d58f7356ae473a7c24f880e4ae080121,746ec2332c0bc48c883deebb5c84e69b3e7293148be0ae9f0d9b2d82ea00bbb0,l3L2Xl3CvL23XhBlYuA/wnsGg==
---

数据字段介绍

 字段  字段解释
ID    
REGION_CODE  地区编码
PHONE_NUMBER  电话号码
MD5_PHONE_NUMBER  电话号码md5加密
SHA256_PHONE_NUMBER  电话号码sha256加密
AES_PHONE_NUMBER  电话号码aes加密

   这边以 ID 作为hbase 的rowkey 
登录hbase 

create 'ODS_USER.PHONE_NUMBER','INFO'

list

CDH6.3.2 启用Kerberos 集成使用phoenix_第33张图片

2、在phoenix中建立相同表以实现与hbase表的映射

登录phoinex
!ph

create table ODS_USER.PHONE_NUMBER(ID varchar primary key, INFO.REGION_CODE varchar, INFO.PHONE_NUMBER varchar, INFO.MD5_PHONE_NUMBER varchar, INFO.SHA256_PHONE_NUMBER varchar, INFO.AES_PHONE_NUMBER varchar) column_encoded_bytes=0;

CDH6.3.2 启用Kerberos 集成使用phoenix_第34张图片

将要导入数据上传的hdfs

hdfs dfs -mkdir /tmp/hbase
hdfs dfs -mkdir /tmp/hfile

hdfs dfs -chmod 777 /tmp/hbase 
hdfs dfs -chmod 777 /tmp/hfile

hdfs dfs -put user_md5_phone.txt

CDH6.3.2 启用Kerberos 集成使用phoenix_第35张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第36张图片

3、生成HFILE文件
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,INFO:REGION_CODE,INFO:PHONE_NUMBER,INFO:MD5_PHONE_NUMBER,INFO:SHA256_PHONE_NUMBER,INFO:AES_PHONE_NUMBER -Dimporttsv.separator=, -Dimporttsv.bulk.output=/tmp/hfile/user_md5_phone ODS_USER.PHONE_NUMBER /tmp/hbase/user_md5_phone.txt

CDH6.3.2 启用Kerberos 集成使用phoenix_第37张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第38张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第39张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第40张图片

4、加载HFILE文件到HBASE
hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/hfile/user_md5_phone ODS_USER.PHONE_NUMBER 

CDH6.3.2 启用Kerberos 集成使用phoenix_第41张图片

查看验证:

hbase shell

list 

scan 'ODS_USER.PHONE_NUMBER'

CDH6.3.2 启用Kerberos 集成使用phoenix_第42张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第43张图片

!ph

!table

select * from ODS_USER.PHONE_NUMBER;

CDH6.3.2 启用Kerberos 集成使用phoenix_第44张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第45张图片

七:关于phoinex 的schema 与 hbase 的namespace 集成

选择“Hbase”->“配置”,搜索“hbase-site.xml 的 HBase 服务高级配置代码段”,单击“以XML格式查看”,并添加以下属性:

选择“Hbase”->“配置”,搜索“hbase-site.xml 的 HBase 客户端高级配置代码段”,单击“以XML格式查看”,并添加以下属性:


phoenix.schema.isNamespaceMappingEnabled
true
Enables mapping of tables of a Phoenix schema to a non-default HBase namespace. To enable mapping of a schema to a non-default namespace, set the value of this property to true. The default setting for this property is false.



phoenix.schema.mapSystemTablesToNamespace
true
With true setting (default): After namespace mapping is enabled with the other property, all system tables, if any, are migrated to a namespace called system.With false setting: System tables are associated with the default namespace.



phoenix.index.failure.handling.rebuild
true



phoenix.index.failure.block.write
true

CDH6.3.2 启用Kerberos 集成使用phoenix_第46张图片

从新启动 hbase

CDH6.3.2 启用Kerberos 集成使用phoenix_第47张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第48张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第49张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第50张图片


整理上传数据测试:

 vim  ip_shanghai.txt
 ---
2817314940,223.255.239.246,上海,上海,联通
2817314941,223.255.239.247,上海,上海,联通
2817314942,223.255.239.248,上海,上海,联通
2817314943,223.255.239.249,上海,上海,联通
2817314944,223.255.239.250,上海,上海,联通
2817314945,223.255.239.251,上海,上海,联通
2817314946,223.255.239.252,上海,上海,联通
2817314947,223.255.239.253,上海,上海,联通
2817314948,223.255.239.254,上海,上海,联通
2817314949,223.255.239.255,上海,上海,联通
 ---

   id        自增ID
   ip        ipv4地址
   province  省份
   city      城市
   operator  运营商
   country   国家

 这边用ip 地址 做为rowkey

登录phoenix 
!ph

create scheam IP_LOCATION;

create table IP_LOCATION.IP_ADDRESS(IP varchar primary key,INFO.ID varchar,INFO.PROVINCE varchar, INFO.CITY varchar, INFO.OPERATOR varchar, INFO.COUNTRY varchar) column_encoded_bytes=0;

CDH6.3.2 启用Kerberos 集成使用phoenix_第51张图片

登录hbase 查看 会自动生成 一个 IP_LOCATION:IP_ADDRESS 表

CDH6.3.2 启用Kerberos 集成使用phoenix_第52张图片

导入数据:

hdfs dfs -put ip_shanghai.txt /tmp/hbase

image.png-9.8kB

加载数据生成hfile

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=INFO:ID,HBASE_ROW_KEY,INFO:PROVINCE,INFO:CITY,INFO:OPERATOR,INFO:COUNTRY -Dimporttsv.separator=, -Dimporttsv.bulk.output=/tmp/hfile/ipshanghai IP_LOCATION:IP_ADDRESS /tmp/hbase/ip_shanghai.txt

CDH6.3.2 启用Kerberos 集成使用phoenix_第53张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第54张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第55张图片


将数据导入hbase 当中:

hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/hfile/ipshanghai IP_LOCATION:IP_ADDRESS

CDH6.3.2 启用Kerberos 集成使用phoenix_第56张图片

CDH6.3.2 启用Kerberos 集成使用phoenix_第57张图片

验证:

!ph

!table 

select * from IP_LOCATION.IP_ADDRESS;

CDH6.3.2 启用Kerberos 集成使用phoenix_第58张图片