Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,大数据实时处理解决方案的应用日趋广泛,目前已是分布式技术领域最新爆发点,而Storm更是流计算技术中的佼佼者和主流。
1
Q:遇到java.lang.NoClassDefFoundError: clojure.core.protocols$错误提示,这是什么原因
A:这是因为JDK的版本不匹配,安装虚拟机时系统自带了一个jdk.1.5.0。解决的办法是检查JDK版本,卸载系统自带的JDK,使用自己安装的JDK版本。重新执行一遍,就可以解决问题了。
Q:Storm如何连接MySQL?
A:连接远程MySQL报如下错误:
message from server:"Host FILTER" is not allowed to connect tothis MySQL server
解决方案:
很可能是没有给其他IP访问你数据库的权限,可以试试在MySql数据库的主机上,在MySQL命令行中输入以下命令:
这样,给任何IP都赋予了访问的权限,任何IP都能以用户名:root ,密码:111111,来进行局域网的访问!
(命令中*.*是通配任何IP,你也可以指定IP)
Q:metaq启动是,总出现服务拒绝连接,请问如何解决?
A:解决的方法是在metaq安装目录下,删掉之前的日志文件,测试网络是否正常连接。将之前服务的metaq进程kill掉,然后重启。
Q:一个topology中可不可以有多个spout?
A:关于这个问题,我是这样考虑的:实际应用中,如果我们每一条应用都创建一个topology的话,未免也太夸张了。如果是同一个应用,同一个数据来源,但是想分几种方式对这个数据做处理的话,这时候就应该是建多个spout了,让这些spout并行去读数据,然后交给订阅这个spout的bolt去处理就行,没必要一种处理方式建一个topology。
Q:在写启动storm集群的shell脚本时遇到的一个实际问题。shell脚本运行时报错误:/bin/bash^M: badinterpreter,这是怎么回事?
A:出现原因:Windows上写的脚本,直接拷贝到Linux系统上运行,这是由于格式不兼容所导致的。
解决方案(一):
1. 比如文件名为myshell.sh,vim myshell.sh
2. 执行vim中的命令 : set ff?查看文件格式,如果显示fileformat=dos,证明文件格式有问题。
3. 执行vim中的命令 :set fileformat=unix将文件格式改过来就可以了,然后:wq保存退出就可以了。
解决方案(二):
或者使用最笨的方法:将Windows下编辑好的脚本通过txt文本格式转换,然后在拷贝到Linux下。如果是使用Notepad编辑器进行编辑的话,可以在菜单栏上选择“编辑”—“档案格式转换”—“转换为 UNIX 格式”。
福利
扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
推荐阅读:
OpenStack入门科普,看这一篇就够啦!
优秀工程师必备的一项技能,你解锁了吗?
被窦唯夸奖“音乐好”的刺猬乐队成员竟然是程序员
乔纳森离开苹果;李彦宏被泼水;Windows 公开 Linux 内核源代码 | 开发者周刊
以太坊暗网? 这群北大才子做到了...
智能文本信息抽取算法的进阶与应用
人工智能六十年技术简史
真香,朕在看了!