大数据-玩转数据-Sqoop安装部署及应用

大数据-玩转数据-Sqoop安装部署及应用

说明:
Sqoop是apache旗下的一款 ”Hadoop和关系数据库之间传输数据”的工具
导入数据 import
将MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统
导出数据 export
从Hadoop的文件系统中导出数据到关系数据库。

Sqoop安装部署

1、下载安装包

https://attic.apache.org/projects/sqoop.html
下载 sqoop-1.99.7-bin-hadoop200.tar.gz
大数据-玩转数据-Sqoop安装部署及应用_第1张图片

2、上传安装包到服务器hadoop1上

sqoop就是一个工具,只需要安装一台就可以了,一般跟hive安装在同一台服务器上

3、解压安装包到指定的规划目录

[root@hadoop1 ~]# cd /home/hadoop/
[root@hadoop1 ~]# tar -zxvf sqoop-1.99.7-bin-hadoop200.tar.gz

4、改名

[root@hadoop1 ~]# mv sqoop-1.99.7-bin-hadoop200.tar.gz sqoop

5、修改配置

[root@hadoop1 ~]# vi /home/hadoop/.bashrc
export HADOOP_COMMON_HOME=$HADOOP_HOME/share/hadoop/common
export HADOOP_HDFS_HOME=$HADOOP_HOME/share/hadoop/hdfs
export HADOOP_MAPRED_HOME=$HADOOP_HOME/share/hadoop/mapreduce
export HADOOP_YARN_HOME=$HADOOP_HOME/share/hadoop/yarn


export SQOOP_HOME=/home/hadoop/sqoop
export CATALINA_HOME=${SQOOP_HOME}/server
export LOGDIR=${SQOOP_HOME}/logs
export SQOOP_SERVER_EXTRA_LIB=${SQOOP_HOME}/extra
$PATH=.:$SQOOP_HOME/bin:$PATH

生效

[root@hadoop1 ~]# source /home/hadoop/.bashrc

创建extra目录,把mysql的驱动jar文件复制到这个目录下

[root@hadoop1 sqoop] # mkdir extra

配置Hadoop代理访问

因为sqoop访问Hadoop的MapReduce使用的是代理的方式,必须在Hadoop中配置所接受的proxy用户和组。
找到Hadoop的core-site.xml配置文件(本例是/home/hadoop/apps/hadoop-2.10.1/etc/hadoop/core-site.xml):


  hadoop.proxyuser.$SERVER_USER.hosts</name>
  *</value>
</property>

  hadoop.proxyuser.$SERVER_USER.groups</name>
  *</value>
</property>

S E R V E R U S E R 是 运 行 S q o o p 2 S e r v e r 的 系 统 用 户 , 本 例 我 使 用 了 h a d o o p 用 户 运 行 s e r v e r , 所 以 将 SERVER_USER是运行Sqoop2 Server的系统用户,本例我使用了hadoop用户运行server,所以将 SERVERUSERSqoop2Server使hadoopserverSERVER_USER代替为hadoop。
注意:保证你的用户id大于1000(可用id命令查看),否则作为系统变量运行时,可能需要其他配置,参照官网。

sqoop核心配置文件
sqoop.properties

org.apache.sqoop.submission.engine.mapreduce.configuration.directory=/home/hadoop/apps/hadoop-2.10.1/etc/hadoop
  
org.apache.sqoop.security.authentication.type=SIMPLE  
org.apache.sqoop.security.authentication.handler=org.apache.sqoop.security.authentication.SimpleAuthenticationHandler  
org.apache.sqoop.security.authentication.anonymous=true 

6、验证配置是否有效
[root@hadoop1 bin]# sqoop2-tool verify
大数据-玩转数据-Sqoop安装部署及应用_第2张图片

[root@hadoop1 bin]# ll/home/hadoop/sqoop/server/lib/derby*

在这里插入图片描述

[root@hadoop1 bin]# ll /home/hadoop/hive/lib derby*

在这里插入图片描述
是sqoop 的derby 的版本太低,将hive中的derby 拷贝到sqoop/lib 下(将原有版本删除)

[root@hadoop1 bin]# cp /home/hadoop/hive/lib/derby-10.14.1.0.jar /home/hadoop/sqoop/server/lib/

再验证

在这里插入图片描述
开启服务

[root@hadoop1 bin]#  sqoop2-server start 

开启服务器后生成了两个目录(在那个目录下运行就在哪个目录下生成)
大数据-玩转数据-Sqoop安装部署及应用_第3张图片
查看sqoop运行日志

[root@hadoop1 bin]#  ll \@LOGDIR\@/

大数据-玩转数据-Sqoop安装部署及应用_第4张图片
关闭服务

[root@hadoop1 bin]#  sqoop2-server stop

大数据-玩转数据-Sqoop安装部署及应用_第5张图片
开启客户端

[root@hadoop1 bin]#  sqoop2-shell

安装完成

你可能感兴趣的:(hive,sqoop,hadoop)