我正在尝试使用sqoop从SQL服务器导入数据。 然后sqoop作业失败,出现java.lang.ClassNotFoundException:找不到类
我已经检查了/ tmp目录,在sqoop下 - 我可以看到.jar文件以及.class和.java文件..
可能是ClassNotFound异常的原因,下面是完整的错误
{{1}}
此致 哈
答案 0 :(得分:1)
我遇到了同样的问题,但现在得到了解决方案,我已经观察到你的错误log.your hadoop处于本地模式,因为它清楚地显示它运行localjobrunner,只是尝试检查你的hadoop模式,如果它在伪分布模式然后罚款,如果它处于本地模式,则使其成为伪分布式模式
采取以下步骤:
**Pseudo-Distributed Operation**
Hadoop can also be run on a single-node in a pseudo-distributed mode where each Hadoop daemon runs in a separate Java process.
Configure parameters as follows:
**1.etc/hadoop/mapred-site.xml:**
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.admin.user.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_COMMON_HOME</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_COMMON_HOME</value>
</property>
</configuration>
**2. etc/hadoop/yarn-site.xml**
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
**3. Start ResourceManager daemon and NodeManager daemon:**
$ sbin/start-yarn.sh
现在运行你的导入命令......
离。
balasaheb@balasaheb:~$ sqoop import --connect jdbc:mysql://localhost/sqooptest --username root --table emppk --split-by id
此致 Balasaheb
答案 1 :(得分:0)
使用'--bindir'选项,将查询代码编译到同一位置