flink集群搭建

本文详细介绍了如何在Linux环境中部署Apache Flink集群,包括配置JAVA_HOME,实现SSH免密登录,下载安装Flink 1.7.2版本,并在Standalone模式下进行部署,设置配置文件,启动集群,验证运行状态以及运行example测试。接着,文章讲解了YARN模式的部署,涉及YARN配置文件修改,启动YARN session以及提交Flink作业的方法。
摘要由CSDN通过智能技术生成
1.1 基础环境
  • jdk1.8及以上【配置JAVA_HOME环境变量】

  • ssh免密码登录【集群内节点之间免密登录】(教程:https://blog.csdn.net/qq_19520877/article/details/119490098)

1.2 安装包下载

https://archive.apache.org/dist/flink/flink-1.7.2/flink-1.7.2-bin-hadoop27-scala_2.11.tgz

1.3 集群规划

linux9527
JobManager+TaskManager
linux9528
TaskManager
linux9529
TaskManager

1.4 StandAlone模式部署

在linux9527节点操作

Step1、Flink安装包上传到linux9527对应目录并解压
Step2、修改 flink/conf/flink-conf.yaml 文件

jobmanager.rpc.address: linux9527
taskmanager.numberOfTaskSlots: 2

step2.1 修改/conf/masters

linux9527:8081

Step3、修改 /conf/slave文件

linux9527
linux9528
linux9529

step3.1 scp解压且配置好的文件到其他节点

scp -r flink-1.7.2/ linux9528:$PWD
scp -r flink-1.7.2/ linux9529:$PWD

step3.2 配置环境变量 /etc/profile

export FLINK_HOME=/opt/yyjzy/servers/flink-1.7.2
export PATH=$PATH:$FLINK_HOME/bin

保存退出后

source /etc/profile

其他节点也要这么配置

Step4、standalone模式启动

bin目录下执行./start-cluster.sh

Step5、jps进程查看核实

3857 TaskManagerRunner
3411 StandaloneSessionClusterEntrypoint
3914 Jps

Step6、查看Flink的web页面 ip:8081/#/overview

Step7、集群模式下运行example测试

./flink run ../examples/streaming/WordCount.jar

注意:集群搭建完毕后,Flink程序就可以打成Jar,在集群环境下类似于Step7中一样提交执行计算任务

打jar包插件:

<build>
        <plugins>
            <!-- 打jar插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.3</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

1.5 yarn模式部署

(1)启动一个YARN session(Start a long-running Flink cluster on YARN);

配置文件 yarn-site.xml
注意:yarn-site的修改需要在集群的每一台机器上执行

<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>linux9529:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>linux9529:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>linux9529:8031</value>
  </property>

启动hadoop (hdfs,yarn)

  • hadoop启动完后,通过yarn启动flink集群
 /opt/yyjzy/servers/flink-1.7.2/bin/yarn-session.sh -n 2 -tm 800 -s 1 -d

# -n 表示申请2个容器,这里指的就是多少个taskmanager

# -s 表示每个TaskManager的slots数量

# -tm 表示每个TaskManager的内存大小

# -d 表示以后台程序方式运行

  • 启动后运行flink任务
./flink run -c com.yyjzy.stream.WordCount  /tmp/flink-web-b73a5b1e-2d0f-4380-a22e-1ce51f93c29e/flink-web-upload/flink_demo-1.0-SNAPSHOT.jar 

-c 是全限定类名

  • yarn-session会一直启动,不停地接收客户端提交的作业
  • 停止yarn集群任务
yarn application -kill application_1527077715040_0003

(2)直接在YARN上提交运行Flink作业(Run a Flink job on YARN)

bin/flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 -c com.yyjzy.stream.WordCount  /tmp/flink-web-b73a5b1e-2d0f-4380-a22e-1ce51f93c29e/flink-web-upload/flink_demo-1.0-SNAPSHOT.jar 

# -m jobmanager的地址

# -yn 表示TaskManager的个数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值