黄刚的技术博客

我是采用的源码编译的包安装的, 主要是考虑到会对部分功能做裁剪或增强, 具体源码编译方式可以参考另外一篇博文《编译Sqoop2错误解决》。然后从dist/target目录下拷贝sqoop-1.99.3.tar.gz压缩包的内容到/usr/lib/sqoop目录中。

接下来便是开始对相关配置文件进行配置,注意sqoop2是区分了server和client端的,我们首先安装服务端,记得服务端需要安装到可以执行hadoop命令行的机器上,最直接的方式就是安装到hadoop集群某个节点上,而客户端可以在任何机器上,只要能与sqoop server进行通信的机器就行。

1、服务端安装配置

进入/usr/lib/sqoop/server/conf目录,可以看到里面有几个配置文件, 有关于tomcat容器的还有sqoop本身的,首先我们配置catilina.properties,需要将hadoop的jar包依赖进来,当然,如果还需要导入hive或hbase,对应的jar包也需要照这样加入:

common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/../lib/*.jar,/home/cdh/hadoop-2.3.0-cdh5.1.2/share/hadoop/common/*.jar,/home/cdh/hadoop-2.3.0-cdh5.1.2/share/hadoop/common/lib/*.jar,/home/cdh/hadoop-2.3.0-cdh5.1.2/share/hadoop/hdfs/*.jar,/home/cdh/hadoop-2.3.0-cdh5.1.2/share/hadoop/hdfs/lib/*.jar,/home/cdh/hadoop-2.3.0-cdh5.1.2/share/hadoop/mapreduce/*.jar,/home/cdh/hadoop-2.3.0-cdh5.1.2/share/hadoop/mapreduce/lib/*.jar,/home/cdh/hadoop-2.3.0-cdh5.1.2/share/hadoop/tools/*.jar,/home/cdh/hadoop-2.3.0-cdh5.1.2/share/hadoop/tools/lib/*.jar,/home/cdh/hadoop-2.3.0-cdh5.1.2/share/hadoop/yarn/*.jar,/home/cdh/hadoop-2.3.0-cdh5.1.2/share/hadoop/yarn/lib/*.jar然后修改sqoop.properties,里面可以配置日志输出路径, 元数据内嵌数据库deby的信息等,需要注意的是修改deby库名为SQOOP,默认不是这个,而代码中却写死的这个,囧, 我们最主要修改以下位置:

<pre name="code" class="html"># JDBC repository provider configurationorg.apache.sqoop.repository.jdbc.handler=org.apache.sqoop.repository.derby.DerbyRepositoryHandlerorg.apache.sqoop.repository.jdbc.transaction.isolation=READ_COMMITTEDorg.apache.sqoop.repository.jdbc.maximum.connections=10org.apache.sqoop.repository.jdbc.url=jdbc:derby:@BASEDIR@/repository/SQOOP;create=trueorg.apache.sqoop.repository.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriverorg.apache.sqoop.repository.jdbc.user=saorg.apache.sqoop.repository.jdbc.password=

## Configuration for Mapreduce submission engine (applicable if it's configured)## Hadoop configuration directoryorg.apache.sqoop.submission.engine.mapreduce.configuration.directory=/home/cdh/hadoop/etc/hadoop/另外配置暂时不用怎么特殊配置,保持默认就行, 如果需要可以进一步特殊配置即可,, 毕竟先玩起来是要事!

最后需要做的一件事情就是将mysql-connector-java-5.1.20.jar这个MySQL驱动放入/usr/lib/sqoop/server/lib目录下:

最后便是启动服务端(我是安装到192.168.69.16):

/usr/lib/sqoop/bin/sqoop.sh server start

而作为客户端不需要任何配置,直接将压缩分发包发送到相应机器上解压,执行 bin/sqoop.sh client即可进入shell命令行界面,具体使用可以参考官方文档:

《Command Line Client》

遗留问题, 启动老是报一个错误,应该是日志jar冲突导致的,一直没搞定,如果有知道如何处理的,可以一起交流哈:

log4j: Finished configuring.log4j:ERROR A "org.apache.log4j.xml.DOMConfigurator" object is not assignable to a "org.apache.log4j.spi.Configurator" variable.log4j:ERROR The class "org.apache.log4j.spi.Configurator" was loaded bylog4j:ERROR [org.apache.catalina.loader.StandardClassLoader@56606032] whereas object of typelog4j:ERROR "org.apache.log4j.xml.DOMConfigurator" was loaded by [WebappClassLoader^M context: /sqoop^M delegate: false^M repositories:^M/WEB-INF/classes/^M ———-> Parent Classloader:^Morg.apache.catalina.loader.StandardClassLoader@56606032^M]. log4j:ERROR Could not instantiate configurator [org.apache.log4j.xml.DOMConfigurator].log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).log4j:WARN Please initialize the log4j system properly.

梦想不分高低贵贱,只要你心中有梦,乐观充实地过好每一天。

黄刚的技术博客

相关文章:

你感兴趣的文章:

标签云: