admin 管理员组文章数量: 887019
Sqoop,Flume 安装,配置
下载安装包
sqoop
Index of /dist/sqoop/1.4.7
flume
Apache Downloads
导入, 解压 安装包
我这里使用mobaxterm导入虚拟机/opt/software/ 下
解压
tar -zxvf /opt/software/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local/src
tar -zxvf /opt/software/apache-flume-1.11.0-bin.tar.gz -C /usr/local/src/
解压之后我这里重命名文件为,sqoop,flume,不这样做的记得环境变量配置要注意路径名
配置环境变量
export SQOOP_HOME=/usr/local/src/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
export CLASSPATH=$CLASSPATH:$SQOOP_HOME/libexport FLUME_HOME=/usr/local/src/flume
export PATH=$PATH:$FLUME_HOME/bin
修改配置文件
配置sqoop配置文件
cd /usr/local/src/sqoop/conf/ cp sqoop-env-template.sh sqoop-env.sh#进入/sqoop/conf/,复制模板并重命名为sqoop-env.sh
修改配置文件中如下配置,保证路径与实际安装路径一致
export HADOOP_COMMON_HOME=/usr/local/src/hadoopexport HADOOP_MAPRED_HOME=/usr/local/src/hadoopexport HBASE_HOME=/usr/local/src/hbaseexport HIVE_HOME=/usr/local/src/hive
为了sqoop能够连接mysql数据库,所以要将mysql-connector-java-5.1.47.jar放入./sqoop/lib/ 下
为了sqoop能够连接hive,要将/usr/local/src/hive/lib/hive-common-3.1.3.jar 放入./sqoop/lib/ 下
配置flume配置文件
cd /usr/local/src/flume/conf/ cp flume-env.sh.template flume-env.sh#进入/flume/conf/,复制模板并重命名为flume-env.sh
修改jdk安装路径
启动sqoop,flume
启动sqoop
start-all.sh #需要启动hadoop集群
jps #查看hadoop是否启动成功
sqoop list-databases --connect jdbc:mysql://localhost:3306/?useSSL=false --username root --password
#sqoop查看mysql中所有数据库,?useSSL=false非常重要
报错处理:
1. ERROR manager.CatalogQueryManager: Failed to list databases
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
2.ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
3.The last packet successfully received from the server was 484 milliseconds ago. The last packet sent successfully to the server was 450 milliseconds ago.
如果你遇到了上面的问题,是因为你没有设置useSSL=false,这个设置在mysql中默认开启的,但是你的sqoop没有useSSL连接,所以当你尝试使用sqoop查看mysql中所有数据库,mysql会默认使用useSSL连接sqoop,所以会产生报错,所以在使用sqoop查看mysql时,要加上useSSL=false,让msyql直接关闭useSSL连接。
4. INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
这是因为/sqoop/lib中commons-lang3-3.4.jar,Sqoop1.4.7默认只加载了commons-lang3-3.4.jar的jar包,里面的StringUtils类的package为:org/apache/commons/lang3/StringUtils,所以直接使用sqoop命令时报上述错误。
所以需要手动获取旧版的jar包,上传至sqoop的lib目录,比如:commons-lang-2.6.jar,之后再使用sqoop命令,就不会显示上述错误了。
这是一个commons-lang-2.6.jar的下载链接,下载放入/sqoop/lib即可。
//commons/lang/binaries/commons-lang-2.6-bin.zip
启动flume
flume-ng version #验证flume是否安装成功
如果出现该问题,那么就修改/hbase/hbase-env.sh,中
注释掉HIVE_CONF_DIR即可,这并不会影响hbase
本文标签: Sqoop,Flume 安装 配置
版权声明:本文标题:Sqoop,Flume 安装,配置 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1730878418h1399679.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论