Storm精华问答 | Storm如何连接MySQL?

640?wx_fmt=png

Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,大数据实时处理解决方案的应用日趋广泛,目前已是分布式技术领域最新爆发点,而Storm更是流计算技术中的佼佼者和主流。


640?wx_fmt=gif1

Q:遇到java.lang.NoClassDefFoundError: clojure.core.protocols$错误提示,这是什么原因


A:这是因为JDK的版本不匹配,安装虚拟机时系统自带了一个jdk.1.5.0。解决的办法是检查JDK版本,卸载系统自带的JDK,使用自己安装的JDK版本。640?wx_fmt=png重新执行一遍,就可以解决问题了。


640?wx_fmt=gif2

Q:Storm如何连接MySQL?


A:连接远程MySQL报如下错误:

message from server:"Host FILTER" is not allowed to connect tothis MySQL server

解决方案:

很可能是没有给其他IP访问你数据库的权限,可以试试在MySql数据库的主机上,在MySQL命令行中输入以下命令:640?wx_fmt=png

这样,给任何IP都赋予了访问的权限,任何IP都能以用户名:root ,密码:111111,来进行局域网的访问!

(命令中*.*是通配任何IP,你也可以指定IP)


640?wx_fmt=gif3

Q:metaq启动是,总出现服务拒绝连接,请问如何解决?


A:解决的方法是在metaq安装目录下,删掉之前的日志文件,测试网络是否正常连接。将之前服务的metaq进程kill掉,然后重启。


640?wx_fmt=gif4

Q:一个topology中可不可以有多个spout?


A关于这个问题,我是这样考虑的:实际应用中,如果我们每一条应用都创建一个topology的话,未免也太夸张了。如果是同一个应用,同一个数据来源,但是想分几种方式对这个数据做处理的话,这时候就应该是建多个spout了,让这些spout并行去读数据,然后交给订阅这个spout的bolt去处理就行,没必要一种处理方式建一个topology。 


640?wx_fmt=gif5

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 格式”。


640?wx_fmt=png


福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值