DataWorks如果 odps中spark请求一个内网地址如何配置这个呢 在config中配置么?[阿里云MaxCompute]

DataWorks中SET odps.session.networklink = Maxcomputer_boldvpc 如果 odps中spark请求一个内网地址 如何配置这个呢 在config中配置么?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
阿里云
4 条回复 A 作者 M 管理员
  1. 在dataworks上配置么 还是?这个set session级别在这里odps spark节点上好像不能配置 只能项目级别看是否能配置
    ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

  2. 在DataWorks中,如果要配置ODPS中的Spark请求访问内网地址,可以通过在ODPS配置文件中进行相关设置。以下是具体的配置步骤:

    1. 进入DataWorks控制台,找到相应的ODPS项目。
    2. 在ODPS项目中,点击左侧导航栏的“配置管理”。
    3. 在配置管理页面,点击“增加配置”按钮,添加一个新的配置项。
    4. 在配置项中,填写配置的Key和Value。对于配置Spark请求访问内网地址的情况,可以将Key设置为odps.session.networklink,Value设置为Maxcomputer_boldvpc
    5. 点击“确定”保存配置项。

    通过以上配置,可以将ODPS中的Spark请求设置为访问内网地址。请确保您已经正确填写了配置项的Key和Value,并保存了配置项。配置生效后,ODPS中的Spark任务将使用BoldVPC进行网络连接,并可以访问内网地址。

  3. 在DataWorks中,可以通过配置odps.properties文件来设置odps.session.networklink参数。具体步骤如下:

    1. 在DataWorks的执行环境中,找到对应的节点,进入“编辑节点”页面。
    2. 在“高级配置”选项卡下,点击“添加配置”按钮,选择“自定义配置”。
    3. 在弹出的对话框中,输入配置名称(例如:odps_config),选择“环境变量”类型,并填写以下内容:

    odps.properties=odps.session.networklink=Maxcomputer_boldvpc

    其中,Maxcomputer_boldvpc为需要访问的内网地址。

    1. 保存配置后,重新运行任务即可生效。

    需要注意的是,该配置仅对当前节点有效,如果需要在多个节点上使用相同的配置,可以在每个节点上都进行相应的配置。

  4. 如果你需要在DataWorks中通过ODPS Spark请求内网地址,请按照以下步骤操作:

    1. 设置ODPS session network link

      SET odps.session.networklink = maxcomputer.boldvpc;

    2. 启动ODPS Spark shell
      在ODPS shell中,执行以下命令:

      !sh bin/start-spark-shell.sh --master yarn --conf spark.yarn.jars=hdfs:///opt/modules/spark/lib/spark-network-linkage-2.4.6.jar
    3. 通过内网地址执行任务
      在ODPS Spark shell中,可以通过网络链接执行任务,如:

       java

      sc.parallelize(Array("hdfs://test")).map(_ => sqlContext.read.format("jdbc").option("url", "jdbc:mysql://<内网地址>/test").load().show()

    需要注意的是,需要正确配置ODPS session network link,并确保有足够的权限执行上述操作。如果需要使用ODPS命令来运行任务,请先登录ODPS控制台并设置相关配置。

  5. 让 DataWorks 中的 ODPS Spark 请求一个内网地址,则需要进行以下操作:

    1. 配置隧道
      需要配置一个 MaxCompute Tunnel 来使 Spark 服务能够访问内网地址。
    tunnel start --endpoint=https://endpoint --access-id=access_id --access-key=access_key --name=tunnel_name

    在这里,需要将 endpoint 替换为要访问的内网地址,并且提供相应的 access_id 和 access_key。

    1. 配置 Spark 驱动程序
      需要在 Spark 驱动程序中添加相关配置。
    export TUNNEL_ENDPOINT=your_tunnel_endpointexport TUNNEL_ACCESS_ID=your_access_idexport TUNNEL_ACCESS_KEY=your_access_keyexport TUNNEL_NAME=your_tunnel_name

    可以在 Spark 任务的 code 中使用内网地址.不同的环境可能有不同的配置方式,因此建议您参考官方文档来了解具体步骤。