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應用程式介面,它提供訊息的建立、傳送、讀取等一系列服