这篇文章上次修改于 867 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
主要记录下折腾环境的一些问题吧,现在中文搜索的结果实在无力吐槽,只会复制粘贴。
注意下载的 Hadoop 和 Hive 的版本要对应,否则无法启动,具体版本支持可以在 Hive 下载 的界面看到。
连接 MySQL 的驱动建议直接前往官网下载对应数据库版本的驱动,不需要从别处下载。
- start-dfs.sh 提示
Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
解决:添加环境变量
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_COMMON_LIB_NATIVE_DIR"
- NameNode 启动失败
此问题较为复杂,一般建议检查 $HADOOP_HOME/logs
目录下对应的日志,哪个服务没起来就看哪个,尤其注意端口冲突问题,无法解决可以尝试删除 hadoop tmp 目录下的内容然后重新格式化 namenode。
- Hive 启动提示 `Exception in thread "main" java.lang.NoSuchMethodError:
com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)`
解决:删除 $HIVE_HOME/lib 下自带的 guava-xxxx.jar,然后把 $HADOOP_HOME/share/hadoop/hdfs/lib/guava-xxx-jre.jar
复制过来。
- Hive 连接 MySQL8.0 时驱动名称要改为
com.mysql.cj.jdbc.Driver
MySQL8.0 建立用户
create user 'hive' @'%' identified by 'App@123456';
grant all on . to 'hive'@'%';
flush privileges;- 如果 Hadoop 执行
hdfs namenode -format
重新格式化后建议进入数据库删除 Hive 对应的数据库,然后重新执行schematool -dbType mysql -initSchema
防止未知错误。 - Hive 启动提示 `Hive-on-MR is deprecated in Hive 2 and may not be available
in the future versions. Consider using a different execution engine
(i.e. spark, tez) or using Hive 1.X releases.`
解决:编辑 $HIVE_HOME/config/hive-site.xml
查找 hive.execution.engine
项,修改默认的存储 mr 为其他值。
没有评论
博主关闭了评论...