分享

Flink1.13.2三种方式安装部署(建议收藏!)

本帖最后由 Mirinda 于 2021-9-23 16:16 编辑

问题导读:
1.你使用过Flink1.13.2吗?
2.你对Flink1.13.2有多少了解?
3.文中三种安装部署哪种更适合你?

大家好,我是土哥。
今天,有位Flink初学者问我有没有Flink的安装教程,看到这后,土哥二话不说直接安排上。
以下教程全部使用 Flink1.13.2版本,在普通用户下面部署:

1、Standalone部署
版本要求:
a1.png



1.1 将软件安装包放入集群中
a2.png

1.2、软件包解压
  1. tar -zxvf flink-1.13.2-bin-scala_2.11.tgz
复制代码

a3.png
1.3、 配置系统环境变量
  1. # 1、进入目录下
  2. cd flink-1.13.2/
  3. # 2、查看完整classpsth,然后复制
  4. pwd
  5. # 3、编辑系统变量
  6. sudo  vim  /etc/profile
  7. #4、配置变量环境
  8. export FLINK_HOME=/home/liyaozhou/lyz/flink-1.13.2
  9. export PATH=$PATH:$FLINK_HOME/bin
  10. #5 刷新系统变量环境
  11. source /etc/profile
  12. #6 查看是否配置成功
  13. $FLINK_HOME
复制代码
a4.png

a5.png

a6.png

1.4、配置Flink conf文件
进入到flink-1.13.2/conf目录下

1.4.1 配置flink-conf.yaml
  1. #1. 配置jobmanager rpc 地址
  2. jobmanager.rpc.address: 192.168.244.129
  3. #2. 修改taskmanager内存大小,可改可不改
  4. taskmanager.memory.process.size: 2048m
  5. #3. 修改一个taskmanager中对于的taskslot个数,可改可不改
  6. taskmanager.numberOfTaskSlots: 4
  7. #修改并行度,可改可不改
  8. parallelism.default: 4
复制代码

a7.png

1.4.2 配置master
  1. #修改主节点ip地址
  2. 192.168.244.129:8081
复制代码



1.4.3 配置work
  1. #修改从节点ip,因为是standalone,所有主从一样
  2. 192.168.244.129
复制代码



1.4.4 配置zoo
  1. # 新建snapshot存放的目录,在flink-1.13.2目录下建
  2. mkdir tmp
  3. cd tmp
  4. mkdir zookeeper
  5. #修改conf下zoo.cfg配置
  6. vim zoo.cfg
  7. #snapshot存放的目录
  8. dataDir=/home/liyaozhou/lyz/flink-1.13.2/tmp/zookeeper
  9. #配置zookeeper 地址
  10. server.1=192.168.244.129:2888:3888
复制代码

a8.png

1.5、启动Flink 集群
进入flink-1.13.2/bin目录下
  1. ./start-cluster.sh
复制代码

a9.png

a10.png



2、Standalone-HA集群部署
集群部署两节点
a11.png

前提是zookeeper 和 hadoop 集群全部配置好

2.1、 将软件安装包放入集群中

a12.png

2.2、软件包解压
  1. tar -zxvf flink-1.13.2-bin-scala_2.11.tgz
复制代码

a13.png


2.3、 配置系统环境变量
  1. # 1、进入目录下
  2. cd flink-1.13.2/
  3. # 2、查看完整classpsth,然后复制
  4. pwd
  5. # 3、编辑系统变量
  6. sudo  vim  /etc/profile
  7. #4、配置变量环境
  8. export FLINK_HOME=/home/liyaozhou/lyz/flink-1.13.2
  9. export PATH=$PATH:$FLINK_HOME/bin
  10. #5、添加hadoop_conf classpath
  11. export HADOOP_CONF_DIR=/home/liyaozhou/lyz/hadoop-2.6.4/etc/hadoop
  12. #6 刷新系统变量环境
  13. source /etc/profile
  14. #7 查看是否配置成功
  15. $FLINK_HOME
复制代码

a14.png

a15.png

a16.png

2.4、配置Flink conf文件
进入到flink-1.13.2/conf目录下

2.4.1 配置flink-conf.yaml
  1. #1. 配置jobmanager rpc 地址
  2. jobmanager.rpc.address: 192.168.244.129
  3. #2. 修改taskmanager内存大小,可改可不改
  4. taskmanager.memory.process.size: 2048m
  5. #3. 修改一个taskmanager中对于的taskslot个数,可改可不改
  6. taskmanager.numberOfTaskSlots: 4
  7. #4. 修改并行度,可改可不改
  8. parallelism.default: 4
  9. #5. 配置状态后端存储方式
  10. state.backend:filesystem
  11. #6. 配置启用检查点,可以将快照保存到HDFS
  12. state.backend.fs.checkpointdir: hdfs://192.168.244.129:9000/flink-checkpoints
  13. #7. 配置保存点,可以将快照保存到HDFS
  14. state.savepoints.dir: hdfs://192.168.244.129:9000/flink-savepoints
  15. #8. 使用zookeeper搭建高可用
  16. high-availability: zookeeper
  17. #9. 配置ZK集群地址
  18. high-availability.zookeeper.quorum: 192.168.244.129:2181
  19. #10. 存储JobManager的元数据到HDFS
  20. high-availability.storageDir: hdfs://192.168.244.129:9000/flink/ha/
  21. #11. 配置zookeeper client默认是 open,如果 zookeeper security 启用了更改成 creator
  22. high-availability.zookeeper.client.acl: open
复制代码

a17.png

a18.png

2.4.2 配置master
  1. #修改主节点ip地址
  2. 192.168.244.129:8081
复制代码



2.4.3 配置work
  1. #修改从节点ip,因为是standalone-ha,改另一个节点
  2. 192.168.244.130
复制代码



2.4.4 配置zoo
  1. # 新建snapshot存放的目录,在flink-1.13.2目录下建
  2. mkdir tmp
  3. cd tmp
  4. mkdir zookeeper
  5. #修改conf下zoo.cfg配置
  6. vim zoo.cfg
  7. #snapshot存放的目录
  8. dataDir=/home/liyaozhou/lyz/flink-1.13.2/tmp/zookeeper
  9. #配置zookeeper 地址
  10. server.1=192.168.244.129:2888:3888
复制代码

a19.png


2.5、下载hadoop依赖包
下载地址:https://flink.apache.org/downloads.html#additional-components
将包复制到flink-1.13.2/lib目录下

a20.png

2.6、 文件传输
  1. 将主节点flink包复制到从节点
  2. scp -r flink-1.13.2 192.168.244.130:/home/liyaozhou/lyz/
复制代码

a21.png

修改从节点 flink-conf.yaml rpc 的ip地址

a22.png


2.7、启动Flink 集群
进入flink-1.13.2/bin目录下
  1. ./start-cluster.sh
复制代码

a23.png

a24.png




可以在登录界面看到,TaskManager的地址为192.168.244.130

a25.png


3、Flink On Yarn集群部署
集群部署两节点

a26.png

前提是zookeeper 和 hadoop 集群全部配置好

3.1 修改Hadoop集群的yarn-site.xml文件
YARN模式下的HA需要注意一点,官方给出建议,必须要增加以下两项配置:
YARN配置,修改yarn-site.xml
  1. <!-- master(JobManager)失败重启的最大尝试次数-->
  2. <property>
  3.   <name>yarn.resourcemanager.am.max-attempts</name>
  4.   <value>4</value>
  5.   <description>
  6.     The maximum number of application master execution attempts.
  7.   </description>
  8. </property>
  9. <!-- 关闭yarn内存检查 -->
  10. <!-- 是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认为 true -->
  11. <!-- 因为对于 flink 使用 yarn 模式下,很容易内存超标,这个时候 yarn 会自动杀掉 job,因此需要关掉-->
  12. <property>
  13.    <name>yarn.nodemanager.pmem-check-enabled</name>
  14.    <value>false</value>
  15. </property>
  16. <property>
  17.    <name>yarn.nodemanager.vmem-check-enabled</name>
  18.    <value>false</value>
  19. </property>
复制代码

3.2 修改flink conf配置
  1. 在flink-conf.yaml中添加如下两项:
  2. #用户提交作业失败时,重新执行次数
  3. yarn.application-attempts: 4
  4. #设置Task在所有节点平均分配
  5. cluster.evenly-spread-out-slots: true
复制代码

a27.png



3.3 启动测试(Session模式)
3.3.1 启动 Flink 会话(在192.168.244.129上测试)
  1. # 主节点中执行
  2. bin/yarn-session.sh -d -jm 1024 -tm 1024 -s 1
  3. # -tm 表示每个 TaskManager 的内存大小
  4. # -s 表示每个 TaskManager 的 slots 数量
  5. # -d 表示以后台程序方式运行
复制代码

a28.png



3.3.2 登录yarn集群页面查看
登录网址:192.168.244.129:8088/cluster

a29.png


3.3.3 在yarn上提交任务 通过session模式

注意:此时提交的任务都通过该会话(Session)执行,不会再申请 yarn 资源
(1)创建一个wordcount.txt文本,随便早一些数据,然后放到flink-1.13.2下面,然后将该文件传到hdfs中
  1. hadoop  fs  -copyFromLocal  wordcount.txt  /
复制代码

a30.png

(2)提交任务
  1. # 192.168.244.129 中执行即可
  2. bin/flink run examples/batch/WordCount.jar --input hdfs://192.168.244.129:9000/wordcount.txt
复制代码

a31.png


3.3.3 查看 Hadoop 的 ApplicationManager 的 WEB-UI 页面


a32.png



a33.png


3.3.4 关闭Session模式
  1. yarn application -kill application_1631862788541_0001
复制代码

a34.png

3.4 启动测试(Per-job模式)
3.4.1 直接提交 Job
  1. # -m jobmanager 的地址
  2. # -yjm 1024 指定 jobmanager 的内存信息
  3. # -ytm 1024 指定 taskmanager 的内存信息
  4. bin/flink run \
  5. -t yarn-per-job -yjm 1024 -ytm 1024  \
  6. --detached  examples/batch/WordCount.jar  \
  7. --input hdfs://192.168.244.129:9000/wordcount.txt
复制代码

a35.png


a36.png



最新经典文章,欢迎关注公众号



已有(1)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条