Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。
总之Sqoop是一个转换工具,用于在关系型数据库与HDFS之间进行数据转换。

sqoop 安装步骤如下:

1.下载,指定到目录下

下载路径:https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.7/

选择版本:sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

安装在master主节点上。

解压:gunzip -d sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

tar -xvf sqoop-1.4.7.bin__hadoop-2.6.0.tar

mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop-1.4.7

cd sqoop-1.4.7/

cp sqoop-env-template.sh  sqoop-env.sh

vi sqoop-env.sh     --根据具体内容填写

# Set Hadoop-specific environment variables here.

#Set path to where bin/hadoop is available
#export HADOOP_COMMON_HOME=/home/hadoop/hadoop-2.7. #Set path to where hadoop-*-core.jar is available
#export HADOOP_MAPRED_HOME=/home/hadoop/hadoop-2.7. #set the path to where bin/hbase is available
#export HBASE_HOME=/home/hadoop/hbase #Set the path to where bin/hive is available
#export HIVE_HOME=/home/hadoop/hive #Set the path for where zookeper config dir is
#export ZOOCFGDIR=/home/hadoop/zookeeper

2.添加环境变量:

vi .bash_profile

export SQOOP_HOME=/home/hadoop/sqoop-1.4.
export PATH=$PATH:${SQOOP_HOME}/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH=$CLASSPATH:${SQOOP_HOME}/lib

使文件生效:

source .bash_profile

3.复制相关依赖包$SQOOP_HOME/lib

下载MySQL的依赖包

mysql-connector-java-5.1.46-bin.jar 点击打开链接

上传解压后,把mysql-connector-java-5.1.46-bin.jar 移动到/home/hadoop/sqoop-1.4.7/lib 下

cd /home/hadoop/hadoop-2.7.3/share/hadoop/common

cp hadoop-common-2.7.3.jar /home/hadoop/sqoop-1.4.7/lib/

4.修改$SQOOP_HOME/bin/configure-sqoop

注释掉HCatalog,Accumulo检查(除非你准备使用HCatalog,Accumulo等HADOOP上的组件)

## Moved to be a runtime check in sqoop.
#if [ ! -d "${HCAT_HOME}" ]; then
# echo "Warning: $HCAT_HOME does not exist! HCatalog jobs will fail."
# echo 'Please set $HCAT_HOME to the root of your HCatalog installation.'
#fi #if[ ! -d "${ACCUMULO_HOME}" ]; then
# echo "Warning: $ACCUMULO_HOME does notexist! Accumulo imports will fail."
# echo 'Please set $ACCUMULO_HOME to the rootof your Accumulo installation.'
#fi #Add HCatalog to dependency list
#if[ -e "${HCAT_HOME}/bin/hcat" ]; then
# TMP_SQOOP_CLASSPATH=${SQOOP_CLASSPATH}:`${HCAT_HOME}/bin/hcat-classpath`
# if [ -z "${HIVE_CONF_DIR}" ]; then
# TMP_SQOOP_CLASSPATH=${TMP_SQOOP_CLASSPATH}:${HIVE_CONF_DIR}
# fi
# SQOOP_CLASSPATH=${TMP_SQOOP_CLASSPATH}
#fi #Add Accumulo to dependency list
#if[ -e "$ACCUMULO_HOME/bin/accumulo" ]; then
# for jn in `$ACCUMULO_HOME/bin/accumuloclasspath | grep file:.*accumulo.*jar |cut -d':' -f2`; do
# SQOOP_CLASSPATH=$SQOOP_CLASSPATH:$jn
# done
# for jn in `$ACCUMULO_HOME/bin/accumuloclasspath | grep file:.*zookeeper.*jar |cut -d':' -f2`; do
# SQOOP_CLASSPATH=$SQOOP_CLASSPATH:$jn
# done
#fi

测试与mysql的连接

首先确保mysqld在运行:

[root@master ~]# service mysqld status
mysqld (pid  3052) is running...

然后测试是否连通:

[hadoop@master ~]$ sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/?useSSL=false --username root -P
19/02/18 17:38:32 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
Enter password:
19/02/18 17:38:45 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
information_schema
hive
mysql
performance_schema
sys

输入密码后如果能显示你mysql上的数据库则表示已经连通。

<完>

最新文章

  1. 恶心的content
  2. python开发目录合并小工具 PathMerge
  3. bootstrap 时间控件带(时分秒)选择器
  4. tomcat通过socket连接MySQL,不再占用服务端口【linux】
  5. saltstack安装配置(halite)
  6. AngularJS XMLHttpRequest $http服务
  7. DSP using MATLAB 示例Example2.11
  8. Web 开发常见安全问题
  9. C++与C#的时间转换
  10. Linux设备驱动剖析之Input(四)
  11. VMware 命令行下的网络配置
  12. Android 设计随便说说之简单实践(消息流动)
  13. UVa 129 Krypton Factor困难的串 (dfs 递归搜索)
  14. 如何用Github的gh-pages分支展示自己的项目
  15. jquery的使用 超级快速入门 熟练使用
  16. java面试题(一)
  17. Spring(一)Spring介绍
  18. StringRedisTemplate常用API
  19. JETTY+NGINX
  20. [NOI2005]月下柠檬树[计算几何(simpson)]

热门文章

  1. [Mysql]一对多关系是如何发挥作用的?
  2. linux简单命令8---软件包安装
  3. (转)Linux用户登录记录日志和相关查看命令汇总
  4. Springboot学习—CommandLineRunner接口(转载)
  5. 启动nfs清除端口占用过程
  6. 8-1 文本三级剑客之sed
  7. vue-router跳转相同路径报错
  8. Hive_解析 get_json_object ( )
  9. 使用alias简化kubectl输入
  10. TIPTOP之分割split函数方法、getIndexOf、subString、replace、临时表创建;