Kerberos认证集群Flink批量些HBase
更新时间: 2024-12-04 15:38:05
Kerberos 认证集群 flink jar 作业 批写hbase
本案例基于flink 1.14 编写, 适用hbase 1.x 版本,若hbase 集群未启用kerberos 认证,也适用该案例。同时hbase集群需要和sloth提交作业的yarn 集群属于同一个kerberos集群
开发程序
- 获取hbase-site.xml、core-site.xml 配置文件
- flink在runtime 层对hdfs进行认证,同时也会对hbase 进行认证,因此在代码访问hbase 时不需要再额外进行kerberos 认证配置。认证统一使用sloth 产品提供的flink-conf.yml 配置的keytab进行认证,一般为sloth用户,需要用户通过hbase shell对该用户进行相关授权操作,比如执行如下授权命令
hbase 通过acls 进行授权操作,可以对 Namespace, Table, Column Family, or Cell,进行相关权限操作,具体参考hbase官网 https://hbase.apache.org/1.4/book.html#_securing_access_to_your_datagrant 'sloth', 'RWXCA'
- 在本文最下方附件下载代码样例
- 将工程导入idea中, 步骤1获取到的配置文件放在项目resource 目录下
- 可以在类HbaseSimpleExample 中修改kafka 地址等相关配置
- 可以在类MyHbaseBatchSink 中修改hbase 相关配置以及namespace ,table 等信息
- 可以根据数据情况调整Orders POJO 类
调试程序
- 在idea 中打包代码,在sloth 创建flink jar任务,将jar 包上传至平台
- 如果作业中有kafka 集群开启了kerberos 配置,同时需要为作业添加一个高级参数配置,以将平台配置的kerberos 认证同时也作为kafka 的认证 参数如下:
security.kerberos.login.contexts KafkaClient