Sqoop的安装与测试

这里写目录标题

什么是Sqoop?

Sqoop就是hadoop和mysql的一个中间介质 , 作用就是可以将hadoop中的数据传到mysql中 , 或将mysql中的数据导入到hadoop中

Sqoop的安装与配置

安装

详细代码

java 复制代码
//解压安装
[root@hadoop soft]# tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
[root@hadoop soft]# rm -rf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
[root@hadoop soft]# ls
hadoop  hive  jdk  mysql5.7  sqoop-1.4.7.bin__hadoop-2.6.0
[root@hadoop soft]# mv sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop
[root@hadoop soft]# ls
hadoop  hive  jdk  mysql5.7  sqoop

//配置环境变量
[root@hadoop sqoop]# vim /etc/profile.d/sqoop.sh
[root@hadoop sqoop]# cat /etc/profile.d/sqoop.sh 
SQOOP_HOME=/usr/soft/sqoop
PATH=$PATH:$SQOOP_HOME/bin
CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib
export SQOOP_HOME PATH CLASSPATH
[root@hadoop sqoop]# source /etc/profile.d/sqoop.sh

//修改配置文件
[root@hadoop sqoop]# cd conf
[root@hadoop conf]# ls
oraoop-site-template.xml  sqoop-env-template.cmd  sqoop-env-template.sh  sqoop-site-template.xml  sqoop-site.xml
[root@hadoop conf]# cp sqoop-env-template.sh sqoop-env.sh
[root@hadoop conf]# vim sqoop-env.sh

//下载jdbc驱动
[root@hadoop conf]# cd ..
[root@hadoop sqoop]# ls
bin        CHANGELOG.txt  conf  ivy      lib          NOTICE.txt   README.txt       sqoop-patch-review.py  src
build.xml  COMPILING.txt  docs  ivy.xml  LICENSE.txt  pom-old.xml  sqoop-1.4.7.jar  sqoop-test-1.4.7.jar   testdata
[root@hadoop sqoop]# cd lib
[root@hadoop lib]# ls
	//这里能看到有mysql-connector-java-5.1.46.jar 即可

//验证Sqoop
[root@hadoop lib]# sqoop help
[root@hadoop lib]# sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password 1234

分步详解

  • 解压
    [root@hadoop soft]# tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

  • 删除安装包
    [root@hadoop soft]# rm -rf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

  • 改名
    [root@hadoop soft]# mv sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop

  • 环境配置
    [root@hadoop sqoop]# vim /etc/profile.d/sqoop.sh

    //sqoop.sh内容
    SQOOP_HOME=/usr/soft/sqoop
    PATH=PATH:SQOOP_HOME/bin
    CLASSPATH=CLASSPATH:SQOOP_HOME/lib
    export SQOOP_HOME PATH CLASSPATH

[root@hadoop sqoop]# source /etc/profile.d/sqoop.sh

修改配置文件

  • 路径
    cd /usr/soft/sqoop/conf

  • 复制配置文件
    [root@hadoop conf]# cp sqoop-env-template.sh sqoop-env.sh

  • 修改配置文件
    [root@hadoop conf]# vim sqoop-env.sh
    //编辑的时候把#去掉(让代码生效)

    sqoop依赖zookeeper,如果没有安装zookeeper可以先用默认的zookeeper
    vim sqoop-env.sh

    export HADOOP_COMMON_HOME=/usr/soft/hadoop
    export HADOOP_MAPRED_HOME=/usr/soft/hadoop
    export HIVE_HOME=/usr/soft/hive
    //export ZOOKEEPER_HOME=/usr/soft/zookeeper
    //export ZOOCFGDIR=/usr/soft/zookeeper
    //export HBASE_HOME=/usr/soft/hbase

下载JDBC驱动

  • 将jdbc驱动包上传到sqoop的lib目录下 :

测试

  • 验证Sqoop(我们可以通过某一个command来验证sqoop配置是否正确:)
    sqoop help

  • 测试Sqoop是否能够成功连接数据库
    //注意 : 要写自己的用户名和密码
    sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password 1234

  • 出现如下测试成功

    19/07/27 18:53:34 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
    19/07/27 18:53:34 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
    19/07/27 18:53:34 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
    information_schema
    hive_metadata
    mysql
    test
    test2

尝试用sqoop导出数据到mysql中

  • 在mysql中创建一个新的数据库

  • 建表

  • 数据准备
    cd /usr/data
    vim dept.txt

    10 ACCOUNTING 1700
    20 RESEARCH 1800
    30 SALES 1900
    40 OPENATIONS 1700
    10 ACCOUNTING 1700
    20 RESEARCH 1700
    30 SALES 1900
    40 OPENATIONS 1700

//上传到hdfs中
hdfs dfs -put dept.txt //user/hive/warehouse/dept

//打开hive
[root@hadoop ~]# hive

//创建部门表
create external table if not exists default.dept( deptno int, dname string, loc int ) row format delimited fields terminated by '\t';

//(从本地)导入数据到部门表中
load data local inpath '/user/data/dept.txt' into table default.dept;

//查询结果
select * from dept;

//导入到本地的mysql中

复制代码
bin/sqoop export \
--connect jdbc:mysql://localhost:3306/keshihua \
--username root \
--password 1234 \
--table dept \
--fields-terminated-by "\t" \
--export-dir /user/hive/warehouse/dept

执行完 , 可以看到数据导入到mysql中了


如果这里报错了

可以---->主机IP号:50070/logs---->到这个网址 中 , 看自己的log日志(syslog)


相关推荐
小邓睡不饱耶10 小时前
Sqoop 实战:数据迁移核心案例、优化技巧与企业级落地
hive·hadoop·sqoop
沃达德软件13 小时前
重点人员动态管控系统解析
数据仓库·人工智能·hive·hadoop·redis·hbase
ruxshui14 小时前
个人笔记: 星环Inceptor/hive普通分区表与范围分区表核心技术总结
hive·hadoop·笔记
Gain_chance17 小时前
26-学习笔记尚硅谷数仓搭建-DIM层特殊的维度表——用户维度表的建表、分析及DIM层数据装载脚本
数据仓库·hive·笔记·学习
TTBIGDATA1 天前
【Hue 】Hue 访问 YARN 返回 403 权限问题
大数据·hadoop·ambari·hdp·国产化·hue·bigtop
TTBIGDATA1 天前
【Knox】Knox 转发访问 Trino Web UI 返回 406 错误的原因与处理
大数据·运维·前端·hadoop·ui·ambari·hdp
小邓睡不饱耶2 天前
Hadoop:从架构原理到企业级实战,大数据处理入门到精通
大数据·hadoop·架构
Francek Chen2 天前
【大数据基础】大数据处理架构Hadoop:03 Hadoop的安装与使用
大数据·hadoop·分布式·架构
小邓睡不饱耶2 天前
Hadoop 进阶:企业级项目实战、生态深度整合与故障排查
大数据·hadoop·分布式
小邓睡不饱耶2 天前
深耕 Hadoop:内核优化、分布式一致性与大规模集群实战
大数据·hadoop·分布式