[关闭]
@zhangyy 2020-09-18T14:18:52.000000Z 字数 5992 阅读 199

CDH6.3.2 启用Kerberos 集成使用phoenix

大数据运维专栏


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

一、下载并安装Phoenix parcel

  1. 下载地址
  2. https://archive.cloudera.com/phoenix/6.2.0/parcels/
  3. PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel
  4. PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel.sha
  5. https://archive.cloudera.com/phoenix/6.2.0/csd/
  6. PHOENIX-1.0.jar

image.png-63kB

image.png-27.7kB


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

image.png-45.6kB

image.png-36.8kB

image.png-59.9kB


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

image.png-46.6kB

image.png-38.1kB

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

image.png-40.5kB

image.png-56.2kB

## 二、安装CSD文件

2.1 安装 phoenix

  1. CDH中添加Phoenix服务之前,必须安装Custom Service DescriptorCSD)文件。
  2. 1. 确定CSD文件存放位置。
  3. 登录Cloudera Manager,点“管理”->“设置”,点击“自定义服务描述符”,查看“本地描述符存储库路径”
  4. /opt/cloudera/csd 目录
  5. mv PHOENIX-1.0.jar /opt/cloudera/csd/
  6. 从新启动cloudera-scm-server 服务
  7. systemctl restart cloudera-scm-server

image.png-46.8kB

image.png-33.5kB


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

image.png-61.7kB

image.png-67kB


image.png-95.4kB

  1. 需要从新启动hbase

image.png-65.1kB

image.png-46kB

image.png-42.1kB

image.png-49.7kB

image.png-137kB

三: 在Cloudera Manager中添加Phoenix服务

image.png-63.7kB

image.png-64.8kB

image.png-45.6kB

image.png-56kB

image.png-47kB

image.png-62.3kB


四、配置HBase以用于Phoenix

  1. 1. 添加属性
  2. 选择“Hbase”->“配置”,搜索“hbase-site.xml HBase 服务高级配置代码段”,单击“以XML格式查看”,并添加以下属性:
  3. <property>
  4. <name>hbase.regionserver.wal.codec</name>
  5. <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
  6. </property>
  7. <property>
  8. <name>phoenix.functions.allowUserDefinedFunctions</name>
  9. <value>true</value>
  10. <description>enable UDF functions</description>
  11. </property>
  12. hbase.regionserver.wal.codec定义写入预写日志(“wal”)编码。
  13. 设置phoenix.functions.allowUserDefinedFunctions属性启用用户自定义函数(UDF)。
  14. 重启Hbase服务

image.png-113.4kB

image.png-60.8kB

image.png-65.9kB

image.png-59.4kB

  1. 登录 phoinex
  2. 使用kerberos hbase 账号登录
  3. kadmin.local
  4. xst -kt /root/hbase.keytab -norandkey hbase/dev01.lanxintec.cn@LANXIN.COM
  5. kinit -kt hbase.keytab hbase/dev01.lanxintec.cn@LANXIN.COM
  6. klist
  7. 如果hbase keytab 文件过期 从新生成

image.png-59.9kB

image.png-11.4kB

image.png-107.5kB

五:冒烟测试

  1. 登录集群主机,并在命令提示符下运行以下冒烟测试:
  2. 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

image.png-93.3kB


六. 导入数据验证测试

  1. 导入测试用户md5电话测试
  2. vim user_md5_phone.txt
  3. ---
  4. 1312259769,440000,13113962870,6c4c8e6d1b8a352dbed4adccdbd0916b,2d18e767f4dd0a6b965f98e66146dcf3c57a92a59ed82bee58230e2ce29fd18e,7O3dO7OGm3oz+19WWHDyij9yA==
  5. 1312259770,440000,13113960649,869f01556dac3c9c594e79f27956a279,9f51d68d8dd6121cbb993f9a630db0356b599a5cdf51c1b23897245cf6e01798,b/S8Gb/JOSaHwa/Tc+6X60bfw==
  6. 1312259771,440000,13113960246,047c7ea330311966ca5e9ea47ad39d45,c643a9299090a751a5ec7994906bc02e4514ae881e61c9432dcae1292bb83c98,1Ivlz1IZEvBypRDfzWJ4gP+7w==
  7. 1312259772,440000,13113969966,c822d280828a99b8de813501d931f2bc,c06fadd37b332224deed002cbddc76bfea336450785de8a9ca07de8b88a51dc5,ubOOQub8OOnyh+fQ528AdpOkg==
  8. 1312259773,440000,13113969454,d58f7356ae473a7c24f880e4ae080121,746ec2332c0bc48c883deebb5c84e69b3e7293148be0ae9f0d9b2d82ea00bbb0,l3L2Xl3CvL23XhBlYuA/wnsGg==
  9. ---
  10. 数据字段介绍
  11. 字段 字段解释
  12. ID
  13. REGION_CODE 地区编码
  14. PHONE_NUMBER 电话号码
  15. MD5_PHONE_NUMBER 电话号码md5加密
  16. SHA256_PHONE_NUMBER 电话号码sha256加密
  17. AES_PHONE_NUMBER 电话号码aes加密
  18. 这边以 ID 作为hbase rowkey
  1. 登录hbase
  2. create 'ODS_USER.PHONE_NUMBER','INFO'
  3. list

image.png-43.8kB

  1. 2、在phoenix中建立相同表以实现与hbase表的映射
  2. 登录phoinex
  3. !ph
  4. 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;

image.png-72.6kB

  1. 将要导入数据上传的hdfs
  2. hdfs dfs -mkdir /tmp/hbase
  3. hdfs dfs -mkdir /tmp/hfile
  4. hdfs dfs -chmod 777 /tmp/hbase
  5. hdfs dfs -chmod 777 /tmp/hfile
  6. hdfs dfs -put user_md5_phone.txt

image.png-37kB

image.png-12.9kB

  1. 3、生成HFILE文件
  2. 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

image.png-126.2kB

image.png-178.7kB

image.png-81.4kB

image.png-55.3kB

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

image.png-173.2kB

  1. 查看验证:
  2. hbase shell
  3. list
  4. scan 'ODS_USER.PHONE_NUMBER'

image.png-133.4kB

image.png-145kB

  1. !ph
  2. !table
  3. select * from ODS_USER.PHONE_NUMBER;

image.png-98.9kB

image.png-112.7kB

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

  1. 选择“Hbase”->“配置”,搜索“hbase-site.xml HBase 服务高级配置代码段”,单击“以XML格式查看”,并添加以下属性:
  2. 选择“Hbase”->“配置”,搜索“hbase-site.xml HBase 客户端高级配置代码段”,单击“以XML格式查看”,并添加以下属性:
  3. <property>
  4. <name>phoenix.schema.isNamespaceMappingEnabled</name>
  5. <value>true</value>
  6. <description>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.</description>
  7. </property>
  8. <property>
  9. <name>phoenix.schema.mapSystemTablesToNamespace</name>
  10. <value>true</value>
  11. <description>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.</description>
  12. </property>
  13. <property>
  14. <name>phoenix.index.failure.handling.rebuild</name>
  15. <value>true</value>
  16. </property>
  17. <property>
  18. <name>phoenix.index.failure.block.write</name>
  19. <value>true</value>
  20. </property>

image.png-109.7kB

  1. 从新启动 hbase

image.png-109.6kB

image.png-59.9kB

image.png-46.5kB

image.png-76.9kB


  1. 整理上传数据测试:
  2. vim ip_shanghai.txt
  3. ---
  4. 2817314940,223.255.239.246,上海,上海,联通
  5. 2817314941,223.255.239.247,上海,上海,联通
  6. 2817314942,223.255.239.248,上海,上海,联通
  7. 2817314943,223.255.239.249,上海,上海,联通
  8. 2817314944,223.255.239.250,上海,上海,联通
  9. 2817314945,223.255.239.251,上海,上海,联通
  10. 2817314946,223.255.239.252,上海,上海,联通
  11. 2817314947,223.255.239.253,上海,上海,联通
  12. 2817314948,223.255.239.254,上海,上海,联通
  13. 2817314949,223.255.239.255,上海,上海,联通
  14. ---
  15. id 自增ID
  16. ip ipv4地址
  17. province 省份
  18. city 城市
  19. operator 运营商
  20. country 国家
  21. 这边用ip 地址 做为rowkey

  1. 登录phoenix
  2. !ph
  3. create schema IP_LOCATION;
  4. 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;

image.png-32.2kB

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

image.png-56.8kB

  1. 导入数据:
  2. hdfs dfs -put ip_shanghai.txt /tmp/hbase

image.png-9.8kB

  1. 加载数据生成hfile
  2. 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

image.png-183.6kB

image.png-100.2kB

image.png-64.4kB

  1. 将数据导入hbase 当中:
  2. hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/hfile/ipshanghai IP_LOCATION:IP_ADDRESS

image.png-136.5kB

image.png-142.1kB

  1. 验证:
  2. !ph
  3. !table
  4. select * from IP_LOCATION.IP_ADDRESS;

image.png-46.2kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注