错误说明:

  由于我的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

上下只有一个反斜杠的问题。