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)


相关推荐
清平乐的技术专栏11 小时前
Hive SQL 查询所有函数
hive·hadoop·sql
节点。csn13 小时前
Hadoop yarn安装
大数据·hadoop·分布式
不惑_13 小时前
小白入门 · 腾讯云轻量服务器部署 Hadoop 3.3.6
服务器·hadoop·腾讯云
csding1113 小时前
写入hive metastore报问题Permission denied: user=hadoop,inode=“/user/hive”
数据仓库·hive·hadoop
NiNg_1_23414 小时前
基于Hadoop的数据清洗
大数据·hadoop·分布式
筒栗子18 小时前
复习打卡大数据篇——Hadoop HDFS 01
大数据·hadoop·hdfs
谷莠子90520 小时前
hadoop实验之创业有感
hadoop·docker·团队开发
神秘打工猴21 小时前
hive常用函数有哪些
hive
lucky_syq1 天前
Hive与HBase的区别有哪些
hive·hadoop·hbase
中东大鹅2 天前
分布式数据存储基础与HDFS操作实践
大数据·linux·hadoop·分布式·hbase