java - 关于flume接受大量数据的问题
天蓬老师
天蓬老师 2017-04-18 10:23:58
0
1
523

现在的情况:

1.数据源很大 : 设备产生的mqtt报文,通过mosquitto发布,现阶段设备量在20W(其实不到,19W接近20W的样子),上报间隔为20s,其中如果设备状态突然变化,也会发一次报文.

2.策略 : 因为报文是自定义报文,需要拆包解包,因此在flume agent处开发了特殊的source,里面集成mqtt_client,通过订阅+/#收集所有上报的日志,将报文解析成json,投放到channel,后面还接了3种sink,(1) 扔到kafka,kafaka后面是storm. (2)扔hdfs.(3)扔arvo.

3.现在的问题 :

  1. 现在flume是单agent作为source订阅全部topic的,偶尔会出现flume挂掉的情况,测试那边说是mosquitto数据发送量过大的问题.

  2. 现在mosquitto经过优化(epoll+改句柄等),单台机器就能支撑所有设备接入了,但是设备接入量可能会继续上升(现在关闭了新设备接入的业务),因此以后可能会做mosquitto集群,简单来说就是mosquitto集群会产生更大的数据量,flume
    source agent负担会更重.

4.请问上面两个问题解决的思路

如何做一个flume集群,需要有这样的特点 : 这个集群中所有的数据入口(即flume source agent , 即那个mosquitto的客户端)同时只能有一个获取到数据(即并联单点问题),例如3个数据入口,不可能记录三次,而且有负载均衡的策略(机器质量不一),failover策略(服务器需要维护)

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(1)
黄舟

Saya tidak pernah menggunakan flume barangan mewah sedemikian.
Saya rasa pengimbangan beban anda boleh dilakukan menggunakan klien, yang serupa dengan redismod kluster.
Pelanggan memutuskan untuk menyerahkan mesej kepada kemasukan data tertentu.

kira-kira seperti yang ditunjukkan dalam gambar di atas Perkhidmatan flume didaftarkan di pusat perkhidmatan (zookeeper, consul) Pelanggan mendapatkan senarai perkhidmatan dan mengira nilai hash berdasarkan a atribut khusus untuk menentukan 目标服务 Data diserahkan kepada pelayan ini.
Jika terdapat masalah dengan mesin flumedown, pusat servis akan menemui dan memadamkan perkhidmatan yang sepadan, dan senarai perkhidmatan pelanggan juga harus dipadamkan dengan sewajarnya.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!