--- title: Apache Flume 實作紀錄 tags: Apache, Flume description: Apache Flume 實作記錄 --- # Apache Flume 實作記錄 ## Apache Flume Apache Flume 是高可用、高可靠的分散式日誌收集系統,與flume、hadoop、Hbase、Hive 等等具有高相融性。 ## Flume installation ***注意:您的本地環境必須安裝 Java 8+*** 先去[flume](https://downloads.apache.org/flume/)網站下載最新版本的安裝包,本次測試下載版本為1.9.0。  ``` $ wget https://downloads.apache.org/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz $ tar -zxvf apache-flume-1.9.0-bin.tar.gz $ mv apache-flume-1.9.0-bin flume ``` 進入 flume 下的 conf 目錄,將底下的 flume-env.sh.template 檔案複製一份並改名為 flume-env.sh ``` $ cd flume/ $ cp conf/flume-env.sh.template conf/flume-env.sh $ nano conf/flume-env.sh ``` 在flume-env.sh中新增JAVA_HOME。 ``` export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ``` 安裝netcat測試工具 ``` $ apt-get install -y netcat ``` 建立配置檔案 ``` $ nano conf/flume-netcat-logger.conf ``` flume-netcat-logger.conf 內容如下 ``` a1.sources = r1 a1.sinks = k1 a1.channels = c1 a1.sources.r1.type = netcat a1.sources.r1.bind = localhost a1.sources.r1.port = 44444 a1.sinks.k1.type = logger a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 ``` ### 測試 開啟flume開始監聽資料 ``` $ bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/flume-netcat-logger.conf -Dflume.root.logger=INFO,console ``` * conf: 表示配置檔案儲存在conf/目錄,--conf也可以使用-c表示。 * name: a1表示給agent起名為a1,--name也可以使用-n代替。 * conf-file: flume本次啟動讀取的配置檔案是在conf目錄下的flume-netcat-logger.conf檔案。 * Dflume.root.logger:-D表示flume執行時動態修改flume.root.logger引數屬性值,並將控制檯日誌列印級別設定為INFO級別。日誌級別包括:log、info、warn、error。 啟動port傳送資料 ``` $ nc localhost 44444 ``` ``` > test00 OK > test01 OK > test02 OK ```  在監聽器頁面可以看到已經接收到了資料:  --- ## 參考 * https://iter01.com/575347.html ## Thank you! :dash: You can find me on - GitHub: https://github.com/shaung08 - Email: a2369875@gmail.com
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up