1. 程式人生 > >Flink Jobmanager HA配置(standalone)

Flink Jobmanager HA配置(standalone)

1、簡介

當Flink程式執行時,如果jobmanager崩潰,那麼整個程式都會失敗。為了防止jobmanager的單點故障,藉助於zookeeper的協調機制,可以實現jobmanager的HA配置—-1主(leader)多從(standby)。

這裡的HA配置只涉及standalone模式,yarn模式暫不考慮。
Flink版本: 1.1.2
Hadoop版本: 2.6.0

例如,有3個jobmanager,其HA情況如下:
standalone HA

2、standalone HA的配置

由於jobmanager的HA配置依賴於zookeeper,因此,需要先配置zookeeper,可以參考我之前的文章:

zookeeper叢集配置
而且,由於Flink的state backend要依賴hdfs,因此假設Hadoop叢集也已經配置完成,可參考這裡

下面開始配置jobmanager的HA:
(1)flink配置檔案:conf/flink-conf.yaml

#jobmanager.rpc.address: flink

HA模式下,jobmanager不需要指定,在master file中配置,由zookeeper選出leader與standby。

#==============================================================================
# Streaming state checkpointing #============================================================================== state.backend: filesystem state.backend.fs.checkpointdir: hdfs:///flink/checkpoints

檢查點生成的分散式快照的儲存地點,預設是jobmanager的memory,但是HA模式必須配置在hdfs上,且儲存路徑需要在hdfs上建立並指定路徑(hdfs dfs -mkdir /flink/checkpoints)。

# Path to the Hadoop configuration directory.
fs.hdfs.hadoopconf: /home/flink/hadoop/hadoop-2.6.0/etc/hadoop

指定hadoop conf路徑,這裡需要告訴Flink,hadoop配置的路徑,否則會報錯,詳見:這裡

#==============================================================================
# Master High Availability (required configuration)
#==============================================================================
recovery.mode: zookeeper
recovery.zookeeper.quorum: flink:2181,data0:2181,mf:2181
recovery.zookeeper.storageDir: hdfs:///flink/recovery
recovery.zookeeper.path.root: /flink
recovery.zookeeper.path.namespace: /cluster_one

HA配置,storageDir儲存jobmanager的元資料資訊,包括用於恢復的資訊;recovery.zookeeper.path.root代表zookeeper中節點資訊;recovery.zookeeper.path.namespace,如果你的Flink叢集有不止一個的話,那麼這個值需要特殊配置,不能用預設的名字。關於這兩個值的配置,我們可以在zookeeper的cli來檢視路徑:
zkCli.sh

(2)master file:conf/masters
這裡寫圖片描述
ip:webUI,這裡要將所有jobmanager的ip(host)與webUI(預設8081,可更改)都寫好。

(3)配置zookeeper server
在zookeeper的zoo.cfg中配置,Flink之前應該已經配置好,這裡忽略。

(4)啟動zookeeper、Flink:

[[email protected] bin]$ start-cluster.sh 
Starting HA cluster with 3 masters.
Starting jobmanager daemon on host flink.
Starting jobmanager daemon on host data0.
Starting jobmanager daemon on host mf.
Starting taskmanager daemon on host mf42.
Starting taskmanager daemon on host data1.
Starting taskmanager daemon on host s1.
Starting taskmanager daemon on host cninfo.
[[email protected] bin]$ 

webUI也可以看到配置資訊以及log資訊:
這裡寫圖片描述

注意,當前的jobmanager的leader是192.168.4.41。

3、fail over測試

當前的jobmanager的leader是mf,程式正在執行中。

首先,我們停掉41上的jobmanager程序,模擬leader jobmanager的crash:
這裡寫圖片描述
之後,webUI停止工作,此時後臺進行jobmanager的failover,我們通過log檔案觀察failover的過程:

2016-10-31 11:44:53,801 WARN  akka.remote.ReliableDeliverySupervisor                        - Association with remote system [akka.tcp://flink@192.168.4.41:7593] has failed, address is now gated for [5000] ms. Reason is: [Disassociated].
2016-10-31 11:45:34,030 INFO  org.apache.flink.runtime.webmonitor.JobManagerRetriever       - New leader reachable under akka.tcp://flink@192.168.4.22:2013/user/jobmanager:14062b96-52d9-4f7d-abda-b1b475581596.

原來的leader:41連線失敗,大概40秒後,恢復完成,新的leader:22.再次觀察webUI:
這裡寫圖片描述

jobmanager 的 HA大致的過程演示完畢。

相關推薦

Flink Jobmanager HA配置standalone

1、簡介 當Flink程式執行時,如果jobmanager崩潰,那麼整個程式都會失敗。為了防止jobmanager的單點故障,藉助於zookeeper的協調機制,可以實現jobmanager的HA配置—-1主(leader)多從(standby)。 這裡的H

Spark 叢集配置standalone

此為純乾貨 喊話橙子精:我放棄那篇論文總結了。。。寒假前在離開實驗室的那天系統抽風了,來學校這兩天基本花在重新裝系統配環境上了 鋪墊一下 在Spark中除了在單機上執行的local模式以外,共有三種分散式部署方法: local 執行在單機上,一

Spark自帶的叢集模式Standalone,Spark/Spark-ha叢集搭建

#1、Spark自帶的叢集模式 對於Spark自帶的叢集模式,Spark要先啟動一個老大(Master),然後老大Master和各個小弟(Worker)進行通訊,其中真正幹活的是Worker下的Executor。關於提交任務的,需要有一個客戶端,這個客戶端叫做D

Flink實戰102配置管理配置

來源:http://www.54tianzhisheng.cn/2019/03/28/flink-additional-data/ 前言 如果你瞭解 Apache Flink 的話,那麼你應該熟悉該如何像 Flink 傳送資料或者如何從 Flink 獲取資料。但是在某些情況下,我們需要將配置資料傳送到 Fli

linux應用之vim的安裝與配置centos

utf8 power scroll pbo gb2312 nco pla red vma 1.vim的安裝 #yum search vim //查看vim相關軟件信息 #yum install -y vim* //在線安裝vim 2.vim的配置 (1)~/.vimi

linux應用之xampp集成環境的安裝及配置centos

其他 配置文件 ln -s 提示 config 執行權 listen location x64 1.xampp集成環境的下載   在xampp的官網上選擇對應系統的版本進行下載,官網地址:https://www.apachefriends.org/zh_cn/index.h

redis3.0 集群在windows上的配置

windows 其他 net source 無法連接 -h ref pro int 1. 安裝Redis版本:win-3.0.501https://github.com/MSOpenTech/redis/releases頁面有,我下載的是zip版本的:Redis-x64-3

Android studio第一次使用配置gradle項目構建

令行 技術分享 簽名 aries rar 工具 img 引入 文章 1、gradle的概念 2、gradle配置jar包。和libs目錄導入jar包的差別 3、簽名打包: (1)Studio (2)命令行 (3)gradle wrap

域用戶配置文件的漫遊配置

windows 域環境 活動目錄 漫遊 趙一 漫遊的優勢: 1,方便用戶的操作,域用戶無論在哪個客戶端登錄,桌面環境配置都是一樣的,可以在外地辦公。 2,數據的統一存儲,管理更方便。一:搭建域控制器 1.此實驗環境是windows2008 2.win+R快捷鍵打開運行 dcpr

CentOS7 OpenVPN Firewalld防火墻配置1

openvpn firewalld接口處於Public區域,網卡名稱為ens33firewall-cmd --list-all查看所有信息public (active) target: default icmp-block-inversion: no interfaces: ens33 sources

Linux之Ubuntu環境配置

sogou home ade -- linux下 安裝 linux64 x64 inux Linux下的搜狗輸入法安裝: 1.搜狗官網下載Linux64bit版本文件,默認在/home/username/Downloads目錄下。 2.cd /home/username/D

CentOS7下安裝MySQL5.7安裝與配置YUM

centos7下安裝mysql5.7安裝與配置(yum) CentOS7下安裝MySQL5.7安裝與配置(YUM) 安裝環境:CentOS7 64位 MINI版,安裝MySQL5.71、配置YUM源 在MySQL官網中下載YUM源rpm安裝包:http://dev.mysql.co

Dubbo學習和配置轉載

ext.get 訂閱 這樣的 內存 com 消費者 list() 增加 引用 轉載自: 簡單了解下Dubbo 1. Dubbo是什麽? Dubbo是一個分布式服務框架,致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。簡單的說,dubbo就是個服

jira安裝和配置

com 文章 講解 art setup 軟件安裝包 使用 基於 tran Jira 安裝和配置 Jira 安裝和配置 Jira 安裝 Jira 配置 資料 Jira 安裝 Jira 安裝 官網:https://www.atlassian.com/softw

jenkins安裝和配置

quest tac 軟件安裝包 setup and all pro 地址 新版 轉載來自:http://wiki.jikexueyuan.com/project/linux-in-eye-of-java/Jenkins-Install-And-Settings.html

Cent Os 6.5的網絡橋接配置Minimal

cent os 6.5的網絡橋接配置(minimal) 本人小白一只,純屬讓自己記憶更加深刻! 話不多說進入正題!! 在簡單的安裝完Centos之後呢!最麻煩一定是橋接配置網絡了。我們分為以下幾個部分 1.鍵入ifconfig來查看自己的網卡情況,不出意外情況只顯示lo 和IP127.0.0.1的回環

caffe openpose/Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields配置

art gravity git sid 同學 person 配置 nac 生成 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields 是CVPR2017的一篇論文,作者稱是世界上第一個基於深度

第一次使用Android Studio時你應該知道的一切配置:新建一個屬於自己的工程並安裝Genymotion模擬器

人性 pro net 參考 json irb 一個地方 vid 調試 【聲明】 歡迎轉載,但請保留文章原始出處→_→ 生命壹號:http://www.cnblogs.com/smyhvae/ 文章來源:http://www.cnblogs.com/smyhvae/p/439

Jenkins之構建觸發器配置轉載

每天 ont 有時 星期六 mon 運行時 觸發器 舉例 sin 構建觸發器配置,當你在文本框中輸入配置的時間後,文本框下方會有時間解釋,這樣可以很好的看到自己配置的時間對不對。 可以清晰看到我的配置第一個運行時間是周五上午10點執行,第二次是星期六上午10點。 1

轉載【項目管理和構建】——Maven下載、安裝和配置

文檔 port 目標 軟件項目管理 strong mar temp mave work 原文鏈接: http://blog.csdn.net/jiuqiyuliang/article/details/41076215 在現實