Linux安装Flink及其环境配置

Linux安装Flink及其环境配置

集群规划

使用StandAlone模式,需要启动Flink的主节点JobManager以及从节点TaskManager

服务 node1 node2 node3
JobManager
TaskManager

Flink 的部署模式分为3种:
(1)Application模式
(2)Per-Job模式
(3)Session模式


1.解压到安装目录

tar zxvf flink-1.14.6-bin-scala_2.11.tgz

2.配置环境变量

export FLINK_HOME=/home/environment/flink-1.14.6
export PATH=$FLINK_HOME/bin:$PATH

每个 JobManager 的可用内存值(jobmanager.memory.process.size)
每个 TaskManager 的可用内存值 (taskmanager.memory.process.size
每台机器的可用 CPU 数(taskmanager.numberOfTaskSlots)
集群中所有 CPU 数(parallelism.default)
临时目录(io.tmp.dirs)


3.修改master(node1)

bin/start-cluster.sh 和 bin/stop-cluster.sh 依赖 conf/masters 和 conf/workers 来确定集群组件实例的数量

编辑masters文件;进入conf目录:

vim ./flink/conf/masters

#删除默认的改为
node1:8081

4.配置其他两台机器workers(工作节点)

配置工作节点
vi workers

# 将其他两台机器的IP一起写进去
node1
node2
node3

5.编辑flink-conf.yaml文件


6.拷贝到另外两台机器

scp -r /home/environment/flink-1.14.6/ node2:/home/environment/
scp -r /home/environment/flink-1.14.6/ node3:/home/environment/

7.启动flink

./bin/start-cluster.sh
./bin/stop-cluster.sh

任意一台节点上(一般在 master 节点)执行 bin/start-cluster.sh 均可启动该集群

参数 说明
-n TaskManager的数量,相当于executor的数量
-s 每个JobManager的core的数量,executor-cores。建议将slot的数量设置每台机器的处理器数量
-tm 每个TaskManager的内存大小,executor-memory
-jm JobManager的内存大小,driver-memory

启动成功后通过web访问;JobManager同时会在8081端口上启动一个web前端,通过http://localhost:8081来访问,默认端口是8081,可以修改config配置端口

命令执行job

# 启动一个终端(端口9099)
# 在一个窗口启动一个websocket 端口9099
nc -l -p 9099
# 再开一个端口执行flink 例子
./flink run ../examples/streaming/WordCount.jar --port 9099

提交官方提供的WordCount程序试试,启动命令:

flink run -m yarn-cluster -yn 1 /home/radmin/package/WordCount.jar

在Flink1.8版本后,Flink官方提供的安装包里没有整合HDFS的jar

下载jar包并在Flink的lib目录下放入该jar包并分发使Flink能够支持对Hadoop的操作
https://mvnrepository.com/artifact/org.apache.flink/flink-shaded-hadoop-2
放入lib目录


Hadoop版本的支持

Flink自1.11.0 版本开始,已经支持了hadoop 3.x,具体来讲就是将 HADOOP_CLASSPATH 配置成运行机器上的hadoop3 相关jar包即可

YARN上的Flink是针对Hadoop 2.4.1编译的,支持所有的Hadoop版本>= 2.4.1,包括Hadoop 3.x


Flink与Hadoop集成

推荐的方法是通过HADOOP_CLASSPATH环境变量将Hadoop类路径添加到Flink。

Flink 在启动Flink组件(如Client、JobManager或TaskManager)前,将环境变量HADOOP_CLASSPATH的值添加到classpath中。但大多数Hadoop发行版和云环境不会默认设置HADOOP_CLASSPATH这个环境变量,所以如果Hadoop类路径应该由Flink选择,那么必须在所有运行Flink组件的机器上设置这个环境变量。

如果运行在YARN上时,只需要执行下面一条脚本。因为在YARN内部运行的组件将通过Hadoop类路径启动,但当向YARN提交作业时,Hadoop依赖项必须在类路径中。

hadoop classpath是一句shell命令,用于获取配置的Hadoop类路径

export HADOOP_CLASSPATH=`hadoop classpath`

注意:从Flink 1.11开始,Flink项目不再正式支持使用Flink -shade -hadoop-2-uber版本。建议用户通过HADOOP_CLASSPATH提供Hadoop依赖项

/home/environment/flink-1.14.6/lib/flink-shaded-hadoop-2-2.8.3-10.0.jar
export HADOOP_CLASSPATH=`hadoop classpath`

你可能感兴趣的:(服务器环境部署,linux,flink,大数据)