ITPub博客

首页 > 数据库 > 数据库开发技术 > 本地提交Flink任务到远程 Yarn 集群

本地提交Flink任务到远程 Yarn 集群

原创 数据库开发技术 作者:毛毛小妖的笔记 时间:2023-06-05 19:19:00 0 删除 编辑

本文将介绍本地环境如何连接远程 Yarn 集群来提交任务。本机环境为 Apple M1 Pro:macos Ventura 13.3.1,linux环境步骤相同。以下步骤均在本地进行操作,假设远程 Yarn 集群已存在。

Hadoop 环境安装

假设我的软件目录在:/Users/casey/Data/install/

下载 Hadoop 安装包

https://archive.apache.org/dist/hadoop/core/hadoop-2.8.2/hadoop-2.8.2.tar.gz

解压 Hadoop 安装包

tar -zxvf hadoop-2.8.2.tar.gz -C /Users/casey/Data/install/

配置 Hadoop 环境变量

编辑用户环境变量文件,我的环境变量文件为:~/.zshrc。linux 环境的用户环境变量目录可能所有变化,请关注。

vim ~/.zshrc

export HADOOP_HOME=/Users/casey/Data/install/hadoop-2.8.2
export PATH=$PATH:$HADOOP_HOME/bin

执行以下命令使配置文件生效:

source ~/.zshrc

验证 Hadoop

hadoop version

出现以下界面,说明 Hadoop 配置完成

Hadoop 配置文件修改

需要修改的 Hadoop 配置文件都在目录 etc/hadoop 下,包括:

hadoop-env.sh

Hadoop 环境变量配置文件。

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_333.jdk/Contents/Home
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/Users/casey/Data/install/hadoop-2.8.2/etc/hadoop"}

core-site.xml

hadoop集群的核心设置,例如HDFS、MapReduce和YARN常用的I/O设置等。

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://namenode:8020</value>
  </property>

  <!--用来指定hadoop运行时产生文件的存放目录  自己创建-->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/Users/casey/Data/install/hadoop-2.8.2/tmp</value>
  </property>
</configuration>

hdfs-site.xml

Hadoop守护进程的配置项,包括 namenode、secondary namenode 和 datanode等。

<configuration>
  <property>
      <name>dfs.replication</name>
      <value>1</value>
  </property>
  <!--不是root用户也可以写文件到hdfs,关闭防火墙-->
  <property>
      <name>dfs.permissions</name>
      <value>false</value>
  </property>
  <!--把路径换成本地的name的位置-->
  <property>
      <name>dfs.namenode.name.dir</name>
      <value>/Users/casey/Data/install/hadoop-2.8.2/tmp/dfs/name</value>
  </property>
  <!--在本地新建一个存放hadoop数据的文件夹,然后将路径在这里配置一下-->
  <property>
      <name>dfs.datanode.data.dir</name>
      <value>/Users/casey/Data/install/hadoop-2.8.2/data</value>
  </property>
</configuration>

mapred-site.xml

MapReduce 守护进程的配置项,包括作业历史服务器。

<configuration>
  <property>
    <!--指定mapreduce运行在yarn上-->
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

yarn-site.xml

YARN守护进程的配置项,包括资源管理器、web应用代理服务器和节点管理器。

<configuration>
  <!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>namenode:8032</value>
  </property>
</configuration>

Flink 配置文件修改

Flink 下载

https://archive.apache.org/dist/flink/flink-1.12.7/flink-1.12.7-bin-scala_2.12.tgz

flink-shaded-hadoop-2-uber 下载

由于flink 1.11.2 之后的版本不再集成 Hadoop 了,所以得自行下载并放到 flink 的 lib 目录下。

https://repo.maven.apache.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/2.7.5-10.0/flink-shaded-hadoop-2-uber-2.7.5-10.0.jar

flink 安装包解压

tar -zxvf flink-shaded-hadoop-2-uber-2.7.5-10.0.jar -C /Users/casey/Data/install/

配置远程 Yarn 地址

vim flink-1.12.7/conf/flink-conf.yaml

jobmanager.rpc.address: your remote yarn ip

设置 hadoop 用户

vim /etc/profile

export HADOOP_USER_NAME=hdfs

source /etc/profile

Flink 环境测试

bin/flink run -m yarn-cluster -yjm 2048 -ytm 2048 examples/batch/WordCount.jar

出现如下字样,说明任务成功提交到了 Yarn 上。


往期推荐

数据质量系统设计与实现

Flink CDC零代码实现数据同步实践

kafka 数据快速接入 Apache Doris

Flink CDC数据接入Apache Doris实践

基于Flink和Doris构建的实时数仓方案实践

Doris Unique Key 模型查询结果不一致问题

Flink自定义触发器

使用Doris Flink Connector进行数据接入

使用docker编译Doris

Spark 使用bulk load导入数据到Hbase中

原文作者:毛毛小妖的笔记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-04-04

  • 博文量
    70
  • 访问量
    46581