文章目录
Standalone集群环境搭建
步骤
一、环境要求
- JDK1.8以上,并配置了JAVA_HOME环境
- ssh免密码登录
二、下载安装包
下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/flink/
三、解压Flink压缩包到指定目录
tar -zxvf flink-1.7.2-bin-hadoop26-scala_2.11.tgz -C ../module/
四、修改配置文件
- 修改flink-conf.yaml
cd /opt/module/flink-1.7.2/conf vim flink-conf.yaml
# 配置 Master 的机器名(IP 地址) jobmanager.rpc.address: node01 # 配置每个 taskmanager 生成的临时文件夹 taskmanager.tmp.dirs: /opt/module/flink-1.7.2/tmp
- 修改slaves
vim slaves
node01 node02 node03
五、添加系统环境变量
三台虚拟机都需要配置
vim /etc/profile
export HADOOP_CONF_DIR=/opt/module/hadoop-2.6.0-cdh5.14.0/etc/hadoop
source /etc/profile
六、将第一台flink的文件夹分发到另外的机器上
scp -r /opt/module/flink-1.7.2/ node02:$PWD
scp -r /opt/module/flink-1.7.2/ node03:$PWD
七、启动集群
Web UI界面:http://node01:8081
八、通过单词计数测试集群
hdfs dfs -mkdir -p /test/flink/input
hdfs dfs -put /opt/module/wordcount.txt /test/flink/input
bin/flink run /opt/module/flink-1.7.2/examples/batch/WordCount.jar \
--input hdfs://node01:8020/test/flink/input/wordcount.txt \
--output hdfs://node01:8020/test/flink/output/05042258001
Web界面显示已经完成
查看输出结果
高可用HA模式
步骤
一、修改配置文件
- 修改flink-conf.yaml
cd /opt/module/flink-1.7.2/conf vim flink-conf.yaml
#开启 HA,使用文件系统作为快照存储 state.backend: filesystem #默认为 none,用于指定 checkpoint 的 data files 和 meta data 存储的目录 state.checkpoints.dir: hdfs://node01:8020/flink-checkpoints #默认为 none,用于指定 savepoints 的默认目录 state.savepoints.dir: hdfs://node01:8020/flink-checkpoints #使用 zookeeper 搭建高可用 high-availability: zookeeper # 存储 JobManager 的元数据到 HDFS,用来恢复 JobManager 所需的所有元数据 high-availability.storageDir: hdfs://node01:8020/flink/ha/ high-availability.zookeeper.quorum: node01:2181,node02:2181,node03:2181
- 修改masters
vim masters
node01:8081 node02:8081
- 分发改好的配置到另外两台机器,并修改第二台机器的flink-conf.yaml
scp -r flink-conf.yaml node02:$PWD scp -r flink-conf.yaml node03:$PWD scp -r mastersl node02:$PWD scp -r mastersl node03:$PWD
jobmanager.rpc.address: node02
二、重新启动集群
1.先启动hadoop集群
cd /opt/module/hadoop-2.6.0-cdh5.14.0/
sbin/start-dfs.sh
sbin/start-yarn.sh
2.再启动zookeeper集群
cd /opt/module/zookeeper-3.4.5-cdh5.14.0/
bin/zkServer.sh start
3.重启flink集群
cd /opt/module/flink-1.7.2/
bin/stop-cluster.sh
bin/start-cluster.sh
on-yarn集群环境
步骤
一、修改hadoop的yarn-site.xml配置
cd /opt/module/hadoop-2.6.0-cdh5.14.0/etc/hadoop/
vim yarn-site.xml
<property>
<name> yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
记得在/etc/profile中配置HADOOP_CONF_DIR,我上面已经配置过了
二、使用
yarn-session
cd /opt/module/flink-1.7.2/
bin/yarn-session.sh -n 2 -tm 800 -s 1 -d
Usage: Required -n,--container <arg> 分配多少个 yarn 容器 (=taskmanager 的数量) Optional -D <arg> 动态属性 -d,--detached 独立运行 (以分离模式运行作业) -id,--applicationId <arg> YARN 集群上的任务 id,附着到一个后台运行的 yarn session 中 -j,--jar <arg> Path to Flink jar file -jm,--jobManagerMemory <arg> JobManager 的内存 [in MB] -m,--jobmanager <host:port> 指定需要连接的 jobmanager(主节点)地址,使用这个参数可以指定一个不同于配置文件中的 jobmanager -n,--container <arg> 分配多少个 yarn 容器 (=taskmanager 的数量) -nm,--name <arg> 在 YARN 上为一个自定义的应用设置一个名字 -q,--query 显示 yarn 中可用的资源 (内存, cpu 核数) -qu,--queue <arg> 指定 YARN 队列 -s,--slots <arg> 每个 TaskManager 使用的 slots 数量 -st,--streaming 在流模式下启动 Flink -tm,--taskManagerMemory <arg> 每个 TaskManager 的内存 [in MB] -z,--zookeeperNamespace <arg> 针对 HA 模式在 zookeeper 上创建 NameSpace
yarn-cluster
bin/flink run -m yarn-cluster -yn 2 ./examples/batch/WordCount.jar
如果使用的是 flink on yarn 方式,想切换回 standalone 模式的话, 需要删除文件: 【/tmp/.yarn-properties-root】
因为默认查找当前 yarn 集群中已有的 yarn-session 信息中的 jobmanager