[success]

内容持续更新......

[/success]

主要记录下折腾环境的一些问题吧,现在中文搜索的结果实在无力吐槽,只会复制粘贴。

 

  • 注意下载的 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;)V

解决:删除 $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为其他值。


且乐生前一杯酒