FLINK单机版安装部署入门-1

打印 上一主题 下一主题

主题 837|帖子 837|积分 2521

FLINK单机版安装部署

官网下载Downloads | Apache Flink
下载文件历史版本的1.9.3
https://archive.apache.org/dist/flink/flink-1.9.3/flink-1.9.3-bin-scala_2.11.tgz
  1. # 下载Flink安装包(笔者这里测试使用Flink1.9版本,其它版本下载目录 https://flink.apache.org/downloads.html)
  2. wget https://archive.apache.org/dist/flink/flink-1.9.3/flink-1.9.3-bin-scala_2.11.tgz
  3. # 解压
  4. tar -xzvf flink-1.9.3-bin-scala_2.11.tgz
复制代码
netCat是linux下自带的支持TCP、UDP、Unix域协议套接字小工具,nc下令答应你创建一个连接、侦听另一个连接和传输数据。在windows环境中也可以使用
使用下令:nc -lk port号
说明: -l listen监听某个端口 k:保持住当前的连接,步伐终止的话,当前server不断开
功能:启动了一个可以发送socket文本流的服务器,端口:7777
下载地点 netcat 1.11 for Win32/Win64
https://eternallybored.org/misc/netcat/
留意:
服务启动依靠jdk环境变量(确保已经安装了Java_jdk)
加上环境变量
vi source /etc/profile
  1. export JAVA_HOME=/opt/zulu_jdk11.68.17
  2. export PATH=$JAVA_HOME/bin:$PATH
  3. export PATH=/opt/flink-1.9.3/bin:$PATAT
复制代码
source /etc/profile
高于1.9.3须要修改设置文件flink-conf.yaml(低于1.9.3可以跳过)

修改端口号(默认端口不影响的可以直接跳过端口设置)
进入conf目录下 flink-conf.yaml 修改rest.port (8081端口过于常用,容易出现端口辩说,笔者这里改为8001)
  1. #rest.port: 8081
  2. rest.port: 8001
复制代码
windows下须要加入如下设置,否则执行start-cluster.bat会导致TaskManager进程会退出
  1. taskmanager.cpu.cores: 2
  2. taskmanager.memory.task.heap.size: 512m
  3. taskmanager.memory.managed.size: 512m
  4. taskmanager.memory.network.min: 64m
  5. taskmanager.memory.network.max: 64m
复制代码
加上后会启动JobManager和TaskManager
linux启动集群

进入bin目录执行下面下令
  1. # 启动Flink集群
  2. ./start-cluster.sh
  3. # 停止Flink集群
  4. #./stop-cluster.sh
复制代码
访问Flink UI,链接http://host:8778/#/overview,检察dashboard (这里的host为部署flink的呆板host)
windows下启动

windows当前能支持的最高版本是1.9.3,直接安装就行;更高的版本已经不支持windos启动了,连启动脚本都已经没有
高版本参考如下:仅供参考但是不保证能成功,基本会失败;
cmd下令行启动
  1. flink-1.9.3\bin>.\start-cluster.bat
复制代码
启动后可以在管理页面看到Available Task Slots有一个可用的slots,如果没有参考上面的flink-config.yaml缺少windows下设置项
Flink提交任务方式

1 使用Web页面Submit New Job方式提交(生产环境基本以此类方式为主)
2 使用下令行方式提交
下令方式提交

Flink安装包自带了测试样例,
运行WordCount任务

  1. flink-\flink-1.9.3\bin> ./flink run D:\workspace\IDE\flink-1.9.3\examples\batch\WordCount.jar
复制代码
运行streaming任务

examples\streaming\SocketWindowWordCount.jar
该样例为从一个ip端口获取数据,并进行单词数目统计,用来模仿数据流
运行样例分为本地运行下令行和UI界面提交运行,也就是分为本地模式和服务器模式两种
先启动端口TCP字符流
nc -lp 8888
./flink sun -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount -p 1 D:\workspace\IDE\flink-1.9.3\examples\streaming\SocketWindowWordCount.jar --host localhost --port 8888
-m:指定主机名背面的端口为 JobManager的 REST 通讯端口,而不是 RPC的端口,RPC通讯端口是 6123(在提交任务时,是通过 REST 端口号(HTTP端口号),将任务上传到 JobManager.)
-c: 执行的主类,指定 main 方法的全类名
-p:运行的slot实例数=最大为当前全部实例数
-jar包路径
-host port :外部参数这里指参数吸收的ip和端口号
在管理页面的submit new job中上传 任务jar即可
http://localhost:8001/#/submit
–hostname localhost --port 8888
这里我们依然以example中的WordCount.jar为例提交,点击该明细会出现执行的main文件路径合参数设置,默认即可,点击submit提交
job样例源码
https://gitee.com/jian_yang_lv
flink视频教程
https://www.bilibili.com/video/BV1eg4y1V7AN?p=1&vd_source=439eb7a06dc0a72103551f415ea81556
web页面提交任务

使用Web页面Submit New Job方式提交,这里依然以wordCount为例

填写任务main全路径,以及slot槽数

检察运行环境

WordCount 计数完成后,我们在 TaskManager 设置页面,通过 stdout 可以检察到结果信息

取消Job

因为Flink任务是实时的,启动就不会停止,除非出错或者人为取消Job
JOB->Running job ->明细中点击取消按钮

java: Compilation failed: internal java compiler error

https://blog.csdn.net/weixin_42923363/article/details/126698963
高版本启动脚本

Windows下是没有启动脚本的,这里贴上CMD启动脚本
参考资料:https://blog.csdn.net/xuexijava85/article/details/114803489
flink.bat
  1. ::###############################################################################
  2. ::  Licensed to the Apache Software Foundation (ASF) under one
  3. ::  or more contributor license agreements.  See the NOTICE file
  4. ::  distributed with this work for additional information
  5. ::  regarding copyright ownership.  The ASF licenses this file
  6. ::  to you under the Apache License, Version 2.0 (the
  7. ::  "License"); you may not use this file except in compliance
  8. ::  with the License.  You may obtain a copy of the License at
  9. ::
  10. ::      http://www.apache.org/licenses/LICENSE-2.0
  11. ::
  12. ::  Unless required by applicable law or agreed to in writing, software
  13. ::  distributed under the License is distributed on an "AS IS" BASIS,
  14. ::  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. ::  See the License for the specific language governing permissions and
  16. :: limitations under the License.
  17. ::###############################################################################
  18. @echo off
  19. setlocal
  20. SET bin=%~dp0
  21. SET FLINK_HOME=%bin%..
  22. SET FLINK_LIB_DIR=%FLINK_HOME%\lib
  23. SET FLINK_PLUGINS_DIR=%FLINK_HOME%\plugins
  24. SET JVM_ARGS=-Xmx512m
  25. SET FLINK_JM_CLASSPATH=%FLINK_LIB_DIR%\*
  26. java %JVM_ARGS% -cp "%FLINK_JM_CLASSPATH%"; org.apache.flink.client.cli.CliFrontend %*
  27. endlocal
复制代码
start-cluster.bat
这里,我把start-cluster.bat放在bin文件夹同级目录中,而没有放在bin目录内里
  1. ::###############################################################################
  2. ::  Licensed to the Apache Software Foundation (ASF) under one
  3. ::  or more contributor license agreements.  See the NOTICE file
  4. ::  distributed with this work for additional information
  5. ::  regarding copyright ownership.  The ASF licenses this file
  6. ::  to you under the Apache License, Version 2.0 (the
  7. ::  "License"); you may not use this file except in compliance
  8. ::  with the License.  You may obtain a copy of the License at
  9. ::
  10. ::      http://www.apache.org/licenses/LICENSE-2.0
  11. ::
  12. ::  Unless required by applicable law or agreed to in writing, software
  13. ::  distributed under the License is distributed on an "AS IS" BASIS,
  14. ::  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. ::  See the License for the specific language governing permissions and
  16. :: limitations under the License.
  17. :: author:zjcjava time:2023/05/24
  18. ::###############################################################################
  19. @echo off
  20. setlocal EnableDelayedExpansion
  21. ::#####这里我直接使用根目录拼接config和bin目录的path路径
  22. SET FLINK_HOME=%cd%
  23. SET bin==%FLINK_HOME%\bin
  24. ::### SET FLINK_HOME=%bin%..
  25. echo ###############################################################################
  26. echo FLINK_HOME %FLINK_HOME%
  27. SET FLINK_LIB_DIR=%FLINK_HOME%\lib
  28. SET FLINK_PLUGINS_DIR=%FLINK_HOME%\plugins
  29. SET FLINK_CONF_DIR=%FLINK_HOME%\conf
  30. SET FLINK_LOG_DIR=%FLINK_HOME%\log
  31. echo FLINK_CONF_DIR:%FLINK_CONF_DIR%
  32. echo ###############################################################################
  33. SET JVM_ARGS=-Xms1024m -Xmx1024m
  34. SET FLINK_CLASSPATH=%FLINK_LIB_DIR%\*
  35. SET logname_jm=flink-%username%-jobmanager.log
  36. SET logname_tm=flink-%username%-taskmanager.log
  37. SET log_jm=%FLINK_LOG_DIR%\%logname_jm%
  38. SET log_tm=%FLINK_LOG_DIR%\%logname_tm%
  39. SET outname_jm=flink-%username%-jobmanager.out
  40. SET outname_tm=flink-%username%-taskmanager.out
  41. SET out_jm=%FLINK_LOG_DIR%\%outname_jm%
  42. SET out_tm=%FLINK_LOG_DIR%\%outname_tm%
  43. SET log_setting_jm=-Dlog.file="%log_jm%" -Dlogback.configurationFile=file:"%FLINK_CONF_DIR%/logback.xml" -Dlog4j.configuration=file:"%FLINK_CONF_DIR%/log4j.properties"
  44. SET log_setting_tm=-Dlog.file="%log_tm%" -Dlogback.configurationFile=file:"%FLINK_CONF_DIR%/logback.xml" -Dlog4j.configuration=file:"%FLINK_CONF_DIR%/log4j.properties"
  45. :: Log rotation (quick and dirty)
  46. CD "%FLINK_LOG_DIR%"
  47. for /l %%x in (5, -1, 1) do (
  48. SET /A y = %%x+1
  49. RENAME "%logname_jm%.%%x" "%logname_jm%.!y!" 2> nul
  50. RENAME "%logname_tm%.%%x" "%logname_tm%.!y!" 2> nul
  51. RENAME "%outname_jm%.%%x" "%outname_jm%.!y!"  2> nul
  52. RENAME "%outname_tm%.%%x" "%outname_tm%.!y!"  2> nul
  53. )
  54. RENAME "%logname_jm%" "%logname_jm%.0"  2> nul
  55. RENAME "%logname_tm%" "%logname_tm%.0"  2> nul
  56. RENAME "%outname_jm%" "%outname_jm%.0"  2> nul
  57. RENAME "%outname_tm%" "%outname_tm%.0"  2> nul
  58. DEL "%logname_jm%.6"  2> nul
  59. DEL "%logname_tm%.6"  2> nul
  60. DEL "%outname_jm%.6"  2> nul
  61. DEL "%outname_tm%.6"  2> nul
  62. for %%X in (java.exe) do (set FOUND=%%~$PATH:X)
  63. if not defined FOUND (
  64.     echo java.exe was not found in PATH variable
  65.     goto :eof
  66. )
  67. echo Starting a local cluster with one JobManager process and one TaskManager process.
  68. echo You can terminate the processes via CTRL-C in the spawned shell windows.
  69. echo Web interface by default on http://localhost:8081/.
  70. start java %JVM_ARGS% %log_setting_jm% -cp "%FLINK_CLASSPATH%"; org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint --configDir "%FLINK_CONF_DIR%" > "%out_jm%" 2>&1
  71. start java %JVM_ARGS% %log_setting_tm% -cp "%FLINK_CLASSPATH%"; org.apache.flink.runtime.taskexecutor.TaskManagerRunner --configDir "%FLINK_CONF_DIR%" > "%out_tm%" 2>&1
  72. endlocal
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

来自云龙湖轮廓分明的月亮

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表