gpt4 book ai didi

hadoop - Streamsets Mapr FS 起点/终点。 KerberosPrincipal 异常(使用 hadoop 模拟(在 mapr 6.0 中))

转载 作者:行者123 更新时间:2023-12-02 20:45:48 27 4
gpt4 key购买 nike

我正在尝试从 mapr fs origin 进行简单的数据移动到 mapr fs destination (这不是我的用例,只是为了测试目的做这个简单的 Action )。尝试 validate 时这个管道,我在暂存区看到的错误信息是:

HADOOPFS_11 - Cannot connect to the filesystem. Check if the Hadoop FS location: 'maprfs:///mapr/mycluster.cluster.local' is valid or not: 'java.io.IOException: Provided Subject must contain a KerberosPrincipal

轮胎 hadoop fs URI 的不同变体字段(例如 mfs:///mapr/mycluster.cluster.local、maprfs:///mycluster.cluster.local)似乎没有帮助。尝试验证后查看日志,我看到了
2018-01-04 10:28:56,686     mfs2mfs/mapr2sqlserver850bfbf0-6dc0-4002-8d44-b73e33fcf9b3  INFO    Created source of type: com.streamsets.pipeline.stage.origin.maprfs.ClusterMapRFSSource@16978460    DClusterSourceOffsetCommitter   *admin      preview-pool-1-thread-3

2018-01-04 10:28:56,697 mfs2mfs/mapr2sqlserver850bfbf0-6dc0-4002-8d44-b73e33fcf9b3 INFO Error connecting to FileSystem: java.io.IOException: Provided Subject must contain a KerberosPrincipal ClusterHdfsSource *admin preview-pool-1-thread-3

java.io.IOException: Provided Subject must contain a KerberosPrincipal
....

2018-01-04 10:20:39,159 mfs2mfs/mapr2mapr850bfbf0-6dc0-4002-8d44-b73e33fcf9b3 INFO Authentication Config: ClusterHdfsSource *admin preview-pool-1-thread-3

2018-01-04 10:20:39,159 mfs2mfs/mapr2mapr850bfbf0-6dc0-4002-8d44-b73e33fcf9b3 ERROR Issues: Issue[instance='MapRFS_01' service='null' group='HADOOP_FS' config='null' message='HADOOPFS_11 - Cannot connect to the filesystem. Check if the Hadoop FS location: 'maprfs:///mapr/mycluster.cluster.local' is valid or not: 'java.io.IOException: Provided Subject must contain a KerberosPrincipal''] ClusterHdfsSource *admin preview-pool-1-thread-3

2018-01-04 10:20:39,169 mfs2mfs/mapr2mapr850bfbf0-6dc0-4002-8d44-b73e33fcf9b3 INFO Validation Error: Failed to configure or connect to the 'maprfs:///mapr/mycluster.cluster.local' Hadoop file system: java.io.IOException: Provided Subject must contain a KerberosPrincipal HdfsTargetConfigBean *admin 0 preview-pool-1-thread-3

java.io.IOException: Provided Subject must contain a KerberosPrincipal
....

但是,据我所知,系统没有运行 Keberos ,所以这个错误信息对我来说有点困惑。取消注释 #export SDC_JAVA_OPTS="-Dmaprlogin.password.enabled=true ${SDC_JAVA_OPTS}"sdc environment variable file对于 native 映射器身份验证似乎没有帮助解决问题(即使在运行流集映射器设置脚本之前重新安装并评论此行)。

有谁知道发生了什么以及如何解决它?谢谢。

最佳答案

此答案在 mapr 社区 forums 上提供并为我工作(使用 mapr v6.0 )。注意这里的指令不同来自流集文档当前提供的那些。在这些说明中,我以用户 root 的身份登录。 .

根据文档安装流集(和映射器先决条件)后...

  • 更改流集的所有者 $SDC_DIST$SDC_HOME mapr 用户(或您计划用于 hadoop 模拟的任何其他用户)的位置:$chown -R mapr:mapr $SDC_DIST (对我来说,这是/opt/streamsets-datacollector 目录。)。对 $SDC_CONF 执行相同操作(/etc/sdc 对我来说)以及 /var/lib/sdcvar/log/sdc .
  • $SDC_DIST/libexec/sdcd-env.sh ,将用户和组名(靠近文件顶部)设置为mapr用户“mapr”并启用mapr密码登录。该文件最终应如下所示:

    # user that will run the data collector, it must exist in the system
    #
    export SDC_USER=mapr

    # group of the user that will run the data collector, it must exist in the system
    #
    export SDC_GROUP=mapr
    ....
    # Indicate that MapR Username/Password security is enabled
    export SDC_JAVA_OPTS="-Dmaprlogin.password.enabled=true ${SDC_JAVA_OPTS}
  • 编辑文件/usr/lib/systemd/system/sdc.service看起来像:

    [Service] 
    User=mapr
    Group=mapr
  • $cd进入 /etc/systemd/system/并创建一个名为 sdc.service.d 的目录.在该目录中,创建一个文件(带有 任何 名称)并添加内容(不带空格):

    Environment=SDC_JAVA_OPTS=-Dmaprlogin.passowrd.enabled=true
  • 如果您使用的是 mapr 的 sasl 票证身份验证。系统(或类似的东西),在运行流集的节点上为该用户生成一张票。在这种情况下,使用 $maprlogin password命令。
  • 最后,重启sdc服务:$systemctl deamon-reload然后 $systemctl retart sdc .

  • 运行类似 $ps -aux | grep sdc | grep maprlogin检查 sdc 进程是否由 mapr 拥有,并且 -Dmaprlogin.passowrd.enabled=true参数设置成功。完成此操作后,应该能够以批处理模式在流集管道构建器中验证/运行 maprFS 到 maprFS 操作。

    ** 注意 : 如果使用 Hadoop Configuration Directory 参数。而不是 Hadoop FS URI ,请记住将文件放在您的 $HADOOP_HOME/conf 中目录(例如,hadoop-site.xml、yarn-site.xml 等)(在 mapr 的情况下,类似于 /opt/mapr/hadoop/hadoop-<version>/etc/hadoop/ )软链接(soft link)或硬复制到目录 $SDC_DIST/resource/<some hadoop config dir. you made need to create> (我只是复制目录中的 eberything)并将此路径添加到 Hadoop Configuration Directory参数。为您的 MaprFS(或 HadoopFS)。在 sdc Web UI Hadoop 配置目录框中,它看起来像 Hadoop Configuration Directory: <the directory within $SDC_DIST/resources/ that holds the hadoop files> .

    ** 注意:如果您仍在记录表单的错误
     2018-01-16 14:26:10,883
    ingest2sa_demodata_batch/ingest2sademodatabatchadca8442-cb00-4a0e-929b-df2babe4fd41
    ERROR Error in Slave Runner: ClusterRunner *admin
    runner-pool-2-thread-29
    com.streamsets.datacollector.runner.PipelineRuntimeException:
    CONTAINER_0800 - Pipeline
    'ingest2sademodatabatchadca8442-cb00-4a0e-929b-df2babe4fd41'
    validation error : HADOOPFS_11 - Cannot connect to the filesystem.
    Check if the Hadoop FS location: 'maprfs:///' is valid or not:
    'java.io.IOException: Provided Subject must contain a
    KerberosPrincipal'

    您可能还需要添加 -Dmaprlogin.password.enabled=true到管道的 /cluster/Worker Java Options起点和终点 hadoop FS 阶段的选项卡。

    ** mapr 社区链接中链接到的视频还说要为 sdc 用户(作为服务运行时 sdc 进程运行的默认用户)生成 mapr 票证,但我没有这样做,解决方案仍然适用我(所以如果有人知道为什么无论如何都应该这样做,请在评论中告诉我)。

    关于hadoop - Streamsets Mapr FS 起点/终点。 KerberosPrincipal 异常(使用 hadoop 模拟(在 mapr 6.0 中)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48104900/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com