01 在CentOS中安装Sqoop

在大数据组件之间进行数据的迁移是必不可少的,本文将阐述数据迁移的重要工具之一sqoop。

1 系统、软件以及前提约束

  • CentOS 7 64 工作站 作者的机子ip是192.168.100.200,请读者根据自己实际情况设置
  • sqoop-1.4.7.bin__hadoop-2.6.0
    下载链接:https://pan.baidu.com/s/1c_skDYabCRSkS5hRUB6lFQ
    已下载sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz并上传到/root
    提取码:a00t
  • Hadoop已经安装
    https://www.jianshu.com/p/b7ae3b51e559
  • 为去除权限对操作的影响,所有操作都以root进行
  • 确保hadoop启动、mysql启动

2 操作

  • 1 解压
tar -xvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
  • 2 配置环境变量
    修改/root/.bashrc,加入以下的内容,保存,退出,使生效:
export SBT_HOME=/root/sbt
export JAVA_HOME=/root/jdk1.8.0_152
export HIVE_HOME=/root/apache-hive-0.14.0-bin
export SCALA_HOME=/root/scala-2.11.8
export SPARK_HOME=/root/spark-2.2.1-bin-hadoop2.7
export SQOOP_HOME=/root/sqoop-1.4.7.bin__hadoop-2.6.0
export PATH=$SQOOP_HOME/bin:$SBT_HOME/bin:$SPARK_HOME/bin:$SCALA_HOME/bin:$HIVE_HOME/bin:$HIVE_HOME/conf:$JAVA_HOME/bin:$PATH
  • 3 配置sqoop-env.sh
cd /root/sqoop-1.4.7.bin__hadoop-2.6.0/conf
cp sqoop-env-template.sh sqoop-env.sh
# 在sqoop-env.sh中加一下内容
export HADOOP_COMMON_HOME=/root/hadoop-2.5.2
export HADOOP_MAPRED_HOME=/root/hadoop-2.5.2
export HIVE_HOME=/root/apache-hive-0.14.0-bin
export HBASE_HOME=/root/hbase-1.2.6
  • 4 上传mysql的jdbc驱动包到sqoop的lib文件夹下
  • 5 测试,通过sqoop查看mysql中的数据库实例信息【注意,请读者根据实际设置数据库账号、密码、实例名称】
./sqoop list-databases --connect jdbc:mysql://localhost:3306/mysql?characterEncoding=UTF-8 --username root --password 'zhangli'
  • 6 把mysql中的数据导入HDFS
# "jdbc:mysql://localhost:3306/mysql"中的第二个mysql是数据库实例名称,导入的是mysql实例中的user表
sqoop import -m 1 --connect jdbc:mysql://localhost:3306/mysql --username root --password zhangli --table user --target-dir /user/sqoop/mysql/user

以上就是在CentOS中安装Sqoop,并从mysql导入数据到HDFS的过程。

猜你喜欢

转载自www.cnblogs.com/alichengxuyuan/p/12576715.html