sqoop安装及使用

官网下载tar -zxvf

修改conf中的 sqoop-env-template.sh 为sqoop-env.sh

添加相应的地址

然后将数据库驱动链接包放到sqoop lib目录下,

但是我没放也没报错

bin/sqoop 可能会出现

Error: Could not find or load main class org.apache.sqoop.Sqoop

是因为缺少jar包所致,

1.sqoop-1.4.x.tar.gz在1.4.5以上的安装包已经没有了这个jar包,必须下载sqoop-1.4.6.bin_hadoop-2.0.4-alpha.tar.gz这个安装包。

2.然后解压这个安装包,打开安装包取出sqoop-1.4.6.jar放在hadoop的lib下

但可能还是会出错

所以直接修改bin/sqoop脚本

cat sqoop最下面一行为

exec ${HADOOP_COMMON_HOME}/bin/hadoop org.apache.sqoop.Sqoop "$@"

修改为

exec ${HADOOP_COMMON_HOME}/bin/hadoop jar ${HADOOP_COMMON_HOME}/sqoop-1.4.5.jar org.apache.sqoop.Sqoop "$@"

即显示指定jar包位置,

问题解决



其实只要下载解压alpha版本的就行


sqoop 连接mysql可能会出现access deny root@localhost错误

原因mysql没有配置可访问的ip,即没有远程登录,但我以前配置了

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;

flush privileges;
还有一种哭笑不得的原因,直接输入密码 --password xxx需加引号!!! mmp -P后面输入密码-P

启动

bin/sqoop import --connect jdbc:mysql://ip:3306/test --username root -P --table user --m 1

一定是ip地址域名会出错,ip 最后的m是mapreduce的数量

导入到指定hdfs目录 --target-dir

导入到hive中

bin/sqoop import --connect jdbc:mysql://172.16.235.128/test --username root -P --table user --hive-import --m 1

然后会报错

Could not load org.apache.hadoop.hive.conf.HiveConf.(心里一万个草泥马)

一个sqoop这么多错

原因没有配置hive环境,

导入到hive必然依赖hive配置

/etc/profile中添加

export HIVE_HOME=/opt/hive1.2.2
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HADOOP_CLASSPATH=$HADOOP_HOME/lib/native/*:$HIVE_HOME/lib/*:$HIVE_HOME/conf


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值