开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

在flink-HBASE-connector中,HBASE带Kerberos认证 那得配置怎么写呢?

在flink-HBASE-connector中,HBASE带Kerberos认证 那得配置怎么写呢?

展开
收起
JWRRR 2023-04-03 15:11:27 749 0
2 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    Flink HBase connector支持在HBase带Kerberos认证的情况下读写数据。您需要在Flink的配置文件中设置以下参数:

    # Kerberos认证相关参数
    security.kerberos.login.use-ticket-cache: false
    security.kerberos.login.keytab: /path/to/keytab
    security.kerberos.login.principal: user@EXAMPLE.COM
    
    # HBase客户端相关参数
    hbase.security.authentication: kerberos
    hbase.security.authorization: true
    hbase.zookeeper.quorum: zk1,zk2,zk3
    hbase.zookeeper.property.clientPort: 2181
    hadoop.security.authentication: kerberos
    hbase.master.kerberos.principal: hbase/_HOST@EXAMPLE.COM
    hbase.regionserver.kerberos.principal: hbase/_HOST@EXAMPLE.COM
    

    其中,security.kerberos.login.keytab和security.kerberos.login.principal是Flink集群使用的Kerberos凭证,需要与HBase集群保持一致。其他参数是HBase客户端的配置,可以参考HBase的文档进行设置。

    另外,您还需要将HBase的配置文件(hbase-site.xml)和依赖包(hbase-shaded-client-*.jar)放到Flink的lib目录下,以便Flink能够正确地连接到HBase集群。

    以下是一个使用Flink SQL连接到HBase带Kerberos认证的示例:

    -- 创建一个HBase源表
    CREATE TABLE hbase_source (
     rowkey INT,
     family1 ROW<col1 INT>,
     family2 ROW<col2 STRING>,
     PRIMARY KEY (rowkey) NOT ENFORCED -- 定义主键,不强制唯一性
    ) WITH (
     'connector' = 'hbase-2.2', -- 使用hbase-2.2连接器
     'table-name' = 'test', -- HBase表名
     'zookeeper.quorum' = 'zk1,zk2,zk3', -- ZooKeeper地址,可选,如果不指定会从hbase-site.xml中读取
     'zookeeper.znode.parent' = '/hbase' -- ZooKeeper根节点,可选,默认为'/hbase'
    );
    
    -- 创建一个HBase结果表
    CREATE TABLE hbase_sink (
     rowkey INT,
     family1 ROW<col1 INT>,
     family2 ROW<col2 STRING>,
     PRIMARY KEY (rowkey) NOT ENFORCED -- 定义主键,不强制唯一性
    ) WITH (
     'connector' = 'hbase-2.2', -- 使用hbase-2.2连接器
     'table-name' = 'output', -- HBase表名
     'zookeeper.quorum' = 'zk1,zk2,zk3', -- ZooKeeper地址,可选,如果不指定会从hbase-site.xml中读取
     'zookeeper.znode.parent' = '/hbase' -- ZooKeeper根节点,可选,默认为'/hbase'
    );
    
    -- 从HBase源表读取数据,并写入到HBase结果表
    INSERT INTO hbase_sink
    SELECT rowkey, family1, family2 FROM hbase_source;
    
    2023-04-23 23:16:46
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    在使用Flink-HBase Connector连接到带有Kerberos认证的HBase时,需要进行以下配置:

    在Flink配置文件中,设置Kerberos安全选项。例如:

    security.kerberos.login.contexts=client,KafkaClient security.kerberos.login.use-ticket-cache=false security.kerberos.login.keytab=/path/to/user.keytab security.kerberos.login.principal=user@REALM

    在HBase配置文件中,设置Kerberos安全选项。例如:

    hbase.security.authentication=kerberos hbase.zookeeper.property.clientPort=2181 hbase.zookeeper.quorum=hbase.zookeeper.quorum hadoop.security.authentication=kerberos hadoop.security.authorization=true

    创建HBase连接时,使用HBaseConfiguration类设置Kerberos认证选项。例如:

    org.apache.hadoop.conf.Configuration hbaseConfig = HBaseConfiguration.create(); hbaseConfig.set

    2023-04-03 15:23:17
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    大数据时代的存储 ——HBase的实践与探索 立即下载
    Hbase在滴滴出行的应用场景和最佳实践 立即下载
    阿里云HBase主备双活 立即下载