Kafka producer程式本地執行時傳送資訊失敗解決方案
今天執行kafka本地producer程式時,總是傳送資訊失敗,經過查閱資料,最終發現是kafka叢集的配置問題。
kafka 叢集broker : broker1:9092,broker2:9092
配置解析:
config/server.properties檔案中有幾個引數:
# Hostname the broker will bind to. If not set, the server will bind to all interfaces
#host.name=localhost
# Hostname the broker will advertise to producers and consumers. If not set, it uses the
# value for "host.name" if configured. Otherwise, it will use the value returned from
# java.net.InetAddress.getCanonicalHostName().
advertised.host.name=10.12.50.12
其中host.name預設為null。如果hostname已經設定的話,broker將只會繫結到這個地址上;如果沒有設定,它將繫結到所有介面,併發布一份到ZK
advertised.host.name預設為null。如果沒有設定的話,並且如果host.name如果配置的了話,會使用hots.name的值,否則會使用 java.net.InetAddress.getCanonicalHostName()介面返回的值。這個hostname會通知給producers和consumers。
預設配置時,host.name和advertised.host.name都是null。非本機執行kafka producer時傳送資訊失敗的原因就在這兩個配置上。首先本地producer會和kafka叢集通訊,kafka叢集會將叢集元資料傳送給producer,然後由producer連線broker傳送資訊。由於host.name和advertised.host.name都沒有配置,所以通知給producer的advertised.host.name
解決辦法:1.本地配置kafka叢集中節點的hostname對應的ip => 不推薦。沒有驗證是否可行,原理上應該是沒問題的。配置麻煩,而且工作節點可能會多種多樣。
2.kafka叢集配置時配置host.name或advertised.host.name為本機ip => 推薦,簡單易實施。已驗證可行。
相關推薦
Kafka producer程式本地執行時傳送資訊失敗解決方案
今天執行kafka本地producer程式時,總是傳送資訊失敗,經過查閱資料,最終發現是kafka叢集的配置問題。 kafka 叢集broker : broker1:9092,broker2:9092 配置解析: config/server.properties檔案中有幾個
C# 應用程式,執行時異常資訊捕獲
示例: static class Program { /// <summary> /// 應用程式的主入口點。 /// </summary> [STAThread] static void Main()
nginx環境設定(openresty 安裝時openssl查詢失敗解決方案)
安裝 在Centos下,yum源不提供nginx的安裝,可以通過切換yum源的方法獲取安裝。也可以通過直接下載安裝包的方法,**以下命令均需root許可權執行**: 首先安裝必要的庫(nginx 中gzip模組需要 zlib 庫,rewrite模組
獲取java程式執行時記憶體資訊
由於最近想自己動手測試一下String和StringBuffer的效率問題,需要獲取程式執行時的記憶體佔中資訊,於是上網查了一下,根據查到的資料寫了個程式,發現結果有問題,才發現查到的資料是錯誤的.所以在這裡跟大家分享一下獲取記憶體佔用的正確方法
Agent agentmain+ASM記錄方法執行時引數資訊
agentmain提供了執行時修改指定程序中位元組碼的能力,配合ASM框架,達到隨時修改位元組碼的效果。 agentmain方法: public static void agentmain(String agentArgs, Instrumentation inst){
執行時型別資訊(RTTI)之遞迴列印類資訊
深度優先 public class ClassPrint { private static void printSupers(Class<?> clazz) { String name = clazz.getCanonicalName(); System.out.p
執行時型別資訊(RTTI + 反射)
執行時型別資訊使得你可以在程式執行時發現和使用型別資訊。 Java是如何讓我們在執行時識別物件和類的資訊的,主要有3種方式 “傳統的”RTTI,它假定我們在編譯時已經知道了所有的型別,比如Shape s = (Shape)s1; “反射”機制,它執行我們在執行時
VS中Debug版程式執行正常但Release版執行時控制元件有異常(控制元件在執行時消失)的解決方法
#問題 首先用VS生成應用程式是正常的,然後點選最小化按鈕隱藏到下方工作列,然後再點選工作列這個圖示將應用程式還原出來,結果還原出來後應用程式下方的控制元件都無法顯示出來,這是release版本的,de
執行時型別資訊
RTTI(在執行時,識別一個物件的型別)可以在程式執行時發現和使用型別資訊,這就打破了只能在編譯期執行面向型別的操作的限制。使用它,可以查詢某個Shape引用所指向的物件的確切型別,然後選擇或者剔除特例。在面向物件程式設計中,一般讓程式碼只操縱對基類的引用。在Java中,所
[面試] C/C++ 語法(六)—— RTTI(執行時型別資訊)
RTTI(RunTime Type Information),顧名思義,物件執行時型別資訊,以便在執行時進行型別識別。 C++ 的物件識別可通過以下三個技術得以實現: (1)dynamic_cast 運算子(型別安全的向下轉型) 向下轉型是不安全的,多型
第三回 執行時類資訊(Runtime Class Information)
為清晰起見,省略了行末的\ ) #define DECLARE_CLASS(clss) public: //類資訊,派生自基類CClass class CClass_##clss:public CClass
微信小程式藍芽連線傳送資訊
///獲取應用例項 var app = getApp() Page({ data: { lanya: "", state: "", msg: "", sousuo: "", status: "", connectedDeviceId: "",//連線裝置Id
Tensorflow原始碼解析6 -- TensorFlow本地執行時
Tensorflow原始碼解讀系列文章,歡迎閱讀 帶你深入AI(1) - 深度學習模型訓練痛點及解決方法 自然語言處理1 – 分詞 Tensorflow原始碼解析1 – 核心架構和原始碼結構 Tensorflow原始碼解析2 – 前後端連線的橋樑 - Session Tensorflow
應用程式中嵌入的網頁執行時出現“指令碼錯誤”解決方法
CComPtr<IWebBrowser2> pWB2; HRESULT hr; hr = m_wndIE.QueryControl(&pWB2); if (pWB2) { CComVariant v; CComBSTR url(
vs2010生成的exe程式在執行時,提示計算機丟失mfc100d.dll檔案
vs2010開發的exe程式在別的電腦執行時提示,這個問題是因為執行程式的電腦在system32這個資料夾下沒有mfc100ud.dll這個檔案,解決辦法如下: 1、下載一個mfc100ud.dll,然後隨同你的.exe程式一起釋出; 2、需要mfc100ud.dll,說明
linux程式跑掛時堆疊資訊日誌列印
程式碼如下:void gdb_signal_handler(int signo) { char buff[64] = {0}; sprintf(buff,"cat /proc/%d/maps", getpid()); system((const char*) buff)
ios程式後臺執行時,當有訊息推送過來,如何修改程式角標上是數字
這個得在發訊息的伺服器中給你累加,客戶端只是被動的顯示applicationIconBadgeNumber值。當客戶端收到推送訊息時要告訴伺服器端,伺服器將applicationIconBadgeNumber置為0,當在後臺或未開啟時,不能告訴伺服器端,伺服器每發一條,就會
laravel執行composer update時出現如下錯誤資訊的解決方案
本人使用的是laravel5.0,在執行composer update時出現:Call to undefined method Illuminate\Foundation\Application::getCachedCompilePath()的錯誤提示。 解決
laravel5.5自帶使用者認證重置密碼時傳送郵件失敗的問題
問題 laravel5.5使用開箱即用的使用者認證時,重置密碼需要傳送郵件,結果報錯,錯誤已經修復,而且當時沒有截圖,所以就不展示啦,反正原因就是因為沒有進行郵件相關的配置,laravel預設是使用SMTP進行郵件傳送,而我使用的是163郵箱,所以接下來就是要在我的163郵箱中開啟SMTP伺服器
SpringBoot執行時dataSource建立失敗的解決辦法
先貼錯誤資訊: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class p