首先說明下問題的狀況, java
一、我storm 環境已經搭建完成,在本地測試wordcount是沒問題的, mysql
二、我在wordcount中加入一個MysqlBolt,此Bolt只是簡單的把 wordcount的結果存入mysql數據庫中,在本地模式測試測試時,徹底能夠把結果插入指定表。 sql
三、個人每一個storm 節點都已經把mysql-connector-java-5.1.23.jar 放到storm的lib目錄下。 數據庫
四、每一個節點都可以訪問指定數據庫,都已經開通相應權限 maven
五、而且在遠程模式下執行原始wordcount是沒問題的 測試
OK !!! url
問題是,在遠程模式下運行整合mysql的wordcount時 就出錯誤了,異常爲空指針,經過查找代碼,發如今得到mysql 鏈接 時異常。 spa
代碼以下:標紅處報異常 .net
String host_port = "slaver1:3306";
String database = "test";
String username = "root";
String password = "hello";
String url = "jdbc:mysql://" + host_port + "/" + database;
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
問題緣由:是使用maven打包時,沒有包括第三方jar包 指針
解決辦法:這裏就不贅述了,你們能夠參考http://blog.csdn.net/defonds/article/details/43233131