【Flink流式计算框架】Local模式安装_Standalone模式安装(local)_Flink on Yarn模式安装_Flink Shell使用

Local模式安装(集群只有一个节点)

Local模式安装

(1)安装jdk,配置JAVA_HOME,建议使用jdk1.8以上
(2)安装包下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz
(3)直接上传安装包到服务器
​ 解压安装包:tar -zxvf flink-1.9.1-bin-scala_2.11.tgz
​ 创建快捷方式: ln -s flink-1.9.1-bin-scala_2.11.tgz flink
​ 配置FLINK_HOEM环境变量
(4)启动服务
​ local模式,什么配置项都不需要配,直接启动服务器即可
​ cd $FLINK_HOME
​ ./bin/start-cluster.sh 启动服务
​ ./bin/stop-cluster.sh 停止服务
(5)Web页面浏览
​ localhost:8081
在这里插入图片描述

在集群上提交任务

(1)编译,打包
​ mvn clean package
​ pom文件里面的依赖上添加上:
​ provided
​ 代表这个依赖打包的时候不打到jar包里面,因为我们这些依赖包flink已经自带了,所以我们打包的时候不用把打包进去。
在这里插入图片描述
(2) 运行
​ 在hadoop01 上执行 nc -lk 9999
​ flink run -c stream.WindowWordCountJava flinklesson-1.0-SNAPSHOT.jar -port 9999
在这里插入图片描述

查看任务
在这里插入图片描述

查看日志:
tail -F $FLINK_HOME/log/flink-work-taskexecutor-0-tjtx-98-197.58os.org.out
(3) 停止任务
方式一:页面上停止
在这里插入图片描述
方式二:命令停止
flink cancel job-id

Standalone模式安装(local)

(1)集群规划
在这里插入图片描述
(2)依赖 **
jdk1.8以上,配置JAVA_HOME
主机之间免密码
flink-1.9.1-bin-scala_2.11.tgz
(3)安装步骤

(a) 修改conf/flink-conf.yaml
jobmanager.rpc.address: hadoop01
(b) 修改conf/slaves
hadoop02
hadoop03
(c) 拷贝到其他节点
scp -rq /usr/local/flink-1.9.1 hadoop02:/usr/local
scp -rq /usr/local/flink-1.9.1 hadoop03:/usr/local
(d):在hadoop01(JobMananger)节点启动
start-cluster.sh
(e):访问http://hadoop01:8081

(4) StandAlone模式需要考虑的参数
jobmanager.heap.mb:jobmanager节点可用的内存大小
taskmanager.heap.mb:taskmanager节点可用的内存大小
taskmanager.numberOfTaskSlots:每台机器可用的cpu数量
parallelism.default:默认情况下任务的并行度
taskmanager.tmp.dirs:taskmanager的临时数据存储目录

Flink on Yarn模式安装

  1. 首先安装好Hadoop(yarn)
  2. 上传一个flink的包(什么参数都不要配置)

Flink on YARN部署很简单,就是只要部署好hadoop集群即可,我们只需要部署一个Flink客户端,然后从flink客户端提交Flink任务即可。

flink on yarn有两种方式:

第一种方式

在yarn上启动一个flink集群,flink就持有了yarn的资源(即使flink上没有任何程序,yarn的资源其他非flink集群任务使用不了了,造成资源浪费),在flink集群上提交任务。除非把Flink集群停了,不然资源不会释放。

【yarn-session.sh(开辟资源)+flink run(提交任务)】
启动一个一直运行的flink集群
/bin/yarn-session.sh -n 2 -jm 1024 -tm 1024 [-d]
把任务附着到一个已存在的flink yarn session
•./bin/yarn-session.sh -id application_1463870264508_0029
•执行任务
•./bin/flink run ./examples/batch/WordCount.jar -input hdfs://hadoop100:9000/LICENSE -output hdfs://hadoop100:9000/wordcount-result.txt
停止任务 【web界面或者命令行执行cancel命令】

第二种方式

每提交一个任务就在yarn上面启动一个flink小集群(推荐使用)
任务运行完了资源就自动释放。

【flink run -m yarn-cluster(开辟资源+提交任务)】
•启动集群,执行任务
•./bin/flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 ./examples/batch/WordCount.jar
-p:并行度,
-yn:基本上参数设置后没有用
注意:client端必须要设置YARN_CONF_DIR或者HADOOP_CONF_DIR或者HADOOP_HOME环境变量,通过这个环境变量来读取YARN和HDFS的配置信息,否则启动会失败

help信息(yarn-session.sh和flink run)

yarn-session.sh

用法:  
   必选  
     -n,--container <arg>   分配多少个yarn容器 (=taskmanager的数量)  
   可选  
     -D <arg>                        动态属性  
     -d,--detached                   独立运行  
     -jm,--jobManagerMemory <arg>    JobManager的内存 [in MB]  
     -nm,--name                     在YARN上为一个自定义的应用设置一个名字  
     -q,--query                      显示yarn中可用的资源 (内存, cpu核数)  
     -qu,--queue <arg>               指定YARN队列.  
     -s,--slots <arg>                每个TaskManager使用的slots数量  
     -tm,--taskManagerMemory <arg>   每个TaskManager的内存 [in MB]  
     -z,--zookeeperNamespace <arg>   针对HA模式在zookeeper上创建NameSpace 
     -id,--applicationId <yarnAppId>        YARN集群上的任务id,附着到一个后台运行的yarn session中

flink run

run [OPTIONS] <jar-file> <arguments>  
 "run" 操作参数:  
-c,--class <classname>  如果没有在jar包中指定入口类,则需要在这里通过这个参数指定  
-m,--jobmanager <host:port>  指定需要连接的jobmanager(主节点)地址,使用这个参数可以指定一个不同于配置文件中的jobmanager  
-p,--parallelism <parallelism>   指定程序的并行度。可以覆盖配置文件中的默认值。

默认查找当前yarn集群中已有的yarn-session信息中的jobmanager【/tmp/.yarn-properties-root】:
./bin/flink run ./examples/batch/WordCount.jar -input hdfs://hostname:port/hello.txt -output hdfs://hostname:port/result1
连接指定host和port的jobmanager:
./bin/flink run -m hadoop100:1234 ./examples/batch/WordCount.jar -input hdfs://hostname:port/hello.txt -output hdfs://hostname:port/result1
启动一个新的yarn-session:
./bin/flink run -m yarn-cluster -yn 2 ./examples/batch/WordCount.jar -input hdfs://hostname:port/hello.txt -output hdfs://hostname:port/result1
注意:yarn session命令行的选项也可以使用./bin/flink 工具获得。它们都有一个y或者yarn的前缀
例如:./bin/flink run -m yarn-cluster -yn 2 ./examples/batch/WordCount.jar 

Flink Shell使用

Start-scala-shell.sh
提供的benv和senv并不是那么好用
实用性不是很大

针对初学者,开发的时候容易出错,如果每次都打包进行调试,比较麻烦,并且也不好定位问题,可以在scala shell命令行下进行调试

scala shell方式支持流处理和批处理。当启动shell命令行之后,两个不同的ExecutionEnvironments会被自动创建。使用senv(Stream)和benv(Batch)分别去处理流处理和批处理程序。(类似于spark-shell中sc变量)

bin/start-scala-shell.sh [local|remote|yarn] [options]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值