Sqoop-1.4.6.bin__hadoop-2.0.4-alpha 环境搭建
一、Sqoop 环境搭建
1.下载安装包及解压
sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
1)拷贝sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 到 /usr/sqoop 目录下
2)使用tar -xzvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
3)执行命令:cp -r ./sqoop-1.4.6.bin__hadoop-2.0.4-alpha/* ./ 把/usr/sqoop/sqoop-1.4.6.bin__hadoop-2.0.4-alpha 目录下内容拷贝到/usr/sqoop目录下
4)执行命令:rm -rf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 移除文件 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
5)执行命令:rm -rf sqoop-1.4.6.bin__hadoop-2.0.4-alpha 移除目录 sqoop-1.4.6.bin__hadoop-2.0.4-alpha
2.配置环境变量和配置文件
1)进入/usr/sqoop/conf目录,执行命令 cp sqoop-env-template.sh sqoop-env.sh 复制一份sqoop-env.sh 文件
2)进入/usr/sqoop/conf目录,执行命令 vi sqoop-env.sh 在sqoop-env.sh中添加如下代码:
export HADOOP_COMMON_HOME=/usr/hadoop
export HADOOP_MAPRED_HOME=/usr/hadoop/share/hadoop/mapreduce
export HBASE_HOME=/usr/hbase
export ZOOCFGDIR=/usr/zookeeper
(如果数据读取不设计hbase和hive,那么相关hbase和hive的配置可以不加,如果集群有独立的zookeeper集群,那么配置zookeeper,反之,不用配置)。3.copy需要的lib包到Sqoop/lib
所需的包:mysql的jdbc包 mysql-connector-java-5.1.32-bin.jar(或Oracle的jdbc包等)
4.添加环境变量
执行命令:vi /home/hadoop/.bash_profile 添加环境变量
export SQOOP_HOME=/usr/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
export LOGDIR=$SQOOP_HOME/logs/
5.测试验证
--列出mysql数据库中的所有数据库
进入/usr/sqoop/bin目录,执行命令:sqoop list-databases --connect jdbc:mysql://192.168.160.1:3306 --username root --password dbAdmin2015
报如下错误:
解决方案:
在Mysql 命令控制台,登陆后执行命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.160.131' IDENTIFIED BY 'dbAdmin2015' WITH GRANT OPTION;
参考URL:http://www.jb51.net/article/28161.htm
再次执行验证命令,成功,如下图所示:
连接mysql并列出zkdb数据库中的表
进入/usr/sqoop/bin目录,执行命令:
sqoop list-tables --connect jdbc:mysql://192.168.160.1:3306/zkdb?characterEncoding=UTF-8 --username root --password dbAdmin2015
二、将数据从Mysql 导出到 HDFS
将Mysql 的test数据库中的CFG_BIS_INF 表导出到 HDFS 中,执行如下命令:
sqoop import --connect jdbc:mysql://192.168.160.1:3306/test?characterEncoding=UTF-8 --username root --password dbAdmin2015 --target-dir '/sqoop/cfg_bis_inf' --table cfg_bis_inf
执行结果如下:
ZOOM 云视频会议网站:http://www.zoomonline.cn/