hadoop插件sqoop使用案例

sqoop是hadoop项目中一个插件,可以把分布式文件系统hdfs中内容导入到mysql指定表里面,也可以把mysql中内容导入到hdfs文件系统中进行后续操作。

测试环境说明:

hadoop版本:hadoop-0.20.2

sqoop版本:sqoop-1.2.0-CDH3B4

java版本:jdk1.7.0_67

mysql版本:5.1.65

特别说明:

因为我安装的是hadoop-0.20.2版本,sqoop不支持这个版本,但是可以使用CDH3版本的hadoop,也可以通过copy相关文件,达到目的。

下载链接:

http://archive.cloudera.com/cdh/3/hadoop-0.20.2-CDH3B4.tar.gz

http://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4.tar.gz

sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-CDH3B4.jar,所以你需要下载hadoop- 0.20.2-CDH3B4.tar.gz,解压缩后将hadoop-0.20.2-CDH3B4/hadoop-core-0.20.2- CDH3B4.jar复制到sqoop-1.2.0-CDH3B4/lib中。

另外,sqoop导入mysql数据运行过程中依赖mysql-connector-java-*.jar,所以你需要下载mysql-connector-java-*.jar并复制到sqoop-1.2.0-CDH3B4/lib中

一 sqoop基本配置:

1)profile环境变量说明:

export JAVA_HOME=/usr/local/jdk1.7.0_67/
export JRE_HOME=/usr/local/jdk1.7.0_67/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export PIG_HOME=/usr/local/pig-0.9.2
#告诉pig客户端,本机hadoop配置文件在什么地方
export PIG_CLASSPATH=/usr/local/hadoop-0.20.2/conf
export HBASE_HOME=/usr/local/hbase-0.90.5
export HADOOP_HOME=/usr/local/hadoop-0.20.2
export SQOOP_HOME=/usr/local/sqoop-1.2.0-CDH3B4
export HIVE_HOME=/usr/local/hive-0.8.1
export PATH=$JAVA_HOME/bin:$PATH:/usr/local/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$PIG_HOME/bin:$PIG_CLASSPATHi:$HIVE_HOME/bin:$SQOOP_HOME/bin:$PATH

2)由于本测试案例不需要sqoop检查到hbase和zookeeper环境变量,所以要做一***释:

编辑文件/usr/local/sqoop-1.2.0-CDH3B4/bin/configure-sqoop,修改一下行,增加在注释:

#if [ ! -d "${HBASE_HOME}" ];then
#  echo "Error: $HBASE_HOME does not exist!"
#  echo ‘Please set $HBASE_HOME to the root of your HBase installation.‘
#  exit 1
#fi
#if [ ! -d "${ZOOKEEPER_HOME}" ]; then
#  echo "Error: $ZOOKEEPER_HOME does not exist!"
#  echo ‘Please set $ZOOKEEPER_HOME to the root of your ZooKeeperinstallation.‘
#  exit 1
#fi

3)创建sqoop库,平且授权:

mysql> GRANT ALL PRIVILEGES ON sqoop.* TO ‘sqoop‘@‘172.16.41.%‘ identified by ‘routon‘ with grant option;

mysql> flush privileges;

4)创建students表,并且插入数据:

mysql> create table students (id int not null primary key, name varchar(20), age int);

插入测试数据:

insert into studentsvalues(‘001‘,‘abc‘,29);
insert into students values(‘002‘,‘def‘,28);
insert into students values(‘003‘,‘aaaa‘,26);
insert into students values(‘004‘,‘efsaz‘,60);
insert into students values(‘005‘,‘kiass‘,63);

表中数据为:

mysql> select * from students;

+----+-------+------+

| id | name  | age  |

+----+-------+------+

|  2 | def   |   28 |

|  3 | aaaa  |   26 |

|  4 | efsaz |   60 |

|  5 | kiass |   63 |

+----+-------+------+

4 rows in set (0.00 sec)

5)在master设备node1节点上测试sqoop能否成功连接远程主机node29上的mysql,如何出现mysql库中创建的表,就说明已经连接成功了。

如图所示,通过sqoop,可以查看远端测试mysql数据库中students表;

6)将mysql数据库中数据导入到hdfs文件系统中:

在hdfs文件系统中查看是否已经导入成功:

说明mysql中国内容,已经导入到分布式文件系统中!

7)hdfs文件系统中文件导入到mysql

说明:数据导入前,先清空students表中数据,使用命令:delete from students;

在master服务器上执行sqoop命令,将hdfs文件内容,导入到mysql数据中students表内!

查看mysql表:

mysql> select * from students;

+----+-------+------+

| id | name  | age  |

+----+-------+------+

|  2 | def   |   28 |

|  3 | aaaa  |   26 |

|  4 | efsaz |   60 |

|  5 | kiass |   63 |

+----+-------+------+

4 rows in set (0.00 sec)

测试完成!

时间: 2024-10-11 03:18:56

hadoop插件sqoop使用案例的相关文章

Linux下为Eclipse安装hadoop插件

前提条件:在Linux系统中已经安装好了jdk和hadoop 本文的安装环境:1.arch Linux 2. hadoop1.0.1本地伪分布模式安装  3. Eclipse 4.5 1. 下载Eclipse 的Linux版本(http://www.eclipse.org/downloads/?osType=linux) ,选择IDE for Java EE,注意要下载Package,不要下载Installer. 2. 将下载好的压缩包解压的到软件的安装目录,此时Eclipse可以使用,后面的工

eclipse配置hadoop插件

eclipse配置hadoop插件:

ubuntu环境下eclipse的安装以及hadoop插件的配置

ubuntu环境下eclipse的安装以及hadoop插件的配置 一.eclipse的安装 在ubuntu桌面模式下,点击任务栏中的ubuntu软件中心,在搜索栏搜索eclipse 注意:安装过程需要输入用户密码. 二.eclipse的配置 待eclipse安装好以后,在命令行输入whereis eclipse 找到eclipse的安装路径 在文件目录下找到eclipse中的插件目录 然后在打开一个文件目录窗口找到hadoop/contrib/eclipse-plugin中的eclipse插件—

eclipse下安装Hadoop插件

whereis 文件名      结果:产生文件路径 find / -name 文件名    结果:产生文件路径 hadoop fs -mkdir hadoop fs -put 文件路径名   主机下的文件路径名 hadoop fs -ls /  查看当前路径下的所有文件 eclipse下安装hadoop插件 复制hadoop目录下的hadoop-eclipse-plugin-0.6.0.jar   JAR包放在/usr/local/eclipse/plugins中,重启eclipse 另外,我

Hadoop学习笔记0004——eclipse安装hadoop插件

Hadoop学习笔记0004--eclipse安装hadoop插件 1.下载hadoop-1.2.1.tar.gz,解压到win7下hadoop-1.2.1: 2.如果hadoop-1.2.1中没有hadoop-eclipse-plugin-1.2.1.jar包,就到网上下载下来: 3.关闭eclipse,然后将hadoop-eclipse-plugin-1.2.1.jar拷贝到eclipse安装目录下的eclipse-x.x\plugins文件夹下,重启eclipse 4.在eclipse中顶

eclipse集成使用Hadoop插件运行WordCount程序

云地址:https://pan.baidu.com/s/1CmBAJMdcwCxLGuCwSTcJNw 密码:qocw 前提条件:启动集群 ,配置好JDK和hadoop环境变量 有必要删除 虚拟机中的output文件 使用 [[email protected] sbin]# hadoop fs -rm -r /output Deleted /output [[email protected] sbin]# ll 给hadoop文件权限 [[email protected] sbin]# hado

Eclipse安装Hadoop插件配置Hadoop开发环境

一.编译Hadoop插件 首先需要编译Hadoop 插件:hadoop-eclipse-plugin-2.6.0.jar,然后才可以安装使用. 第三方的编译教程:https://github.com/winghc/hadoop2x-eclipse-plugin 二.放置插件并重启Eclipse 将编译好的插件hadoop-eclipse-plugin-2.6.0.jar放到Eclipse目录下的plugins文件夹中,并重启Eclipse 三.在Eclipse中配置插件 在Eclipse软件中,

kettle处理未发现hadoop插件问题

背景:将测试环境的中kettle转换传输到生产环境上出现hadoop插件无法获取的错误 Hadoop File Output.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : Error initializing step [Hadoop File Output] 原因: 迁到生产后,因为服务器带了主机名,所以在插件配置中使用主机名,而非ip地址. $ ls ${KETTLE_HOME}/

Hadoop hive sqoop zookeeper hbase生产环境日志统计应用案例(Hive篇)

3.Hive安装配置 3.1安装MySQL 在datanode5上安装MySQL # yum -y installmysql-server mysql # mysql mysql> grant all privileges on *.* [email protected]'10.40.214.%' identified by "hive"; mysql> flush privileges; 3.2安装hive # tar -zxf apache-hive-0.13.1-bi