熱線電話:13121318867

登錄
首頁精彩閱讀Storm常見問題及解決方案總結
Storm常見問題及解決方案總結
2016-03-19
收藏

Storm常見問題及解決方案總結

Storm 是一個開源的、大數據處理系統,與其他大數據解決方案的不同之處在于它的處理方式。Hadoop 在本質上是一個批處理系統。數據被引入 Hadoop 文件系統 (HDFS) 并分發到各個節點進行處理。當處理完成時,結果數據返回到 HDFS 供始發者使用。Storm 支持創建拓撲結構來轉換沒有終點的數據流。不同于 Hadoop 作業,這些轉換從不停止,它們會持續處理到達的數據。

storm常見問題總結 storm異常問題 storm錯誤 storm問題解決方案


1、storm集群配置JDK環境變量問題

問題分析:在linux系統下配置JDK后一般修改/etc/profile值進行環境變量配置,但是安裝storm集群時會出現問題

問題解決:需要在/etc/.bashrc文件中也加入環境變量不然安裝的JDK無法使用。


2、supervisor相關問題

1)安裝后supervisor名稱相同并且啟動報錯問題

問題分析:supervisor.cji中有行代碼如下:

1

此代碼是在啟動supervisor時會找本機的hostname。

問題解決:修改每天機器的hostname與其相對應即可。


2)啟動Supervisor 時,出現java.lang.UnsatisfiedLinkError異常

具體錯誤信息如下:

1
2
3
啟動Supervisor 時,出現java.lang.UnsatisfiedLinkError:
/usr/local/lib/libjzmq.so.0.0.0: libzmq.so.1: cannot open shared object
file: No such file or directory 異常。

問題分析:未找到zmq 動態鏈接庫。

問題解決1:配置環境變量 export LD_LIBRARY_PATH=/usr/local/lib

問題解決2:編輯/etc/ld.so.conf 文件,增加一行:/usr/local/lib,再次執行即可

使用sudo ldconfig 命令,重啟Supervisor


3、發布topologies時,序列化log4j.Logger異常

問題分析:日志系統無法正確正確處理序列化操作

問題解決:使用slf4j替換log4j日志jar包處理


4、提交topology時出現如下異常:

1
2
3
4
5
6
Exception in thread "main" java.lang.IllegalArgumentException: xxx host is not set 
        at backtype.storm.utils.NimbusClient.(NimbusClient.java:30) 
        at backtype.storm.utils.NimbusClient.getConfiguredClient(NimbusClient.java:17) 
        at backtype.storm.StormSubmitter.submitJar(StormSubmitter.java:78) 
        at backtype.storm.StormSubmitter.submitJar(StormSubmitter.java:71) 
        at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:50)

問題分析:啟動nimbus沒有問題,異常原因是conf_dir路徑設置錯誤

問題解決:修改bin/storm腳本,增加如下代碼:

1
CONF_DIR = STORM_DIR + "/conf"


5、在使用storm0.7一下版本時,時間長會出現outofmenmory

問題分析:低于storm0.7版本的沒觸發一個tuple會創建一個hashmap存儲該tuple所在的消息樹結構,長時間會給gc造成巨大的壓力導致出現outofmemory

問題解決:升級storm版本即可解決問題。


6、storm連接mysql數據庫報異常

連接遠程mysql數據庫時報如下錯誤:

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

問題分析:可能是沒有給其IP訪問Mysql數據庫權限導致

問題解決:登錄mysql數據庫,執行如下命令:

1
grant all on *.* to root@'%' identified by "123456";

此操作是給任意IP地址賦予訪問權限(命令中*.*是通配任何IP,可指定IP 用戶名:root 密碼:123456)

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢