Liunx安装Sqoop及简单使用

一、简介

sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。

可以将一个关系型数据库(例如 : MySQL ,Oracle 等)中的数据导进到Hadoop的HDFS、HIVE、HBASE中。

也可以将Hadoop的HDFS、HIVE、HBASE的数据导进到关系型数据库中。

官网:http://sqoop.apache.org

二、准备工作

1、安装hadoop集群

https://blog.youkuaiyun.com/u011374856/article/details/103310627

三、Sqoop下载

下载地址:http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.15.1.tar.gz

注:其他大数据组件也可在 http://archive.cloudera.com/cdh5/cdh/5 版本库中找到

四、Sqoop安装

1、解压压缩包

tar -zxvf sqoop-1.4.6-cdh5.15.1.tar.gz

2、配置环境变量 


#配置当前用户环境变量
vi ~/.bash_profile
 
#在文件中添加如下命令,记得切换自己文件路径
export SQOOP_HOME=/home/app/sqoop-1.4.6-cdh5.15.1
export PATH=$SQOOP_HOME/bin:$PATH
 
#立即生效
source ~/.bash_profile

3、版本信息

sqoop version

 五、MySQL8.0导入HBase

1、Docker安装MySQL

https://blog.youkuaiyun.com/u011374856/article/details/103344949

2、安装hbase集群

https://blog.youkuaiyun.com/u011374856/article/details/103316527

3、创建测试数据库和测试表并添加一些数据

4、下载依赖Jar包

#下载目录
http://central.maven.org/maven2/mysql/mysql-connector-java/

#SQOOP_HOME的lib目录
cd $SQOOP_HOME/lib

#MySQL驱动远程下载
wget http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar

#java-json远程下载
wget http://www.java2s.com/Code/JarDownload/java-json/java-json.jar.zip

#解压文件
unzip java-json.jar.zip
 
#如果报-bash: unzip: 未找到命令
yum install -y unzip zip

#如果报错-bash: wget: 未找到命令
yum install -y wget

5、执行导入

#到SQOOP_HOME的bin目录
cd $SQOOP_HOME/bin

#测试mysql能否连接
sqoop list-databases \
--connect jdbc:mysql://127.0.0.1:3306/test \
--username 'root' \
--password '123456'

#sql语句检验
sqoop eval \
--connect jdbc:mysql://127.0.0.1:3306/test \
--username 'root' \
--password '123456' \
--query "SELECT * FROM woniu"

#导入命令
sqoop import \
--connect jdbc:mysql://127.0.0.1:3306/test \
--driver com.mysql.cj.jdbc.Driver \
--username root \
--password 123456 \
--table woniu \
--hbase-table hbase_woniu \
--column-family info  \
--hbase-create-table \
--hbase-row-key id \
--hbase-bulkload

6、大功告成

### 安装和配置 Apache Sqoop #### 准备工作 为了成功安装并配置 Apache Sqoop,在 Linux 系统上需先确认已安装 Java 和 Hadoop。Java 是运行 Sqoop 的基础环境,而 Hadoop 提供了分布式处理框架。 #### 下载与解压 Sqoop 访问官方 Apache Sqoop 页面获取最新版本的二进制分发版。下载完成后将其放置于合适位置,例如 `/opt` 或者用户的家目录中。通过命令行执行如下操作来完成解压缩: ```bash tar -xzvf sqoop-<version>.bin__hadoop-<version>.tgz -C /usr/local/ ``` 这会创建一个名为 `sqoop` 的文件夹在指定的目标路径内[^2]。 #### 配置 MySQL 连接器 对于连接 MySQL 数据库的需求,需要额外准备 JDBC Driver 文件。假设已经从官方网站获得了对应的 `.tar.gz` 压缩包,则可以按照下面的方式继续设置: ```bash cd ~/下载 # 切换到下载路径,如果下载的文件不在这个目录下 sudo tar -zxvf mysql-connector-java-5.1.40.tar.gz # 解压mysql驱动包 cp ./mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/sqoop/lib # 将JDBC driver复制至Sqoop lib目录 ``` 上述指令确保了 MySQL Connector/J 能够被 Sqoop 正确识别并用于后续的数据传输任务。 #### 设置环境变量 为了让系统能够找到 Sqoop 可执行程序以及关联资源,建议编辑个人或全局级别的 shell profile 文件(如 `.bashrc`, `.profile`),加入以下两行内容以便自动加载必要的环境参数: ```bash export SQOOP_HOME=/usr/local/sqoop export PATH=$PATH:$SQOOP_HOME/bin ``` 之后重新加载该配置文件使更改生效: ```bash source ~/.bashrc # 如果是修改~/.bashrc的话 ``` 此时应该可以在终端输入 `sqoop help` 来验证是否正确设置了 Sqoop 工具链。 #### 测试导入作业 当一切就绪后,可以通过发起一次简单的测试导入作业来检验整个流程是否顺畅无误。这里给出的例子是从本地 MySQL 中读取表数据并通过 Sqoop 导入到 HDFS 上面去: ```bash sqoop import \ -D org.apache.sqoop.splitter.allow_text_splitter=true \ --connect jdbc:mysql://localhost:3306/StudentDB \ --username root \ --password 'password' \ --table Student \ --warehouse-dir /user/sqoop \ --fields-terminated-by '\t' \ -m 1 ``` 这条命令指定了多个选项以适应特定场景下的需求,比如允许基于文本字段分割记录、定义目标存储位置等细节设定[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值