bash 实现了一个简单 分布式文本处理框架 欢迎拍砖

2012-09-10 18:41:22 +08:00
 ri0day
看到各种语言都有分布式处理数据的框架。我在github上却发现bash分布式处理数据的还真没有
于是自己折腾了一个。

https://github.com/ri0day/mafia

欢迎拍砖,或者提交代码.
3641 次点击
所在节点    Linux
5 条回复
yuelang85
2012-09-11 06:23:05 +08:00
敬仰。。。。
HowardMei
2012-09-11 09:19:05 +08:00
赞,请教一个问题:看到里面直接用echo的地方不少,在我看来有些危险,因为bash一般用来操作配置文件,很多字符串含命令符,容易发生悲剧。我不知道啥时会忘记给变量加引号被执行,于是用 cat /tmp/abcdefg << 吸进任意字符串,再用cat输出,来替代echo,不知你遇过类似问题没有。
ri0day
2012-09-11 10:04:30 +08:00
使用 echo 主要是为了便于传递变量.使用 nc 1.1.1.1 123 <<file 这种方式不利于调试 ,也不好传递变量进去.每次变量变化都要去修改这个文件了.
superisaac
2012-09-11 11:21:18 +08:00
赞,能简单介绍下原理吗?
ri0day
2012-09-11 11:54:37 +08:00
@superisaac 原理很简单.就是主控程序 根据传进来的参数 算出有多少个节点.要处理哪个文件.然后用split 将原始文件按照行数切分成"节点数"个分片.然后在节点上监听2个端口 一个用来接收数据.一个用来接收命令. 节点最后用传到节点的命令 处理收到的数据.然后发送给 接收结果的节点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/47377

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX