sqoop和flume简单安装配置使用

1. Sqoop

1.1 Sqoop介绍

  • Sqoop 是一个在结构化数据和 Hadoop 之间进行批量数据迁移的工具

    • 结构化数据可以是MySQL、Oracle等关系型数据库

      • 把关系型数据库的数据导入到 Hadoop 与其相关的系统

      • 把数据从 Hadoop 系统里抽取并导出到关系型数据库里

    • 底层用 MapReduce 实现数据

      • 命令执行过程中,map 0% ,Reduce0%----》map 100% ,Reduce 100%
      • 01-MR执行过程
id name age
1 zhangsan 18

02-sqoop和数据转移之间关系

1.2 Sqoop安装

  • 下载、上传、解压、重命名和授权

    • https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.3.7/sqoop-1.3.7.bin__hadoop-2.6.0.tar.gz
  • 上传到 /home/hadoop 目录,直接在xshell拖拽进入家目录即可

  • #Sqoop的安装
    sudo tar -xvf sqoop-1.3.7.bin__hadoop-2.6.0.tar.gz -C /usr/local
    #改名
    sudo mv /usr/local/sqoop-1.3.7.bin__hadoop-2.6.0/ /usr/local/sqoop
    #授权
    sudo chown -R hadoop /usr/local/sqoop
    

1.3 Sqoop配置和验证

1.3.1 sqoop配置

#1、修改配置文件
mv /usr/local/sqoop/conf/sqoop-env-template.sh /usr/local/sqoop/conf/sqoop-env.sh

# 进入配置目录,把各个组件的路径写入
cd /usr/local/sqoop/conf/
sudo vim sqoop-env.sh 

Snipaste_2023-10-25_14-01-52

#2、上传 jar 文件
cd /usr/local/sqoop/lib/
#2.1 上传 MySQL 的驱动文件,拖拽上传进xshell

#2.2拷贝 hive 的驱动文件
cp /usr/local/hive/lib/hive-common-2.3.7.jar /usr/local/sqoop/lib/

#3、配置环境变量
#编辑环境变量
vim /home/hadoop/.bashrc

#在环境变量最后添加以下内容
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin

#刷新环境变量
source /home/hadoop/.bashrc

#验证是否安装成功
sqoop version

1.3.2 在MySQL中创建sqoop用户

#查看管理员账户和密码
sudo cat /etc/mysql/debian.cnf 

#用查看的账户和密码登录
mysql -u debian-sys-maint -p

#登录成功再执行下面命令,可参考下图
#创建sqoop用户,
create user 'sqoop'@'%' identified by '123456';
#并对用户授权
grant all privileges on sqoop.* to 'sqoop'@'%';
#刷新使授权生效
flush privileges;

#退出
exit;

执行MySQL示例:

Snipaste_2023-10-25_14-05-20

1.3.3 验证sqoop是否成功运行及常见错误:

  • #测试能否成功连接数据库
#测试能否成功连接数据库
sqoop list-databases --connect jdbc:mysql://master:3306/?useSSL=false --username sqoop --password 123456
  1. 使用命令报错时:

    #测试能否成功连接数据库
    sqoop list-databases --connect jdbc:mysql://master:3306/?useSSL=false --username sqoop --password 123456
    
  2. **报错信息如下:**ERROR manager.CatalogQueryManager: Failed to list databases

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

完整信息在下面:

  • Warning: /usr/local/sqoop/../hcatalog does not exist! HCatalog jobs will fail.
    Please set $HCAT_HOME to the root of your HCatalog installation.
    Warning: /usr/local/sqoop/../accumulo does not exist! Accumulo imports will fail.
    Please set $ACCUMULO_HOME to the root of your Accumulo installation.
    。。。
    	at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)
    	at org.apache.sqoop.Sqoop.main(Sqoop.java:252)
    Caused by: java.net.ConnectException: Connection refused (Connection refused)
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
                                  	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    	at java.net.AbstractPlainSocketImpl.connect
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值