zoukankan      html  css  js  c++  java
  • 每日总结

    安装了hive,遇到了许多问题,总结:

    1.启动hive需要先启动Hadoop集群,不然会报错。

    2.之前我本来想用windows下安装的MySQL来作为元数据存储,但是遇到了许多问题。主要就是pc端ip不固定,因为连接校园网,所以每次都会重新分配ip,导致我的虚拟机和本机的MySQL连接经常会出问题,所以又费了很大功夫在虚拟机上安装了MySQL。推荐一篇很详细的教程(centos7为例):linux(Centos7)安装mysql - binbin_cloud - 博客园 (cnblogs.com)

    3.初始化命令报错(schematool -dbType mysql -initSchema)

    org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
    Underlying cause: java.sql.SQLException : Access denied for user 'root'@'node01' (using password: YES)

    这个问题花了很长时间,网上的很多教程说的是MySQL中用户权限不够,但是我可以肯定已经分配好了权限,而且我在windows下已经可以用navicat连接到虚拟机的MySQL了,但是一到初始化就报这个错误。后来我想到在配置conf/hive-site.xml文件时,我是根据教程直接复制了一份默认文件进行修改添加,而这个文件里有很多其他属性并不知道含义。后来看到有一篇安装教程直接将配置文件中除了MySQL配置部分全部覆盖,我按照这个办法,果然成功解决了问题。贴出我的配置文件:(MySQL8.x以上驱动名需要加.cj

    <configuration>
            <property>
                    <name>javax.jdo.option.ConnectionURL</name>
                    <value>jdbc:mysql://192.168.51.100:3306/hive?createDatabaseIfNotExist=true</value>
            </property>
            <property>
                    <name>javax.jdo.option.ConnectionDriverName</name>
                    <value>com.mysql.jdbc.Driver</value>
            </property>
            <property>
                    <name>javax.jdo.option.ConnectionUserName</name>
                    <value>root</value>
            </property>
            <property>
                    <name>javax.jdo.option.ConnectionPassword</name>
                    <value>password</value>
            </property>
            <property>
                    <name>hive.metastore.schema.verification</name>
                    <value>false</value>
            </property>
    </configuration>

    虽然我之前也尝试修改过hive-site文件,但估计是修改的不完全,总之问题就出现在这里,而不是用户权限问题

    4.如果你的Hadoop和hive版本不匹配的话,可能会出现版本jar包的冲突,用高版本jar包覆盖低版本jar包就可以了,详见:Hive启动报错:java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument - 狗子的进阶史 - 博客园 (cnblogs.com)

    5.这段错误代码具体原因我忘记了,剪贴板找到的。没记错的话应该是如果没有初始化而直接启动hive,会产生metastore_db文件,需要删除它再初始化。如果先前测试的时候在hive中建了数据库,也要先删除这个数据库

    HiveMetaException: Failed to get schema version.
    Underlying cause: com.mysql.cj.jdbc.exceptions.CommunicationsException : Communications link failure
    
    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

    贴上成功安装的截图:(太不容易了

     

  • 相关阅读:
    面向对象设计模式之Facade外观模式(结构型)
    Android 多线程:使用Thread和Handler
    Android源码分析之Handler
    Android View的几个位置坐标关系
    LinearLayout布局问题
    Android app被系统kill的场景
    改变Activity启动时的默认动画
    ViewStub源码分析
    Android measure过程分析
    点击ViewGroup时其子控件也变成pressed状态的原因分析及解决办法
  • 原文地址:https://www.cnblogs.com/Arisf/p/15346079.html
Copyright © 2011-2022 走看看