文章目录
- 前言
- 一、Sqoop安装与配置(手动安装配置)
- 1. 下载Sqoop安装包并上传到Linux
- 1.1 下载
- 1.2 上传
- 2. 解压Sqoop安装包
- 2.1 解压
- 2.2 重命名
- 3. 配置Sqoop
- 3.1 修改 sqoop-env.sh 配置文件
- 3.2 配置jar包
- 3.2.1 配置MySQL驱动jar包
- 3.2.2 配置commons-lang-2.6.jar包
- 4. 虚拟机hadoop2安装并配置Sqoop
- 5. 虚拟机hadoop3安装并配置Sqoop
- 6. 配置Sqoop环境变量及测试Sqoop
- 6.1 配置Sqoop环境变量
- 6.2 测试Sqoop
前言
随着大数据技术的迅猛发展,数据在不同系统之间的迁移和整合成为了企业级应用中的常见需求。Hadoop作为处理大规模数据集的开源框架,提供了强大的分布式计算能力,而关系型数据库(如MySQL)则因其事务处理能力和结构化查询语言(SQL)的支持,在数据管理和分析中占据着不可替代的位置。然而,如何高效地在Hadoop与传统关系型数据库之间进行数据传输,成为了众多开发者和企业面临的挑战。
Apache Sqoop正是为了解决这一问题而诞生的工具。作为一个专门用于在Hadoop和关系型数据库之间传输数据的命令行工具,Sqoop不仅支持将关系型数据库中的数据导入到Hadoop的HDFS、Hive或HBase中,也能够从Hadoop导出数据至关系型数据库。通过提供高效的批量数据加载机制,Sqoop大大简化了数据迁移过程,并提升了操作效率。
本指南旨在为读者提供一份详尽的Sqoop安装与配置教程,帮助大家顺利地在自己的环境中部署并使用Sqoop。我们将一步步指导您完成从下载、解压到环境变量配置以及最终测试的所有步骤,确保您能够在最短的时间内上手使用这个强大的数据迁移工具。
一、Sqoop安装与配置(手动安装配置)
1. 下载Sqoop安装包并上传到Linux
1.1 下载
点击下载Sqoop1.4.7安装包:https://repo.huaweicloud.com:8443/artifactory/apache-local/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
1.2 上传
通过拖移的方式将下载的Sqoop安装包sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz上传至虚拟机hadoop1的/export/software目录。
2. 解压Sqoop安装包
2.1 解压
在虚拟机hadoop1将Sqoop安装包通过解压方式安装至/export/servers
目录。
tar -zxvf /export/software/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /export/servers/
解压完成如下图所示。
2.2 重命名
在虚拟机hadoop1执行如下命令将sqoop-1.4.7.bin__hadoop-2.6.0重命名为sqoop-1.4.7。
mv /export/servers/sqoop-1.4.7.bin__hadoop-2.6.0 /export/servers/sqoop-1.4.7
3. 配置Sqoop
3.1 修改 sqoop-env.sh 配置文件
在虚拟机hadoop1使用cat命令把配置内容重定向并写入到 /export/servers/sqoop-1.4.7/conf/sqoop-env.sh
文件。
cat >/export/servers/sqoop-1.4.7/conf/sqoop-env.sh <<EOF
export HADOOP_COMMON_HOME=\$HADOOP_HOME
export HADOOP_MAPRED_HOME=\$HADOOP_HOME
export HBASE_HOME=\$HBASE_HOME
export HIVE_HOME=\$HIVE_HOME
export ZOOCFGDIR=\$ZK_HOME/conf
export ZOOKEEPER_HOME=\$ZK_HOME
export HCAT_HOME=\$HCAT_HOME
export ACCUMULO_HOME=\$ACCUMULO_HOME
EOF
3.2 配置jar包
3.2.1 配置MySQL驱动jar包
在虚拟机hadoop1执行如下命令下载MySQL驱动包到/export/servers/sqoop-1.4.7/lib
目录下。
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar -P /export/servers/sqoop-1.4.7/lib
3.2.2 配置commons-lang-2.6.jar包
在虚拟机hadoop1执行如下命令下载commons-lang-2.6.jar包到/export/servers/sqoop-1.4.7/lib
目录下。
wget https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar -P /export/servers/sqoop-1.4.7/lib
4. 虚拟机hadoop2安装并配置Sqoop
在虚拟机hadoop1使用scp命令把Sqoop的安装目录复制到虚拟机hadoop2的相同目录下,就相当于在hadoop2安装并配置了Sqoop。
scp -r root@hadoop1:/export/servers/sqoop-1.4.7 root@hadoop2:/export/servers
5. 虚拟机hadoop3安装并配置Sqoop
在虚拟机hadoop1使用scp命令把Sqoop的安装目录复制到虚拟机hadoop3的相同目录下,就相当于在hadoop3安装并配置了Sqoop。
scp -r root@hadoop1:/export/servers/sqoop-1.4.7 root@hadoop3:/export/servers
6. 配置Sqoop环境变量及测试Sqoop
6.1 配置Sqoop环境变量
依次在虚拟机hadoop1、hadoop2和hadoop3执行如下命令设置Sqoop环境变量,加载系统环境变量配置文件,并查看环境变量是否配置成功。
echo >> /etc/profile
echo 'export SQOOP_HOME=/export/servers/sqoop-1.4.7' >> /etc/profile
echo 'export PATH=$PATH:$SQOOP_HOME/bin' >> /etc/profile
source /etc/profile
echo $SQOOP_HOME
6.2 测试Sqoop
依次在虚拟机hadoop1、hadoop2和hadoop3执行如下命令使用Sqoop查询MySQL中的所有数据库。
sqoop list-databases --connect jdbc:mysql://hadoop1:3306/?allowPublicKeyRetrieval=true --username root --password 123456