使用任何sqoop命令时出现Sqoop错误

时间:2016-10-19 10:46:55

标签: mysql hadoop sqoop

我正在使用hadoop 2.6.0,现在我正在尝试sqoop-1.4.5.bin__hadoop-2.0.4-alpha.tar.gz。我正在使用

获取sqoop版本
sqoop version
2016-10-19 16:11:21,722 [myid:] - INFO  [main:Sqoop@92] - Running Sqoop version: 1.4.5
Sqoop 1.4.5

但如果我正在尝试任何sqoop命令,它会给出以下异常,

sqoop list-tables --connect jdbc:mysql://localhost/test --username root --password hadoop


Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.conf.Configuration.addDeprecations([Lorg/apache/hadoop/conf/Configuration$DeprecationDelta;)V

我也将mysql连接器jar复制到了sqoop / lib。我无法找到原因。有人有任何想法请分享我如何解决这个问题。

5 个答案:

答案 0 :(得分:1)

sqoop list-tables --connect jdbc:mysql://localhost:3306/databasename

这是列出特定数据库中所有表的正确查询,默认情况下mysql的端口号为 3306

答案 1 :(得分:0)

您需要在MySQL中创建用户

CREATE USER 'usrname'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'usrname'@'%' WITH GRANT OPTION;

现在您可以运行查询

sqoop list-tables --connect jdbc:mysql://192.168.1.18/mysql  --username 
usrname -P

答案 2 :(得分:0)

  1. sqoop help //这将显示所有必需的命令
  2. 显示所有数据库 sqoop list-databases --connect jdbc:mysql:// localhost / --username root --password cloudera
  3. 显示所有表格 sqoop list-tables --connect jdbc:mysql:// localhost / databasename --username root --password cloudera

答案 3 :(得分:0)

您应该通过添加到bashrc文件来全球化sqoop路径。步骤如下。

  1. 打开终端

  2. 打开。 bashrc文件

  3.   

    sudo gedit~ /。 bashrc中

    1. 在其中添加sqoop home dir路径如下。
    2.   

      SQOOP_HOME = / absolute / path / of / sqoop

           

      PATH = $ PATH:$ SQOOP_HOME / bin

      1. 然后保存并关闭它。在终端类型。
      2.   

        的bash

        1. 现在尝试运行sqoop命令。

答案 4 :(得分:0)

$ ps -ef | grep -i管理器

您可以找到节点管理器是否工作

$ ps -fu hdfs

它将显示namenode数据节点和辅助namenode是否工作

$ ps -fu纱

它将显示节点管理器和资源管理器是否工作

如果所有有意义的工作都将有效,那么。