1. 程式人生 > >flume高併發優化——(15)中介軟體版本升級

flume高併發優化——(15)中介軟體版本升級

在系統平穩執行一年的基礎上,為提供更好的服務,現針對java,kafka,flume,zk,統一進行版本升級,請各位小夥伴跟著走起來,不要掉隊啊!

名稱 老版本號 新版本號
jdk 1.7.0_25 1.8.0
kafka 2.10-0.8.0.1 2.10-0.10.2.1
flume 1.6.0 1.7.0
zookeeper 3.4.6 3.4.8

jdk,zookeeper,flume:

這兩個中介軟體平滑升級,沒有特殊的地方,參考其他部落格就好

kafka:

這個的變化還是很大的,咱們詳細說來

1,zk的作用

offsets,這個值,標記kafka消費到哪了,以前由zk維護,但是,遇到併發比較大的情況,zk的資料出現錯誤的機率變大,目前版本交由kafka本身維護,kafka本身建立了一個topic解決這個問題,topic:__consumer_offsets,在最新的版本,zk的作用僅僅在維護叢集主從關係上了,作用降低。

2,消費端變化

消費端的配置,發生了變化,和flume 1.6有些區別,但是1.7的版本還是對這些做了適配,基本配置不用變化。

3,監控的變化

以前的監控是基於zk的,目前已經不滿足與最新的kafka,監控中介軟體升級為kafkamanager,將最新版本的zip包下載到伺服器,解壓,並配置就可使用,配置如下:

# Copyright 2015 Yahoo Inc. Licensed under the Apache License, Version 2.0
# See accompanying LICENSE file.

# This is the main configuration file for the application.
# ~~~~~

# Secret key
# ~~~~~
# The secret key is used to secure cryptographics functions.
# If you deploy your application to several instances be sure to use the same key!
play.crypto.secret="^<csmm5Fx4d=r2HEX8pelM3iBkFVv?k[mc;IZE<_Qoq8EkX_/[email protected]" play.crypto.secret=${?APPLICATION_SECRET} # The application languages # ~~~~~ play.i18n.langs=["en"] play.http.requestHandler = "play.http.DefaultHttpRequestHandler" play.http.context = "/" play.application.loader=loader.KafkaManagerLoader kafka-manager.zkhosts="10.1.115.181:2181,10.1.114.221:2181,10.1.114.231:2181/kafka" # kafka-manager.zkhosts=${?ZK_HOSTS} pinned-dispatcher.type="PinnedDispatcher" pinned-dispatcher.executor="thread-pool-executor" application.features=["KMClusterManagerFeature","KMTopicManagerFeature","KMPreferredReplicaElectionFeature","KMReassignPartitionsFeature"] akka { loggers = ["akka.event.slf4j.Slf4jLogger"] loglevel = "INFO" } basicAuthentication.enabled=true basicAuthentication.username="admin" basicAuthentication.password="admin" basicAuthentication.realm="Kafka-Manager" basicAuthentication.excluded=["/api/health"] # ping the health of your instance without authentification

如果出現jdk的問題,可以通過指定路徑的方式解決:

#!/usr/bin/env bash
###  ------------------------------- ###
###  Helper methods for BASH scripts ###
###  ------------------------------- ###
JAVA_HOME="/Data/servers/jdk8"

die() {
  echo "[email protected]" 1>&2
  exit 1
}

監控介面如下:
這裡寫圖片描述

總結:

在本次升級中,主要是為了增加flume與kafka的併發,因為資料的問題,對es並未進行升級,但是在以後中,我們還是會對es進行升級,做資料平移,或者做雙資料來源,因為日誌最多存過30天,這樣的方案,還是非常容易的,請大家繼續關注後續的部落格。

相關推薦

flume併發優化——15中介軟體版本升級

在系統平穩執行一年的基礎上,為提供更好的服務,現針對java,kafka,flume,zk,統一進行版本升級,請各位小夥伴跟著走起來,不要掉隊啊! 名稱 老版本號 新版本號 jdk 1.7.0_25 1.8.0 ka

flume併發優化——8多檔案source擴充套件斷點續傳

        在很多情況下,我們為了不丟失資料,一般都會為資料收集端擴充套件斷點續傳,而隨著公司日誌系統的完善,我們在原有的基礎上開發了斷點續傳的功能,以下是思路,大家共同討論:核心流程圖:                         原始碼:/* * 作者:許恕

flume併發優化——11排除json轉換及中文亂碼

在使用flume收集資料,轉換為json格式時,常常遇到特殊符號的問題,而json對於”引號,是非常敏感的,大家處理json資料的時候,要特別注意,在前不久,向es插入資料時,報錯就是json轉換失敗git地址:https://github.com/xvshu/flume-f

Java併發秒殺API之併發優化

四 高併發優化 1.分析 1.詳情頁 部署到cdn上,這樣使用者訪問的是cdn不是伺服器了。 使用者在上網時通過運營商訪問最近的都會網路,都會網路訪問主幹網。 2.獲取系統時間 不用優化 訪問一次記憶體大概 10ns 無法使用cdn,適合伺服

Django學習筆記15——中介軟體

  當Django處理一個Request的過程是首先通過中介軟體,然後再通過預設的URL方式進行的。我們可以在Middleware這個地方把所有Request攔截住,用我們自己的方式完成處理以後直接返回Response,因此瞭解中介軟體的構成是非常有必要的。 1,中介軟體的概念 Django預設的Midd

java併發實戰——鎖的優化和注意事項

由於之前看的容易忘記,因此特記錄下來,以便學習總結與更好理解,該系列博文也是第一次記錄,所有有好多不完善之處請見諒與留言指出,如果有幸大家看到該博文,希望報以參考目的看瀏覽,如有錯誤之處,謝謝大家指出與留言。這裡只是講解下鎖優化思路以及方法的總結,具體技術深究以後慢慢補充一、

java併發實戰——併發除錯和JDK8新特性

由於之前看的容易忘記,因此特記錄下來,以便學習總結與更好理解,該系列博文也是第一次記錄,所有有好多不完善之處請見諒與留言指出,如果有幸大家看到該博文,希望報以參考目的看瀏覽,如有錯誤之處,謝謝大家指出與留言。一、內容提要 多執行緒除錯的方法 執行緒dump及分析 JDK

設計模式練習15——中介者模式

中介者模式 一、題目: 某軟體公司需要開發一套圖形使用者介面類庫,該類庫包含若干個預定義的窗格物件,例如TextPane,ListPane,GraphicPane,視窗之間不允許直接呼叫,具有該類庫的應用由一個包含一組窗格的視窗(Window)組成,視窗需

實戰Java併發程式設計走進併發世界

阻塞(blocking)一個執行緒是阻塞的,那麼其它的執行緒釋放資源之前,當前執行緒無法繼續執行。使用synchronized或者重入鎖會使執行緒這是。 無飢餓(starvation-free):對於非公平的鎖來說,系統允許高優先順序的執行緒插隊,會造成飢餓;而公平的鎖則不會造成飢餓。 無障礙(obstruc

從0開始,部署.NetCore並構建非阻塞併發伺服器2

工具篇看我這篇部落格想搭建伺服器的朋友多半是想在Linux上使用,正所謂工欲善其事必先利其器,一個好用的SSH對我們的工作效率影響也很大,簡單的說下我在Win下常用的SSH軟體和使用教程,老手自動忽略即可推薦工具1--WinSCPWinSCP可以說是我最常用的遠端連線Linu

Java併發程式設計:Java併發工具類

1. 等待多執行緒完成的CountDownLatch CountDownLatch允許一個或多個執行緒等待其他執行緒完成操作。 1.1 應用場景 假如有這樣一個需求:我們需要解析一個Excel裡多個sheet的資料,此時可以考慮使用多 執行緒,每個執行緒解析一個sheet裡的資料

Java併發程式設計:Java併發容器和框架

1. ConcurrentHashMap 1.1 ConcurrentHashMap的優勢 在併發程式設計中使用HashMap可能導致程式死迴圈。而使用執行緒安全的HashTable效率又非 常低下,基於以上兩個原因,便有了ConcurrentHashMap的登場機會。

java併發實戰——BIO、NIO和AIO

由於之前看的容易忘記,因此特記錄下來,以便學習總結與更好理解,該系列博文也是第一次記錄,所有有好多不完善之處請見諒與留言指出,如果有幸大家看到該博文,希望報以參考目的看瀏覽,如有錯誤之處,謝謝大家指出與留言。一、什麼是NIO?NIO是New I/O的簡稱,與舊式的基於流的I/

慕課網實戰·併發探索併發容器 J.U.C

特別感謝:慕課網jimin老師的《Java併發程式設計與高併發解決方案》課程,以下知識點多數來自老師的課程內容。 jimin老師課程地址:Java併發程式設計與高併發解決方案 概述 Java併發容器JUC是三個單詞的縮寫。是JDK下面的一個包名。

SQLServer 複雜儲存過程併發優化案例

一個儲存過程,幾千行程式碼,內部有一個查詢,關聯使用了200多張表(其中有重複的表),併發執行緒執行,耗時15秒左右,結果返回一般幾行記錄。這個儲存過程是系統中最耗時、最消耗效能的。今天突然想著得優化一下了! 取出儲存過程內的查詢,宣告相關引數執行指令碼。語句比較複雜,取

慕課網實戰·併發探索:執行緒封閉

特別感謝:慕課網jimin老師的《Java併發程式設計與高併發解決方案》課程,以下知識點多數來自老師的課程內容。 jimin老師課程地址:Java併發程式設計與高併發解決方案 1、什麼是執行緒封閉? 它其實就是把物件封裝到一個執行緒裡,只有一個執行緒能

慕課網實戰·併發探索:執行緒安全性-可見性-有序性

可見性 什麼是可見性? 一個執行緒對主記憶體的修改可以及時的被其他執行緒觀察到 導致共享變數線上程間不可見的原因 執行緒交叉執行 重排序結合線程交叉執行 共享變數更新後的值沒有在工作記憶體與主存間及時更新 JVM處理可見性 J

Koa2學習中介軟體

Koa2學習(五)中介軟體 Koa2通過app.use(function)方法來註冊中介軟體。 所有的http請求都會依次呼叫app.use()方法,所以中介軟體的使用順序非常重要。 中介軟體的執行順序 官方說明: 假設依次有 A、B 兩個中介軟體,首先請求流通過 A 中介軟體,然後繼續移交控制

ASP.NET Core 中文文件 第三章 原理2中介軟體

章節: 什麼是中介軟體 中介軟體是用於組成應用程式管道來處理請求和響應的元件。管道內的每一個元件都可以選擇是否將請求交給下一個元件、並在管道中呼叫下一個元件之前和之後執行某些操作。請求委託被用來建立請求管道,請求委託處理每一個 HTTP 請求。 請求委託通過使用 IApplicationBuilder

大型網際網路併發解決方案之訊息中介軟體技術-activeMQ詳解

點選上方藍字關注的都是靚仔和仙女 概述 ActiveMQ是Apache所提供的一個開源的訊息系統,完全採用Java來實現,因此,它能很好地支援J2EE提出的JMS(Java Message Service,即Java訊息服務)規範。JMS是一組Java應用程式介面,它提供訊息的建立、傳送、讀取等一系列服