环境:centos 6.5,hadoop2.6.4集群
从官网下载好安装包,发送到集群中任意一台主机即可。相信大家已经看到,1.99.7跟1.4.6是不兼容的,而且官网也不建议使用这个版本在生产环境中使用。可是,为了学习,搞吧!
一如既往,我还是发送到 master 节点上,在 /usr/hadoop 目录下进行安装。
解压之后,我们将它改个名字,比如:
然后我们进入到 sqoop-1.99.7 下的 conf 目录里,修改 sqoop.properties:
这里我建议大家好好看看这段话:
它会提示你,这个配置文件里需要修改的有哪些地方。
先是 LOGDIR,配置文件中是相对路径,如果我们不配置的话,我们在哪里启动 sqoop2-shell(客户端) 就会在哪里生成一个”@LOGDIR@“的目录用来日志,就算这个我们不配置,BASEDIR 的目录也要配置。为了以后方便管理我们还是都把这个设置成绝对路径的好。
这个时候我们就可以使用全局替换的命令来完成这个操作:
# 设置日志文件的目录
0,%s/@LOGDIR@/\/usr\/hadoop\/sqoop-1.99.7\/logs/g
# 设置数据的存放目录
0,%s/@BASEDIR@/\/usr\/hadoop\/sqoop-1.99.7\/bin\/BASEDIR/g
可以看到这里需要使用到”\“来转义,这里我把存放日志的 logs 放到了 sqoop 的安装目录下。我们可以通过相同的命令来替换 BASEDIR (强烈建议将这个路径修改成绝对路径,不然总会有一天你会发现你之前创建的 link、job 都没有了,到时候再想找可就不是那么容易了!!!)
这里要将原来的修改成为我们现有集群的 hadoop 的配置文件的目录。
大概意思就是说,sqoop 需要依赖于 hadoop 几大组件,其实我们需要设置的可以用一个 ”$HADOOP_HOME“涵盖完了。这个我们之前已经配置过了,所以这一项可以忽略掉。当然,还是要配置上 sqoop 的目录,方便命令的使用。
最后别忘了使 /etc/profile 生效。
我们需要在 hadoop 的配置文件 core-site.xml 中加上这些内容:
这里我画了一下 ”hdfs://master:9000“,大家先记住这个地方,等会儿创建 link 的时候会用到。
将 mysql 的驱动放到 sqoop 的安装目录下的 server 下的 lib 目录下:
当然,这里我们也可以参照官网上的方法:
我为了省事儿就直接放到 server/lib 目录下了,这样可以省去配置第三方 jar 库,不过,有点精神洁癖的或者不习惯我这样操作的可以仿照官网的操作。
使用 sqoop2-tool 来完成初始化和验证:
分别执行这个命令,当看到:
Verification was Successful.
Tool class ..... has finished correctly.
就表示,我们配置成功了。
如图,我们可以使用 sqoop2-server [ start | stop ] 来启动和关闭服务端。之后使用 jps 命令可以查看到
会多了这个进程。
我们使用 sqoop2-shell 进入 sqoop 的命令行终端:
到这里我们的安装就已经完成了。在下一篇中,我们来看看怎么使用 sqoop2 。