Flume采集Kafka并把數據sink到OSS

安裝環境

  1. Java環境, 略 (Flume依賴Java)
  2. Flume下載, 略
  3. Scala環境, 略 (Kafka依賴Scala)
  4. Kafak下載, 略
  5. Hadoop下載, 略 (不需要啟動, 寫OSS依賴)

配置Hadoop

下載JindoSDK(連接OSS依賴), 下載地址Github
解壓后配置環境變量

export JINDOSDK_HOME=/usr/lib/jindosdk-x.x.x
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/*

修改Hadoop配置, core-site.xml

<property><name>fs.oss.credentials.provider</name><value>com.aliyun.jindodata.oss.auth.SimpleCredentialsProvider</value></property><property><name>fs.oss.accessKeyId</name><value>xxxx</value></property><property><name>fs.oss.accessKeySecret</name><value>xxxx</value></property><property><name>fs.oss.endpoint</name><value>xxxxx</value></property><property><name>fs.AbstractFileSystem.oss.impl</name><value>com.aliyun.jindodata.oss.JindoOSS</value></property><property><name>fs.oss.impl</name><value>com.aliyun.jindodata.oss.JindoOssFileSystem</value></property>

配置可參考非EMR集群接入OSS-HDFS服務快速入門

配置Flume

此部分全文最關鍵, 請仔細看

  1. 基礎配置部分, Flume配置
a1.sources = source1
a1.sinks = k1
a1.channels = c1a1.sources.source1.type = org.apache.flume.source.kafka.KafkaSource
a1.sources.source1.channels = c1
a1.sources.source1.kafka.bootstrap.servers = xxx
a1.sources.source1.kafka.topics = test
a1.sources.source1.kafka.consumer.group.id = flume-sink-group # 消費者組, 云組件需要先在管理后臺創建
a1.sources.source1.kafka.consumer.auto.offset.reset = earliest # 從頭消費Kafka里數據a1.sinks.k1.channel = c1
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = oss://xxx/test/%Y%m%d # 自動按天分文件夾
a1.sinks.k1.hdfs.fileType=DataStreama1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 1000

可參考使用Flume同步EMR Kafka集群的數據至OSS-HDFS服務
2. 進階配置, 根據自己情況按需配置

a1.sinks.k1.hdfs.rollInterval = 600 # 5分鐘切換一個新文件
a1.sinks.k1.hdfs.rollSize = 134217728 # 或者文件大小達到128M則切換新文件
a1.sinks.k1.hdfs.rollCount = 0 # 寫入多少條數據切換新文件, 0為不限制

我這里是為了防止sink的文件過于零碎, 但因為使用的memory channel, 緩存時間過長容易丟數據
3. Flume JVM參數
默認啟動時-Xmx20m, 過于小了, 加大堆內存可以直接放開flume-env.shJAVA_OPTS的注釋

export JAVA_OPTS="-Xms100m -Xmx2000m -Dcom.sun.management.jmxremote"
  1. Channel問題
    如果對數據一致性要求較高, 可以把memory channel改用file channel, 請自行研究

XX啟動!

幾條測試命令

bin/zookeeper-server-start.sh config/zookeeper.properties # 啟動zookeeper
bin/kafka-server-start.sh config/server.properties # 啟動kafak服務bin/flume-ng agent --conf conf --conf-file conf/flume-conf.properties --name a1 # 啟動flumebin/kafka-console-producer.sh --topic flume-test --bootstrap-server localhost:9092 # 啟動一個生產者寫測試數據

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167417.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167417.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167417.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AWS CLI和EKSCTL的客戶端設置

文章目錄 小結過程安裝AWS CLI安裝EKSCTL在兩個Kubernetes Cluster之間切換 參考 小結 在Linux環境中對AWS CLI和EKSCTL的客戶端進行了設置。 過程 安裝AWS CLI 使用以下指令安裝&#xff1a; curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip"…

Qt實現繪制自定義形狀

先創建一個繼承自QWidget的控件&#xff1a; class MyPainterWidget:public QWidget 重寫各種鼠標方法&#xff1a; protected:void paintEvent(QPaintEvent *) override;void mousePressEvent(QMouseEvent *e) override; //按下void mouseMoveEvent(QMouseEvent *e) …

Xposed hook失敗的原因

最近對Xposed的比較感興趣&#xff0c;于是照著網上的給的例子做了一個Xposed模塊&#xff0c;但是在安卓模擬器上死活不生效&#xff0c;最后研究發現了兩個問題導致&#xff1a; 1、XposedBridgeAPI-89.jar 需要放到項目的lib目錄下&#xff0c;而不是libs目錄 2、XposedBr…

HEVC-SCC rgb file input

關鍵字 csc allocateCSCBuffer&#xff08;&#xff09;-> m_apcPicYuvCSC xCheckRDCostIntraCSC():更簡單&#xff0c; enum ACTRDTestTypes { ACT_TWO_CLR 0, //two color space ACT_TRAN_CLR 1, //transformed color space ACT_ORG_CL…

補充:如何提高selenium的運行速度?

已經通讀該專欄文章的同學,或許對UI自動化測試有了一定的掌握,細心的同學肯定會發現一個問題,當用例量達到一定程度時,對于整體用例的執行速度肯定不會很滿意。除了應用多線程運行用例的方式加快速度,有沒有其他的方法呢? 今天告訴大家,方法是有的!也是本人新學的。即…

[PyTorch][chapter 66][強化學習-值函數近似]

前言 現實強化學習任務面臨的狀態空間往往是連續的,無窮多個。 這里主要針對這種連續的狀態空間處理。后面DQN 也是這種處理思路。 目錄&#xff1a; 1&#xff1a; 原理 2&#xff1a; 梯度更新 3&#xff1a; target 和 預測值 4 流程 一 原理 強化學習最重要的是得到 …

c++版本opencv計算灰度圖像的輪廓點

代碼 #include<iostream> #include<opencv.hpp>int main() {std::string imgPath("D:\\prostate_run\\result_US_20230804_141531\\mask\\us\\104.bmp");cv::Mat imgGray cv::imread(imgPath, 0);cv::Mat kernel cv::getStructuringElement(cv::MORPH…

任意分圓環下的 RLWE:如何產生正確的噪聲分布

參考文獻&#xff1a; [Con09] Conrad K. The different ideal[J]. Expository papers/Lecture notes. Available at: http://www.math.uconn.edu/~kconrad/blurbs/gradnumthy/different.pdf, 2009.[LPR10] Lyubashevsky V, Peikert C, Regev O. On ideal lattices and learn…

thinkphp6生成PDF自動換行

composer安裝 composer require tecnickcom/tcpdf 示例 use TCPDF;public function info($university,$performance,$grade,$major){//獲取到當前域名$domain request()->domain();//實例化$pdf new TCPDF(P, mm, A4, true, UTF-8, false);// 設置文檔信息$pdf->SetCr…

Azkaban極簡使用文檔

登錄 地址: http://服務器ip:8081/, 用戶名密碼默認都是azkaban 構建項目流程 添加Project 編寫工作流文件 在本機新建文件夾如test, 創建一個flow20.project 文件, 內容 azkaban-flow-version: 2.0(固定步驟)編寫flow文件, 例如一個最基礎的實例 test1.flow nodes:- name…

JAVA序列化和反序列化

JAVA序列化和反序列化 文章目錄 JAVA序列化和反序列化序列化什么是序列化&#xff1f;為什么要進行序列化?如何將對線進行序列化具體實現過程 完整代碼 序列化 什么是序列化&#xff1f; 就是將對象轉化為字節的過程 為什么要進行序列化? 讓數據更高效的傳輸讓數據更好的…

Vue中的$nextTick

?&#x1f308;個人主頁&#xff1a;前端青山 &#x1f525;系列專欄&#xff1a;Vue篇 &#x1f516;人終將被年少不可得之物困其一生 依舊青山,本期給大家帶來vue篇專欄內容:vue中的$nextTick 目錄 &#x1f40b;Vue中的$nextTick有什么作用&#xff1f; &#x1f40b;一、…

socket can中是如何根據 結構體can_bittiming_const中的字段 計算bitrate的?

在 SocketCAN 中&#xff0c;can_bittiming_const 結構體用于表示 CAN 總線的定時參數&#xff0c;包括位率&#xff08;bitrate&#xff09;的計算。can_bittiming_const 包含了許多與位率相關的參數&#xff0c;其中一些參數用于計算實際的位率。 下面是一些與位率計算相關的…

小辰的智慧樹(差分+前綴和)

登錄—專業IT筆試面試備考平臺_牛客網 1.考慮總長度之和不能超過m&#xff0c;2考慮限制每棵樹高度不能低于ci&#xff0c;如果用二分最短輸能截到的高度&#xff0c;還要另外去判斷&#xff0c;是否每棵樹mid都能嚴格大于ci &#xff0c;這樣容易超時&#xff0c;換個角度&…

SQL常見函數整理 _ lead() 向下偏移

1. 用法 是在窗口函數中使用的函數&#xff0c;它用于獲取當前行的下一行&#xff08;后一行&#xff09;的某個列的值。具體來說&#xff0c;LEAD() 函數可用于查找任何給定行的下一行&#xff08;后一行&#xff09;的值&#xff0c;同時也可控制行數偏移量&#xff08;offse…

競賽選題 題目:基于LSTM的預測算法 - 股票預測 天氣預測 房價預測

文章目錄 0 簡介1 基于 Keras 用 LSTM 網絡做時間序列預測2 長短記憶網絡3 LSTM 網絡結構和原理3.1 LSTM核心思想3.2 遺忘門3.3 輸入門3.4 輸出門 4 基于LSTM的天氣預測4.1 數據集4.2 預測示例 5 基于LSTM的股票價格預測5.1 數據集5.2 實現代碼 6 lstm 預測航空旅客數目數據集預…

社交媒體廣告數據采集:Jsoup 的最佳實踐

搜狐是中國領先的綜合門戶網站之一&#xff0c;廣告在其網站上廣泛投放。為了了解搜狐廣告的策略和趨勢&#xff0c;采集和分析搜狐廣告數據變得至關重要。但是&#xff0c;搜狐網站的廣告數據通常需要通過網頁抓取的方式獲取&#xff0c;這就需要一個強大的工具來解析和提取數…

面試:線上問題處理

文章目錄 在處理線上問題時&#xff0c;你的排查思路和步驟是什么線上偶發性問題如何處理和跟蹤當系統出現大量錯誤日志時&#xff0c;你會如何分析和解決問題在高并發場景中&#xff0c;如何排查和解決線程安全問題當系統出現大規模的故障時&#xff0c;你的應急處理和恢復策略…

用友BIP與用友BIP對接集成銷售出庫列表查詢連通銷售出庫單個保存((紅字)銷售出庫審核-v)

用友BIP與用友BIP對接集成銷售出庫列表查詢連通銷售出庫單個保存(&#xff08;紅字&#xff09;銷售出庫審核-v) 源系統:用友BIP 面向數智化市場&#xff0c;用友傾力打造了全球領先的數智商業創新平臺——用友BIP&#xff0c;定位為數智商業的應用級基礎設施、企業服務產業的共…

虛擬機系列:(VMware Workstation Pro)Centos7下搭建Android開發環境及Android真機調試

一、Android SDK 安裝配置 1、環境 Linux系統為:Red Hat Enterprise Linux 7 64 位 ; 當然還需要Java環境,java 環境這里不敘述; 2、Android Studio 安裝 (1)下載位置: http://www.android-studio.org/ 我這里下載的:android-studio-ide-191.5977832-linux.tar.gz …