我是靠谱客的博主 舒心钥匙,最近开发中收集的这篇文章主要介绍本地搭建hadoop集群--sqoop的安装.1.4.7 使用db2,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

安装

1、解压tar包

2、进入conf目录

3、修改配置文件

cp -a sqoop-env-template.sh sqoop-env.sh

vm sqoop-env.sh

 

export HADOOP_COMMON_HOME=/opt/module/hadoop-2.7.6
export HADDOP_MAPRED_HOME=//opt/module/hadoop-2.7.6
export HIVE_HOME=/opt/module/apache-hive-2.3.3-bin
export ZOOCFGDIR=/opt/module/zookeeper-3.4.12/conf
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.12
 

4、导入jar包。

rdbms用的啥导入啥。我用的是db2

所以拷贝3个jar包

db2jcc.jar

db2jcc4.jar

db2jcc_license_cu.jar

 

5、分发文件

6、命令测试

sqoop list-databases --connect jdbc:db2://10.xxx.xxx.xx:port/xxx --username username--password password

 

打地鼠模式

1、Dorg.apache.sqoop.splitter.allow_text_splitter=true 

ERROR tool.ImportTool: Import failed: java.io.IOException: Generating splits for a textual index column allowed only in case of "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" property passed as a parameter
    at org.apache.sqoop.mapreduce.db.DataDrivenDBInputFormat.getSplits(DataDrivenDBInputFormat.java:204)
    at org.apache.hadoop.mapreduce.JobSubmitter.writeNewSplits(JobSubmitter.java:301)
 
Caused by: Generating splits for a textual index column allowed only in case of "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" property passed as a parameter
    at org.apache.sqoop.mapreduce.db.TextSplitter.split(TextSplitter.java:67)
    at org.apache.sqoop.mapreduce.db.DataDrivenDBInputFormat.getSplits(DataDrivenDBInputFormat.java:201)
    ... 23 more
解决方案:

在 sqoop 脚本中 当使用--m 处理并发数的时候一定会使用 --split-by

字段如果是varchar类型则会报错,因为 sqoop 会 select max 和 min 这个分段字段 查询有多少个。然后分配给每个 datanode

最有效的方案是 更换 分组字段,或者在脚本上加入这句话

import
-Dorg.apache.sqoop.splitter.allow_text_splitter=true
--connect
jdbc:db2://xx:xx/xx
--username
xxx
--password
xxx
--table
bigdatatest
--split-by
xh
--m
4
--hive-database
yzx
--hive-table
bigdatatest_hive
--hive-overwrite
--hive-import

2、java.lang.ClassNotFoundExcpetion:org.apache.hadoop.hive.conf.HiveConf

make sure HIVE_CONF_DIR is set correctly

网上大部分都是 cdh的 设置 hadoop classpath 目录

cdh 的lib都在同一个目录下所以可以解决。

如果不用cdh 或者 hdp 则可以

将hive lib下的 hive-exec-版本.jar 包 copy到 sqoop 的 lib 目录下即可解决

最后

以上就是舒心钥匙为你收集整理的本地搭建hadoop集群--sqoop的安装.1.4.7 使用db2的全部内容,希望文章能够帮你解决本地搭建hadoop集群--sqoop的安装.1.4.7 使用db2所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部