【问题标题】:Confluent HDFS Sink Connector: How to configure custom hadoop user and group?Confluent HDFS Sink Connector:如何配置自定义 hadoop 用户和组?
【发布时间】:2018-09-26 16:53:19
【问题描述】:

我们目前在 docker 容器中使用 Confluent HDFS Sink Connector 平台将数据从 Kafka(独立 Kafka 集群)写入 HDFS(独立 Hadoop 集群)。默认情况下,连接器平台使用 root 用户和 wheel 组将数据写入 HDFS。 如何配置连接器以使用特定的 hadoop 用户/组?我需要在 docker 中设置环境变量吗? 谢谢。

【问题讨论】:

    标签: hadoop hdfs apache-kafka-connect confluent-platform


    【解决方案1】:

    Docker 容器中的 Java 进程以 root 身份运行。

    您需要使用自己的用户帐户创建自己的容器,或者以其他方式将 Connect Workers 作为不同的 Unix 帐户运行。

    您可以尝试设置 HADOOP_IDENT_USERHADOOP_USER_NAME 环境变量,但我认为这些仅由 Hadoop 脚本而非 Java API 拉取

    请记住,如果您不使用 Kerberized 集群,Hadoop 中的用户帐户并不重要

    【讨论】:

    • 设置 HADOOP_USER_NAME= 环境变量可以解决问题,但是如果可以在任务级别提供 hadoop 用户(如 hdfs 接收器连接器属性文件中的参数),那就太好了。我们使用 Kubernetes 来管理融合连接器平台。由于我们希望两个不同的 hadoop 用户编写 hdfs 文件,我们必须告诉 kubernetes 启动两个不同的复制控制器,传递不同的 hadoop 用户环境变量,并且必须公开 2 个不同的端口来提交连接器 hdfs 属性。我不确定 kubernetes 是否有不同的方法来处理这个问题。
    • 我没用过k8s。您更好的选择是使用私有注册表等构建您自己的内部“公司 docker 映像”,然后从那里进行自定义。这也使您可以轻松地修补 Confluent Docker 映像,以添加已存在数月的 PR。
    猜你喜欢
    • 1970-01-01
    • 2021-10-01
    • 2021-07-15
    • 2017-11-04
    • 1970-01-01
    • 2018-12-29
    • 2021-04-12
    • 2018-11-02
    • 2021-08-04
    相关资源
    最近更新 更多