Linux基础环境搭建(CentOS7)- 安装Sqoop

Linux基础环境搭建(CentOS7)- 安装Sqoop


大家注意以下的环境搭建版本号,如果版本不匹配有可能出现问题!

Linux基础环境搭建(CentOS7)- 虚拟机准备
Linux基础环境搭建(CentOS7)- 安装JDK
Linux基础环境搭建(CentOS7)- 安装Hadoop
Linux基础环境搭建(CentOS7)- 安装Zookeeper
Linux基础环境搭建(CentOS7)- 安装Kafka
Linux基础环境搭建(CentOS7)- 安装HBase
Linux基础环境搭建(CentOS7)- 安装Scala和Spark
Linux基础环境搭建(CentOS7)- 安装Mysql和Hive
Linux基础环境搭建(CentOS7)- 安装Sqoop
Linux基础环境搭建(CentOS7)- 安装Flume


一、Sqoop下载及安装

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
在这里插入图片描述

Sqoop的下载

Sqoop下载链接:https://pan.baidu.com/s/1hshFBW5Wkj9MnNMTYN_gGA

提取码:hqxt

将下载的安装包通过Xftp传输到Linux虚拟机/opt/software/中

Sqoop的安装

创建工作路径/usr/sqoop,下载hadoop安装包到/opt/software中,然后解压至工作路径。

mkdir /usr/sqoop		#首先在根目录下建立工作路径/usr/hbase
cd /opt/software		#进入安装包的文件夹
tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /usr/sqoop

配置profile文件

vim /etc/profile

添加内容如下:

export SQOOP_HOME=/usr/sqoop/sqoop-1.4.6.bin__hadoop-2.0.4-alpha
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$SQOOP_HOME/bin
# wq保存

在这里插入图片描述

刷新profile文件

source /etc/profile

修改sqoop-env.sh文件

mv sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh

修改内容如下:

#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/usr/hadoop/hadoop-2.7.3

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/usr/hadoop/hadoop-2.7.3

#set the path to where bin/hbase is available
export HBASE_HOME=/usr/hbase/hbase-1.2.4

#Set the path to where bin/hive is available
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin

#Set the path for where zookeper config dir is
export ZOOCFGDIR=/usr/zookeeper/zookeeper-3.4.10/conf

具体的版本根据自己的环境为主!!
在这里插入图片描述

将mysql关系型数据库驱动包放到sqoop/lib目录下

这里需要下载mysql关系型数据库驱动包 放到本地/opt/software/下

mysql依赖包下载链接:https://pan.baidu.com/s/1bjQPoaMab3CMiS1-5ojGgw

提取码:a4l3

cp /opt/software/mysql-connector-java-5.1.47-bin.jar /usr/sqoop/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib/

Sqoop测试

1 导入mysql数据到hdfs中

查看数据
在这里插入图片描述
导入数据

cd /usr/sqoop/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/bin/
sqoop import \
	--connect "jdbc:mysql://slave2:3306/sparktest?useUnicode=true&characterEncoding=utf-8" \
	--username root \
	--password John123456 \
	--table employee \
	--m 1 \
	--driver com.mysql.jdbc.Driver \
	--target-dir /user/imports_sqoop_test/

查看结果
在这里插入图片描述
导出成功!

2 导出hdfs数据到mysql中

mysql数据库中sqoop库中出来sqoopdata表,表结构及数据如下所示:
在这里插入图片描述
将数据保存在本地/opt/data/下
在这里插入图片描述
将数据上传到hdfs上

hdfs dfs -mkdir /user/sqooptest
hdfs dfs -put /opt/data/sqoopdata.txt /user/sqooptest/

在这里插入图片描述
在mysql端创建数据库和表

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hive               |
| hive_mysql         |
| hive_mysql_test    |
| mysql              |
| performance_schema |
| sparktest          |
| sys                |
| test               |
+--------------------+
9 rows in set (0.09 sec)

mysql> create database sqoopbase;
Query OK, 1 row affected (0.00 sec)

mysql> use sqoopbase;
Database changed

mysql> create table IF NOT EXISTS sqooptable ( id INT, name VARCHAR(20), gender VARCHAR(20) )character set utf8 collate utf8_general_ci;
Query OK, 0 rows affected (0.25 sec)

mysql> select * from sqooptable;
Empty set (0.04 sec)

通过sqoop从hdfs导出数据到mysql

cd /usr/sqoop/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/bin/
sqoop export \
	--connect "jdbc:mysql://slave2:3306/sqoopbase?useUnicode=true&characterEncoding=utf-8" \
	--username root \
	--password John123456 \
	--table sqooptable \
	--fields-terminated-by ',' \
	--export-dir /user/sqooptest/sqoopdata.txt

在这里插入图片描述
在这里插入图片描述
导出成功!

3 关于sqoop实战可观看以下博客

sqoop实战之hive股票分析:https://blog.csdn.net/weixin_47580081/article/details/115344752

!!!关于sqoop运行时的警告解决方式

在这里插入图片描述
可以看一下这一篇博客:

Sqoop运行警告解决方式:https://blog.csdn.net/weixin_47580081/article/details/115472841

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

John Zhuang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值