Sqoop的安装配置

一.sqoop的功能

sqoop是实现hadoop与关系数据库(RDBMS)之间的数据迁移工具。通过Sqoop可以方便的将RDBMS的数据和hdfs、hbase、hive上的数据进行相互导入导出。

二.sqoop的安装

1.下载压缩包  https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
  2.解压,配置环境变量
     tar –xzfsqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /usr/local/  ->解压  (直接在可视化页面解压也可以)


     vim /etc/profile   ->修改文件,配置环境变量:

     在文件最后加上下面两行(其中SQOOP_HOME后面的值为你解压的路径)
     export SQOOP_HOME=/usr/local/sqoop-1.4.6
     export PATH=$PATH:$SQOOP_HOME/bin


    最后再更新环境变量的值  source /etc/profile

   先复制sqoop[-env-template.sh文件,重命名
    配置$SQOOP_HOME  :/conf/sqoop-env.sh



因为sqoop是hadoop与关系型数据库之间的数据交换,所以需要使用相关数据的jar包,这儿我们用的是mysql,所以需要下载mysql的链接jar包,然后放在sqoop的家目录下的lib目录下。
  wget http://www.pennyx.cn:8080/img/mysql-connector-java-5.1.32-bin.jar ->下载

  mv mysql-connector-java-5.1.32-bin.jar /usr/local/sqoop-1.4.6.bin_hadoop-2.0.4-alpha.tar.gz/lib/  ->添加jar包(复制jar包,放到sqoop-1.4.6的lib文件中)


安装完成后简单验证(显示所有数据库)




### 如何安装配置 Sqoop 以与 HBase 一起使用 #### 准备工作 为了使 Sqoop 能够成功连接并操作 HBase,需先完成必要的环境准备。这包括但不限于确保已正确部署 Apache Hadoop、Apache HBase 及其依赖组件如 Zookeeper。 #### 下载并解压 Sqoop 获取最新版本的 Sqoop 发行版,并将其放置于服务器上的合适位置。通常情况下,下载完成后会得到一个压缩包文件,需要对其进行解压处理以便后续配置[^3]。 ```bash tar zxvf apache-sqoop-*.tar.gz -C /usr/local/ cd /usr/local/apache-sqoop*/ ``` #### 设置环境变量 编辑 `~/.bashrc` 或者 `/etc/profile.d/sqoop.sh` 文件来设置 SQOOP_HOME 和 PATH 环境变量: ```bash export SQOOP_HOME=/usr/local/apache-sqoop* export PATH=$PATH:$SQOOP_HOME/bin source ~/.bashrc # 刷新当前shell环境下的配置 ``` #### 修改 Sqoop 配置文件 进入 `$SQOOP_HOME/conf` 目录下找到 `sqoop-env-template.sh` 并复制一份命名为 `sqoop-env.sh` 。接着修改此脚本内的参数指向本地已经存在的 hadoop 安装目录以及额外添加如下几项用于支持 hbase 功能: ```properties # Set path to where bin/hadoop is available export HADOOP_COMMON_HOME=... # Set path to where hadoop-*-core.jar is available export HADOOP_MAPRED_HOME=... # point to the root of your HBASE installation export HBASE_HOME=... ``` 对于未安装 HBase 和 ZooKeeper 的情况,在上述基础上还需要特别关注 MySQL JDBC Driver 的加载方式。由于缺少部分必要服务端组件的支持,因此建议直接将驱动程序 jar 放置于 $SQOOP_HOME/lib/ 文件夹内。 #### 测试 Sqoop 连接 Mysql 数据库功能 通过执行简单的命令验证 Sqoop 是否能够正常访问外部关系型数据库系统 (RDBMS),例如列出远程主机上所有的 schema 名称列表[^4]: ```bash sqoop list-databases \ --connect jdbc:mysql://<MySQL_HOST>:<PORT>/<DATABASE_NAME> \ --username <USER_NAME> \ --password <PASSWORD> ``` #### 使用 Sqoop 导入数据至 HBase 一旦确认 Sqoop 已经被正确设置了,则可以通过指定相应的选项把来自 RDBMS 的记录迁移到分布式列族存储引擎之中。下面给出的例子展示了怎样利用 sqoop 命令行工具实现从 mysql 向 hbase 表间的数据迁移过程[^1][^2]: ```bash sqoop import \ -D sqoop.hbase.add.row.key=true \ --connect jdbc:mysql://<MYSQL_SERVER>/test \ --username <USERNAME> \ --password <PASSWORD> \ --table student \ --hbase-table student \ --column-family info \ --hbase-row-key stu_no \ -m 1 ``` 以上即为完整的 Sqoop 安装配置流程及其与 HBase 结合使用的具体方法介绍。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值