Sqoop笔记一之简介安装

来源:互联网 发布:h3c路由器端口镜像 编辑:程序博客网 时间:2024/05/21 06:22

简介:

         Sqoop,用来在关系型数据库与hadoop之间进行数据的导入导出,将数据从数据库中导入到hdfs中进行数据处理,是一种转换工具。

         Sqoop分为两大版本sqoop1和sqoop2,两者完全不兼容,1.4.x为sqoop1,1.99.x为sqoop2。

 在网址http://sqoop.apache.org/可以下载sqoop,sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz这种的是原生的sqoop。

 


安装:我安装的是sqoop1,连接mysql

         1:拷贝安装包到linux下并解压。

         tar-zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

         2:进入解压后的目录conf,在此目录下有一个sqoop-env-template.sh文件将其改名为sqoop-env.sh然后编辑此文件在文件中指定hadoop的安装路径信息。

目录:/usr/local/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/conf

执行:mvsqoop-env-template.sh sqoop-env.sh

(注意名字别改错了,我改错了半天搞不定)

 

exportHADOOP_COMMON_HOME=/usr/local/hadoop-2.6.0

exportHADOOP_MAPRED_HOME=/usr/local/hadoop-2.6.0

 

3:配置环境变量

vi /etc/profile

exportPATH=.:$JAVA_HOME/bin:/usr/local/hadoop-2.6.0/bin:/usr/local/hadoop-2.6.0/sbin:/usr/local/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/bin:$PATH

source/etc/profile

4:jdk版本必须是1.6以上

java –version

java version"1.7.0_79"

 

5:lib目录下放置对应数据库的驱动包,本例中我连接mysql,建议使用版本为mysql-connector-java-5.1.33-bin.jar

/usr/local/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib

 

6:sqoop-1.4.6.jar

安装原生的sqoop时,执行sqoop时会去hadoop目录下找orgorg.apache.sqoop.Sqoop包没有的话会报错,所以我们需要将sqoop-1.4.6.jar放到hadoop的lib包中。

当我们解压缩sqoop的安装包后sqoop-1.4.6.jar就在跟目录下与conf平级,将它拷贝到

/usr/local/hadoop-2.6.0/share/hadoop/common/lib目录下。

         将驱动包mysql-connector-java-5.1.33-bin.jar也放到这个目录中

 

7:检验安装是否成功

执行sqoop help,看到如下显示就好了,这里显示的是所有的命令。

Availablecommands:

  codegen            Generate code to interact withdatabase records

  create-hive-table  Import a table definition into Hive

  eval               Evaluate a SQL statement anddisplay the results

  export             Export an HDFS directory to adatabase table

  help               List available commands

  import             Import a table from a database toHDFS

  import-all-tables  Import tables from a database to HDFS

  import-mainframe   Import datasets from a mainframe server toHDFS

  job                Work with saved jobs

  list-databases     List available databases on a server

  list-tables        List available tables in a database

  merge              Merge results of incrementalimports

  metastore          Run a standalone Sqoop metastore

  version            Display version information

 

8:"Host'THINK-THINK' is not allowed to connect to this MySQL server

我本地连接时报错,解决方案需要开启MySQL的远程帐号





mysql>grantall privileges on *.* to root@'192.168.172.1' identified by 'password’;

mysql>flush privileges;

*.*代表全部数据库的全部表授权,也可以写成test_db.*

all privileges代表全部权限,也可以insert,update,delete,create,drop

允许 root 用户在 192.168.172.1这个 IP 进行远程登陆,并设置 root 用户的密码为password。




 

0 0
原创粉丝点击