本文将介绍本地环境如何连接远程 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.defaultFSname>
<value>hdfs://namenode:8020value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/Users/casey/Data/install/hadoop-2.8.2/tmpvalue>
property>
configuration>
hdfs-site.xml
Hadoop守护进程的配置项,包括 namenode、secondary namenode 和 datanode等。
<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.permissionsname>
<value>falsevalue>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>/Users/casey/Data/install/hadoop-2.8.2/tmp/dfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>/Users/casey/Data/install/hadoop-2.8.2/datavalue>
property>
configuration>
mapred-site.xml
MapReduce 守护进程的配置项,包括作业历史服务器。
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
configuration>
yarn-site.xml
YARN守护进程的配置项,包括资源管理器、web应用代理服务器和节点管理器。
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.resourcemanager.addressname>
<value>namenode:8032value>
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 上。
往期推荐