环境准备
需要有三台 Centos7 服务器,并都需要完成下面的配置要求:
- 关闭防火墙
- 新建普通用户
me
- 阿里云时钟同步服务器
- 配置免密登陆
- 关闭
selinux
- 配置
xsync
、xcall
同步脚本 - 配置
jdk8
环境 - 确保端口
8081,8082
端口没有被占用 hadoop
高可用集群安装配置完毕
环境准备可以参考我下面的博文:
集群规划
说明:
- 除特别说明外,本文的所有操作均在master节点、使用me这个非root用户执行
- 命令中出现的IP,均需要替换为自己集群中的IP【必须】
- 命令中出现的
/home/lbs/software
路径,可选择替换为自定义路径【可选】
hostname | IP | 角色 |
---|---|---|
master | master | JobManager + TaskManager |
node1 | node1 | TaskManager |
node2 | node2 | TaskManager |
正式安装
-
下载资源包flink-1.14.2-bin-scala_2.12.tgz
https://pan.baidu.com/s/17s6WdDoxAf0gMVcYiIuIjw?pwd=49kv
-
上传资源包到
master
节点,并解压到指定路径tar -zxvf flink-1.14.2-bin-scala_2.12.tgz -C /home/lbs/software mv /home/lbs/software/flink-1.14.2 /home/lbs/software/flink
-
配置
HADOOP_CLASSPATH
环境变量sudo vim /etc/profile # 内容最后,追加下面内容 export HADOOP_CLASSPATH=`hadoop classpath`
-
修改
flink-conf.yaml
文件vim /home/lbs/software/flink/conf/flink-conf.yaml # jobmanager地址 jobmanager.rpc.address: master ...... # jobmanager 内存(可选) jobmanager.memory.process.size: 2048m # taskmanager 内存(可选,要小于物理内存) taskmanager.memory.process.size: 16384m # 槽、并行度 taskmanager.numberOfTaskSlots: 3 parallelism.default: 1 ...... # 类加载机制 classloader.resolve-order: parent-first classloader.check-leaked-classloader: false ...... # 开启火焰图(新增) rest.flamegraph.enabled: true
-
配置
workers
文件echo 'master node1 node2' > /home/lbs/software/flink/conf/workers
-
配置
masters
文件echo 'master:8081' > /home/lbs/software/flink/conf/masters
-
分发
/home/lbs/software/flink
目录到集群中的其他两台机器xsync /home/lbs/software/flink
启动集群
/home/lbs/software/flink/bin/start-cluster.sh
验证集群
-
jps查询三台服务器的进程情况如下:
=============== master =============== 4453 StandaloneSessionClusterEntrypoint 4458 TaskManagerRunner 4533 Jps =============== node1 =============== 2872 TaskManagerRunner 2941 Jps =============== node2 =============== 2948 Jps 2876 TaskManagerRunner
-
访问
flink
的Web UI
页面http://master:8081
.
关闭集群
/home/lbs/software/flink/bin/stop-cluster.sh