sqoop从mysql导入hdfs数据过程遇到的问题

1.由于没启动dfs报错laocalhost:9000端口拒绝访问:

使用jps指令查看集群的的启动状态发现时namenode,datenode未启动

使用start-dfs.sh   启动hdfs

2.java.lang.IllegalArgumentException: The ServiceName: mapreduce-shuffle set in yarn.nodemanager.aux-services is invalid.The valid service name should only contain a-zA-Z0-9_ and can not start with numbers

报错

问题    由于yarn-site.xml中的


   yarn.nodemanager.aux-services
   mapreduce_shuffle

value属性配置错误     下划线


3.java.io.FileNotFoundException: File /hadoop/hadoop/hdfs/nm-local-dir/usercache/root/appcache/application_1491817276681_0001/container_1491817276681_0001_02_000001 does not exist

报错

原因是   yarn的

yarn.nodemanager.local-dirs

参数解释:中间结果存放位置,类似于1.0中的mapred.local.dir。注意,这个参数通常会配置多个目录,已分摊磁盘IO负载。

默认值:${hadoop.tmp.dir}/nm-local-dir


默认值是上面的位置    而自己配的本地的hsfs的文件存储目录是在hdfs-site.xml中

配置的文件地址是在/tmp

所以报错文件未找到


4 . INFO mapreduce.Job: Task Id : attempt_1491824336267_0001_m_000002_2, Status : FAILED
Container launch failed for container_1491824336267_0001_01_000010 : org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: The auxService:mapreduce_shuffle does not exist


原因 yarn.nodemanager.aux-services 下的mapreduce_shuffle  不存在   查看yarn-site.xml发现配置文件写错了   没有写


重新启动yarn

jps

运行  sqoop没有错误

其中sqoop的指令是

sqoop --option-file a.conf   执行一个配置文件

配置文件的内容

import
--append
-m
3
--connect
jdbc:mysql://localhost/test
--username
root
--password
123456
--table
a
--target-dir
/tmp/a
--columns
id
--where
'id>2'


你可能感兴趣的:(hadoop)