前景:
最近重拾大数据上的知识,记录一下遇到的几种错。
问题1:
hadoop环境搭建完成后,访问hdfs网址:xx.xxx.xxx.xx:50070不能访问,试试:9870
# 问题2:
安装sqoop后尝试连接数据库报:Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/avro/LogicalType
解决方案:
avro-1.8.1.jar包放到导入到hadoop的share/hadoop/mapreduce/lib文件夹下,不是sqoop的Lib,sqoop安装好了lib里自带avro依赖包
问题3:
安装sqoop后尝试连接数据库导入到hdfs中时报:java.lang.Exception: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class name not found
name为数据库中的表名
解决方案:
仔细看你会发现,在bin中出现了很多xxx.class或者其他的文件,所以这些文件编译后,sqoop并不能读取到,所以需要移动到lib下,或者在语句中加上
-m 1 --bindir /usr/local/sqoop/lib/
这是直接将编译后的文件绑定到lib下
问题4:
配置hive之后,启动报:WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
解决方案:
在hive-site.xml中的数据库配置上加上x.xx.x.xx:3306/xxx?ssl=false
问题5:
启动hive报:FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me…
解决方案:
问题的原因;hive的数据库MySQL在安装的时候没有初始化
解决办法:初始化数据库
schematool -dbType mysql -initSchema
问题6:
.hive报:ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
解决方案:
原因:缺少了hive-common-2.3.3.jar包,在hive的lib目录下,拷贝到sqoop的lib目录下即可。
总结:
总的来说,问题大部分出现在配置上,所以在配置环境的时候,还是要理解下为什么配置。其次就是lib中jar的缺少,这几种是最常见的了,遇见再补充