flink单节点及HA安装

本文介绍如何在单JobManager模式下安装与配置Apache Flink,包括选择合适的安装包版本、配置JobManager与TaskManager参数、设置环境变量、启动与测试集群等步骤,并演示了如何通过简单的WordCount示例验证集群的正确配置。
flink
单JobManager节点
  1. 官网下载Flink安装包
    不建议采用小版本号为0的安装包(如1.9.0),建议使用1.9.2版本
  2. 安装包上传到node01节点
  3. 解压、修改配置文件
    解压:tar -zxf flink-1.9.2-bin-scala_2.11.tgz

a. 修改flink-conf.yaml配置文件

###规划
###         JobManager  taskmanager
### node01  *
### node02              *
### node03              *
### node04              *

###配置
#JobManager地址
jobmanager.rpc.address: node01  
#JobManagerRPC通信端口
jobmanager.rpc.port: 6123
#JobManager所能使用的堆内存大小
jobmanager.heap.size: 1024m
#TaskManager所能使用的堆内存大小
taskmanager.heap.size: 1024m 
#TaskManager管理的TaskSlot个数,依据当前物理机的 核心数来配置,一般预留出一部分核心(25%)给系统及其他进程使用
#一个slot对应一个core。如果 core支持超线程,那么slot个数*2
taskmanager.numberOfTaskSlots: 2  
#指定WebUI的访问端口
rest.port: 8081

b. 可选修改项, flink安装目录下: conf/masters
#修改为node01:8081, 原为 localhost:8081

node01:8081

c. 修改 conf/slaves 配置文件

#新增
node02
node03
node04
  1. 同步安装包到其他的节点
#同步至 node02 node03 node04
scp -r flink-1.9.2 node02:`pwd`
scp -r flink-1.9.2 node03:`pwd`
scp -r flink-1.9.2 node04:`pwd`
  1. node01-node04配置环境变量
vim ~/.bashrc export FLINK_HOME=/opt/software/flink/flink-1.9.2 export PATH=$PATH:$FLINK_HOME/bin source ~/.bashrc
  1. 启动standalone集群
#启动集群
start-cluster.sh
#关闭集群
stop-cluster.sh
  1. 查看Flink Web UI页面
    http://node01:8081/
  2. 提交job测试
#简单shell测试
#安装nc, 测试用
yum install nc -y && yum install nmap -y
#打开两个shell窗口,其中一个 nc -lk 8888 用于后续输入
nc -lk 8888
#另一个远程连接flink客户端: start-scala-shell.sh remote <hostname> <portnumber>
start-scala-shell.sh remote node01 8081
#选择计算模式运行: Batch - 'benv' and 'btenv'; Streaming - 'senv' and 'stenv';
#简单的word count: 按空格切割, 计数
senv.socketTextStream("node01",8888).flatMap(_.split(" ")).map((_,1)).keyBy(0).sum(1).print()
#执行任务
senv.execute("first flink shell job")
#在 8888 端口shell输入需要计算的数据
#在页面查看 http://node01:8081/#/job/running; 先在Running Jobs上找到 aggregation 对应的节点信息; 再到 http://node01:8081/#/task-manager ; TaskManagers中查看对应节点的 Stdout

基于hadoop集群yarn的HA

Hadoop HA集群一键安装

基于"单JobManager节点"进行改造

#注意: 先停了flink集群, flink安装的bin目录下
stop-cluster.sh

#1.修改hadoop安装目录下: etc/hadoop/yarn-site.xml
#新增如下配置
  <property>
    <name>yarn.resourcemanager.am.max-attempts</name>
    <!-- 根据需要调整最大重试次数 -->
    <value>10</value>
  </property>

#同步配置至其他节点
scp yarn-site.xml node02:`pwd`
scp yarn-site.xml node03:`pwd`
scp yarn-site.xml node04:`pwd`
#重启hadoop yarn, 注意配置hadoop的bin目录环境变量
stop-all.sh
start-all.sh
yarn-daemon.sh stop resourcemanager
yarn-daemon.sh start resourcemanager



#2.修改flink安装目录下: conf/flink-conf.yaml
#打开注释,修改配置:
#是否ha,查看hadoop安装目录下: etc/hadoop/core-site.xml 中的 fs.defaultFS 配置项配置的是什么
#如果非ha的hdfs, 那么配置单节点的ip:port即可
#high-availability: zookeeper high-availability.storageDir: hdfs://node01:9000/flink/ha/
#如果是ha模式,配置集群的名称即可
high-availability.storageDir: hdfs://mycluster/flink/ha/
high-availability.zookeeper.quorum: node02:2181,node03:2181,node04:2181

#3.修改flink安装目录下: conf/masters
#修改为两个
node01:8081
node02:8081

#同步配置至其他节点
scp flink-conf.yaml masters node02:`pwd`
scp flink-conf.yaml masters node03:`pwd`
scp flink-conf.yaml masters node04:`pwd`

测试HA

#如未配置环境变量, 切换至flink的bin目录下
yarn-session.sh -n 3 -s 3 -nm flink-session -d
#是否启动成功可以查看yarn页面
#http://node03:8088/cluster
#或 查看日志目录: flink的log目录下: flink-root-taskexecutor-*.log
#页面点击 flink-session 的application,查看运行在哪个node,比如运行在node04,查看YarnSessionClusterEntrypoint的进程号
jps
#干掉对应进程号
ps -ef|grep YarnSessionClusterEntrypoint|grep -v grep |awk '{print $2}'|xargs kill -9
#可以在yarn页面看到对应的 从 RUNNING 到 ACCEPTED 再到RUNNING 的节点挂掉然后重启的过程
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值