Mac m1安装hadoop配置Flink on yarn,并使用streampark启动Flink on yarn Application与session作业

本文将全流程介绍JDK安装、hadoop安装与配置、Flink安装与配置、Flink本地直接启动yarn-session模式、StreamPark安装与配置、StreamPark启动yarn-session模式、StreamPark启动yarn-application模式。

一. 安装JDK

1. 安装JDK

网上很多教程,请自行前往Oracle官网 https://www.oracle.com/hk/java/technologies/downloads/下载安装,本文不再赘述。

2. 安装之后执行java -version 查看

在这里插入图片描述

3. 配置JAVA_HOME环境变量

1. 查看JDK安装位置
/usr/libexec/java_home -V

在这里插入图片描述

2. 编辑环境变量文件 vim ~/.bash_profile,在最后面添加内容
#环境变量
export MAVEN_HOME=/Users/wangkeshuai/Documents/javaEE/maven/apache-maven-3.8.6
export PATH=$PATH:$MAVEN_HOME/bin
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3. 输入命令【source ~/.bash_profile】 使配置文件生效。

二. 安装hadoop

1. 设置SSH免密登陆

1. 打开mac共享

在这里插入图片描述

2. 打开终端,依次输入如下命令
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/id_rsa.pub
3.输入【ssh localhost】验证

在这里插入图片描述

2. 下载Hadoop

1. 进入网址Apache Hadoop,选择3.3.6版本Hadoop,选择binary download,由于我是M1芯片,此处选择aarch64架构

在这里插入图片描述
在这里插入图片描述

2. 获取.gz文件后双击解压该文件,获取到hadoop-3.3.6文件夹,将此文件放入根目录下(USER/[你的名字])
3.修改配置文件
(1)vim ~/.zprofile

打开 zprofile,添加以下内容, HADOOP_HOME=/Users/wangkeshuai/Documents/download/hadoop-3.3.6/
修改为你自己的路径。

# Hadoop
export HADOOP_HOME=/Users/wangkeshuai/hadoop-3.3.6/
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/nativ"

输入【source ~/.zprofile】使内容生效

(2)进入/Users/wangkeshuai/hadoop-3.3.6/etc/hadoop 目录
cd /Users/wangkeshuai/hadoop-3.3.6/etc/hadoop
(3)打开hadoop-env.sh 【vim hadoop-env.sh】,添加如下内容,路径为jdk所在路径,上文有提到如何获取
export JAVA_HOME="/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home"
(4)打开core-site.sh文件【vim core-site.xml】,将标签中内容替换如下,路径需换成自己的路径
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/Users/wangkeshuai/hdfs/tmp/</value>
    </property>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://127.0.0.1:9000</value>
    </property>
</configuration>
(5)打开hdfs-site.xml文件【vim hdfs-site.xml】,将标签中内容替换如下,路径需换成自己的路径
<property>
   <name>dfs.data.dir</name>
   <value>/Users/wangkeshuai/hdfs/namenode</value>
</property>
<property>
   <name>dfs.data.dir</name>
   <value>/Users/wangkeshuai/hdfs/datanode</value>
</property>
<property>
   <name>dfs.replication</name>
   <value>1</value>
</property>
</configuration>
(6)打开mapred-site.xml文件【vim mapred-site.xml】,将标签中内容替换如下,无需更改路径
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>
(7)打开yarn-site.xml文件【vim yarn-site.xml】,将标签中内容替换如下,无需更改路径。
<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>127.0.0.1</value>
  </property>
  <property>
    <name>yarn.acl.enable</name>
    <value>0</value>
  </property>
  <property>
    <name>yarn.nodemanager.env-whitelist</name>
    <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PERPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
  </property>
  <property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>4</value>
  </property>
  <property>
    <name>yarn.scheduler.maximum-allocation-vcores</name>
    <value>2</value>
  </property>
  <property>
    <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
    <value>99.0</value>
    <description>Maximum utilization threshold (percentage) of the local directory used by NodeManager.</description>
  </property>
  <property>
    <name>yarn.nodemanager.disk-health-checker.max-log-utilization-per-disk-percentage</name>
    <value>99.0</value>
    <description>Maximum utilization threshold (percentage) of the log directory used by NodeManager.</description>
  </property>
</configuration>
4. 执行【hdfs namenode -format】

正常应显示如下:
在这里插入图片描述

5. 执行【start-all.sh】,查看resourcemanager 和nodemanagers是否启动成功

在这里插入图片描述

6. 执行【jps】可查看进程

在这里插入图片描述

7. 访问页面验证

在浏览器中输入http://localhost:8088/
显示如下:​​​​​​​
在这里插入图片描述

三. 配置Flink

1. 下载Flink安装包并解压

在这里插入图片描述

2. 配置环境变量【vim ~/.bash_profile】
#flink
export FLINK_HOME=/Users/wangkeshuai/Documents/learn/Flink/flink-1.16.2
export PATH=$PATH:$FLINK_HOME/bin:$HADOOP_HOME/bin
#hadoop
export HADOOP_HOME=/Users/wangkeshuai/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CLASSPATH=`hadoop classpath`
3. 启动Flink Session mode
cd /Users/wangkeshuai/Documents/learn/Flink/flink-1.16.2/bin
./yarn-session.sh

启动成功后,日志如下:
在这里插入图片描述

在hadoop页面点击Applications,然后点击Flink应用ID,如下图:
在这里插入图片描述

点击跳转Flink的URL,如下图:
在这里插入图片描述

可以看到Flink-Web-UI页面,在此可以提交任务,如下图:
在这里插入图片描述

四. 使用StreamPark分别运行yarn-session和yarn-application任务

1. 下载Streamparkhttps://streampark.apache.org/download/

在这里插入图片描述

2. 解压StreamPark包,启动StreamPark(这里我本地为2.0.0版本,就不下载最新版了,区别不大)

由于Streampark默认以h2内置数据库启动,这里我们演示直接用h2,正式环境建议修改conf目录下的配置文件,改为mysql

tar -xvf apache-streampark_2.12-2.0.0-incubating-bin
cd apache-streampark_2.12-2.0.0-incubating-bin/bin
./startup.sh

启动成功后会出现如下界面:
在这里插入图片描述

访问web页面(http://localhost:10000)默认用户名密码为admin/streampark
在这里插入图片描述

3. 给StreamPark添加Flink运行环境

将Flink安装路径配置到此处,点击确定即可
在这里插入图片描述

4. 创建并运行YARN-Application任务

选择执行模式为yarn-application,Flink版本选择刚才添加的Flink-1.16.2,作业为datagen从1数到500,一秒数一次
在这里插入图片描述

作业名称不可重复,其他参数可填可不填,完成后点击提交
在这里插入图片描述

回到任务列表页面,点击发布,发布成功后点击运行任务,第一次运行关闭从保存点恢复
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击查看作业详情页面,可以跳转Flink-web-ui
在这里插入图片描述

可以看到在正常运行datagen作业,说明运行成功
在这里插入图片描述

hadoop页面可以看到yarn队列
在这里插入图片描述

5. 创建并运行YARN-Session作业

配置Flink集群,添加Yarn-Session集群
在这里插入图片描述

添加完成后开启集群
在这里插入图片描述

开启集群时若发生权限问题,报错信息为:
== Detail exception: org.apache.hadoop.security.AccessControlException: Permission denied: user=hdfs, access=WRITE, inode=“/”:wangkeshuai:supergroup:drwxr-xr-x ==
解决方案执行,如果报错不为/,则对应调整赋权目录:

hdfs dfs -chmod -R 777 /

成功后点击查看集群详情,可以正常跳转Flink-web-ui即成功
在这里插入图片描述

hadoop页面可以看到yarn队列中有一个session应用
在这里插入图片描述

创建yarn-session作业并运行,选择执行模式为yarn-session,Flink集群选择刚才创建的wks-yarn-session,作业名称唯一
在这里插入图片描述

启动作业
在这里插入图片描述

跳转Flink-web-ui查看执行结果
在这里插入图片描述

停止集群时从SP页面进行停止,若集群失联,则使用yarn命令停止
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值