日志平台究竟是什么


日志平台就是对整体服务日志的采集、处理、存储、展示的平台。

下面是一些知名的公司对日志平台的处理:

有赞统一日志平台初探

揭秘魅族日志分析平台建设

Airbnb的核心日志系统架构及主要系统模块的设计之道

如何利用开源技术构建日处理130亿+的实时日志平台
https://mp.weixin.qq.com/s?__biz=MzIzMzEzODYwOA==&mid=2665284466&idx=1&sn=2b06a529821734e36e26e642424f24fc

一个可供参考的日志平台:

07.png

阅读全文

开源分布式计算系统框架比较


分布式计算在许多领域都有广泛需求,目前流行的分布式计算框架主要有 Hadoop MapReduce, Spark Streaming, Storm。 这三个框架各有优势,现在都属于 Apache 基金会下的项目。
Hadoop MapReduce 是三者中出现最早,知名度最大的分布式计算框架,最早由 Google Lab 开发,使用者遍布全球,主要适用于大批量的集群任务,由于是批量执行,故时效性偏低,原生支持 Java 语言开发 MapReduce ,其它语言需要使用到 Hadoop Streaming 来开发。Spark Streaming 保留了 Hadoop MapReduce 的优点,而且在时效性上有了很大提高,中间结果可以保存在内存中,从而对需要迭代计算和有较高时效性要求的系统提供了很好的支持,多用于能容忍小延时的推荐与计算系统。Storm 一开始就是为实时处理设计,因此在实时分析/性能监测等需要高时效性的领域广泛采用,而且它理论上支持所有语言,只需要少量代码即可完成适配器。


阅读全文

写给她


如果有来生
我愿做一棵树
生长在你必经的路旁
站成永恒
没有悲欢的姿势
即使不能在尘土里安详
也要为你遮挡最后的希望

如果有来生
我愿做一阵风
轻抚过你心中的忧伤
不会徜徉
没有迷途的苦恼
即使不能唤醒春日芬芳
也要为你逐退冷冬残阳













阅读全文

OS X 下 iTerm2 实现 rz/sz 与服务器进行文件上传/下载


下载配置 iTerm2 的相关脚本:
这里是下载地址 https://github.com/mmastrac/iterm2-zmodem
将 iterm2-recv-zmodem.sh 和 iterm2-send-zmodem.sh 下载到本机,然后将它们放到/usr/local/bin目录下。
这两个文件赋予可执行权限:
chmod +x /usr/local/bin/iterm2-send-zmodem.sh /usr/local/bin/iterm2-recv-zmodem.sh

配置 iTerm2:
找到 iTerm2 的配置项:iTerm2的Preferences-> Profiles -> Default -> Advanced -> Triggers

配置项如下:

Regular ExpressionActionParametersInstant
rz waiting to receive.**B0100Run Silent Coprocess/usr/local/bin/iterm2-send-zmodem.shchecked
**B00000000000000Run Silent Coprocess/usr/local/bin/iterm2-recv-zmodem.shchecked

尤其注意最后一项,需要将 Instant 选项勾上,否则将不生效。
iterm2-lrzsz.png

阅读全文

Error: Can't set headers after they are sent


NodeJS 启动,出现如下报错。

Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:335:11)
at ServerResponse.header (/server/node/opstools/node_modules/express/lib/response.js:700:10)
at ServerResponse.send (/server/node/opstools/node_modules/express/lib/response.js:154:12)
at fn (/server/node/opstools/node_modules/express/lib/response.js:934:10)
at View.exports.renderFile [as engine] (/server/node/opstools/node_modules/ejs/lib/ejs.js:353:10)
at View.render (/server/node/opstools/node_modules/express/lib/view.js:93:8)
at EventEmitter.app.render (/server/node/opstools/node_modules/express/lib/application.js:566:10)
at ServerResponse.res.render (/server/node/opstools/node_modules/express/lib/response.js:938:7)
at /server/node/opstools/app.js:43:9
at Layer.handle_error (/server/node/opstools/node_modules/express/lib/router/layer.js:58:5)

阅读全文