环境准备
需要有三台 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