錯誤說明:
由於我的hadoop的集群是用cloudera manager在線自動安裝的,因此他們的安裝路徑必須遵循cloudera的規則,這里只有查看cloudera的官方文檔了,請參考:http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_ig_jdbc_driver_install.html
按照官網的說法,在對應的/var/lib/sqoop目錄(官網上說不要放在 /opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/lib/sqoop/lib/ 目錄下,原因是在cdh的版本升級的時候,該目錄會重寫,之前添加的jar都會被刪除。)下將相應的驅動包添加進去,然后連接數據庫進行測試,
如oracle則執行sqoop list-databases --connect jdbc:oracle:thin:@//192.168.27.235:1521/ORCL --username DATACENTER -P 來測試是否能正確連接數據庫
如mysql則執行sqoop list-databases --connect jdbc:mysql://192.168.19.88:3306 --username clear -P 來測試是否能正確連接數據庫
然而下面出現了問題:
問題:連接oracle的時候出現nullpointException的錯誤。錯誤如下所示
一開始我以為是我自己是我添加驅動包的位置的問題,但是若出現添加驅動包 錯誤的問題的話,報的錯誤應該不是nullpointException,而是:
后來知道自己在輸入命令行的時候出現了錯誤:
sqoop list-databases --connect jdbc:oracle:thin:@//192.168.27.235:1521:ORCL --username DATACENTER -P
正確的應該是
sqoop list-databases --connect jdbc:oracle:thin:@//192.168.27.235:1521/ORCL --username DATACENTER -P
上下只有一個反斜杠的問題。