文档章节

Sqoop环境变量异常

吐槽的达达仔
 吐槽的达达仔
发布于 2014/12/05 22:18
字数 372
阅读 74
收藏 0

在通过Oozie调用sqoop action从DB导入数据到hive表的时候,发现了异常。

28167 [Thread-30] INFO  org.apache.sqoop.hive.HiveImport  - FAILED: SemanticException [Error 10028]: Line 2:17 Path is not legal ''hdfs://cnsz141195.app.paic.com.cn:9000/user/hduser0401/table_name'': Move from: hdfs://cnsz141195.app.paic.com.cn:9000/user/hduser0401/table_name to: hdfs://CNSZ141195.app.paic.com.cn:9000/user/hive/warehouse/eshop.db/t_ahhs_product_info is not valid. Please check that values for params "default.fs.name" and "hive.metastore.warehouse.dir" do not conflict.
28202 [main] ERROR org.apache.sqoop.tool.ImportTool  - Encountered IOException running import job: java.io.IOException: Hive exited with status 44

 

使用sqoop命令行执行却没有报错。

 

我翻查了源代码,发现Hive会做一个强制校验,校验urischeme值,特别是在sqoop的时候,会生成一个Hive脚本,在做load data local inpath 的时候进行scheme的校验。

我也翻查了所有读取配置,都是配置成一样的DNS,大写的。

(Scheme也就是一个hdfs地址的NameNode地址部分。)

 

如果发现Scheme不一样,如,大小写不一致,就会出现Path is not legal Exception

 

机器名规范要求大写,那DNS也隐射的值也要一致大写吗?这样有可能会导致load data local失败的。

 

这里作为一个隐患提出来。

 

Hive的校验代码:

// only in 'local' mode do we copy stuff from one place to another.

    // reject different scheme/authority in other cases.

    if (!isLocal

        && (!StringUtils.equals(fromURI.getScheme(), toURI.getScheme()) || !StringUtils

        .equals(fromURI.getAuthority(), toURI.getAuthority()))) {

      String reason = "Move from: " + fromURI.toString() + " to: "

          + toURI.toString() + " is not valid. "

          + "Please check that values for params \"default.fs.name\" and "

          + "\"hive.metastore.warehouse.dir\" do not conflict.";

      throw new SemanticException(ErrorMsg.ILLEGAL_PATH.getMsg(ast, reason));

}

 

如果有知道的朋友请告诉我,怎么解决这个问题,谢谢~

 

本文转载自:http://dacoolbaby.iteye.com/blog/1904141

吐槽的达达仔
粉丝 28
博文 104
码字总数 7105
作品 0
广州
程序员
私信 提问
sqoop导入hive表报错Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly

软件运行环境:redhat 6 hadoop-2.6.0-cdh5.9.0 hive-1.1.0-cdh5.9.0 sqoop-1.4.6-cdh5.9.0 hive在主节点,sqoop在从节点上 sqoop导入hive表示报错 我的hive能正常启动, 网上说的环境变量的...

拖沓你天王
2016/12/09
5.7K
3
sqoop1.4.6离线部署于hadoop2.6之上与hive导入导出数据

1) .下载最新的sqoop1.4.6安装包 sqoop-1.4.6.binhadoop-2.0.4-alpha.tar 2) . 解压到/usr/local,跟hadoop同一级别 3) 添加环境变量 4) 编辑配置文件 -# cp sqoop-env-template.sh sqoop-en......

thinkpadshi
2017/08/28
0
0
Sqoop1配置过程

注:sqoop官网提供sqoop1和sqoop2两个版本,sqoop2不支持hive、hbase等。 配置过程 1、解压sqoop tar包,本例解压到/usr/local/sqoop-1.4.6目录。 2、复制/usr/local/sqoop-1.4.6/conf下的s...

源子
2016/10/13
19
0
Sqoop的安装与Mysql的数据导入到hdfs框架中

Sqoop简介 Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等...

魔法王者安琪拉
2018/08/20
23
0
hadoop、hive、sqoop安装备忘

由于各版本之间兼容问题 ,这里记下本次环境搭建遇到的各种问题。 版本: hadoop-2.6.0 hive-1..2.1 sqoop-1.99.7 简单说明一下,然后再记录各个模块的问题。 hadoop目前最新版是2.7.0,新特...

尚浩宇
2016/10/28
222
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
5
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部