我正在尝试使用Java从Mysql加载到HDFS。我的Hadoop版本2.7.2和Sqoop 1.4.6。我收到以下异常
错误security.UserGroupInformation:PriviledgedActionException as:xxxx原因:org.apache.hadoop.ipc.RemoteException:服务器IPC 版本9无法与客户端版本4 16/11/16 17:40:57进行通信 错误工具.ImportTool:遇到运行导入作业的IOException: org.apache.hadoop.ipc.RemoteException:服务器IPC版本9不能 与客户端版本4进行通信
这是代码
public void importData() {
SqoopOptions options = new SqoopOptions();
options.setConnectString("jdbc:mysql://localhost:3306/Sample");
options.setUsername("UserName");
options.setPassword("Password");
options.setNumMappers(1);
options.setSqlQuery("SELECT * FROM categories WHERE $CONDITIONS limit 10");
options.setHadoopMapRedHome(HADOOP_HOME);
options.setTargetDir(WAREHOUSE_DIR);
int ret = new ImportTool().run(options);
}
我添加了以下依赖项
apache-logging-log4j.jar
commons.io_2.0.1.jar
commons-cli-1.2.jar
commons-configuration-1.7.jar
commons-httpclient-3.0.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
hadoop-core-1.2.1.jar
jackson-core-asl-1.8.8.jar
jackson-mapper-asl-1.8.8.jar
mysql-connector-java-5.1.34.jar
sqoop-1.4.6.jar
帮我解决这个问题。
答案 0 :(得分:0)
您正在使用Hadoop版本2.7.2。
但依赖它有hadoop-core-1.2.1.jar,这是针对hadoop 1.x
用hadoop-common.jar替换hadoop-core-1.2.1.jar
- > https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common/2.7.2
希望这会有所帮助