Hi!All
有个关于 flume HttpSource 的问题想请问一下大家。
上下文:我想用 flume 的 httpsource 收集来自前端页面中埋点的信息。前端是 react,用 axios 发送 POST 请求。服务器上的 flume 版本是 1.6.0-cdh5.7.0,默认用的是 JSONHandler。
出现的问题是,document 上说 httpsource 接受的数据需要是 One way to create an event in the format expected by this handler is to use JSONEvent provided in the Flume SDK and use Google Gson to create the JSON string using the Gson#fromJson(Object, Type) method.需要 Java 实体对象的意思?
那么是不是需要我先把埋点得到的数据发到服务器转换成实体类,再交给 flume 使用?我总觉得这样略尴尬,需要这一部分转换的话,我宁愿选择其他的 flume source,何必需要 httpsource ?
不知道是不是我的理解有问题,还是操作不对。恳请各位大佬给点指导,或者提供其他什么方案🙏🏻 谢谢!!
1
AslanFong OP 是不是我的想法有问题呢?
直接用 postman 发送 POST 请求,结果是 500 Deserializer threw unexpected exception. Null |
2
AslanFong OP 刚刚在网上查找了一下相似的方案,大致就是先把 json 传给服务器,用 Gson 转换发给 flume。真的感觉这样略显尴尬?还有什么其他方案吗?从前端得到的怎么埋点数据怎么记 log ?
|
3
AnyISalIn 2019-03-12 11:22:07 +08:00 1
前端埋点不太了解,但如果直接发给 flume 意味着要暴露公网,肯定是不太安全的,转发安全性和扩展性都更好一些
|