zoukankan      html  css  js  c++  java
  • Hive- Hive安装

    Hive安装

    1.1下载Hive安装包

    官网:http://hive.apache.org/downloads.html

    个人建议到这里下载:http://apache.forsale.plus/

    1.2将hive文件上传到HADOOP集群,并解压

    将文件上传到 /usr ,解压

    tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/  

    重命名: mv /usr/apache-hive-1.2.1-bin /usr/hive 

    1.3配置环境变量

    编辑/ect/profile

    #set hive env
    export HIVE_HOME=/export/servers/hive
    export PATH=${HIVE_HOME}/bin:$PATH
    
    #让环境变量生效
    source /etc/profile
    

    1.4修改hive配置文件hive/conf/

    进入配置文件的目录

    cd /usr/hive/conf/

    修改hive-env.sh文件

    cp hive-env.sh.template hive-env.sh
    
    将以下内容写入到hive-env.sh文件中
    export JAVA_HOME=/export/servers/jdk
    export HADOOP_HOME=/export/servers/hadoop
    export HIVE_HOME=/export/servers/hive

    修改log4j文件

    cp hive-log4j.properties.template hive-log4j.properties
    
    将EventCounter修改成org.apache.hadoop.log.metrics.EventCounter
    #log4j.appender.EventCounter=org.apache.hadoop.hive.shims.HiveEventCounter
    log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter

    1.5配置远程登陆模式

    创建hive-site.xml文件

    touch hive-site.xml

    将以下信息写入到hive-site.xml文件中

    <configuration>
      <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/usr/hive-1.2.2/warehouse</value>
      </property>
      <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop02:3306/hivedb?createDatabaseIfNotExist=true</value> //红色字体为你的hive主机名   </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> //database user name
      </property>   <property>     <name>javax.jdo.option.ConnectionPassword</name>     <value>password</value>  //database password   </property>

    <property>
    <name>hive.cli.print.current.db</name>
    <value>true</value>
    </property>

    
    


    <property>
    <name>hive.cli.print.header</name>
    <value>true</value>
    </property>

    
    </configuration>

    1.6安装MySQL并配置数据库及权限

    安装MySQL数据库及客户端

    yum install mysql-server
    yum install mysql
    service mysqld start               //开启服务
    修改MySQL的root用户的密码:
    # mysql -u root mysql
    mysql>use mysql;
    mysql>desc user;
    mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "password";  //为root添加远程连接的能力。
    mysql>update user set Password = password('xxxxxx') where User='root';
    mysql>select Host,User,Password  from user where User='root'; 
    mysql>flush privileges;
    mysql>exit;

    重新登陆: mysql -u root -p 检查是否安装完成。

    把mysql-connector-java-5.1.28.jar下载放到hive的lib目录

    执行 schematool -dbType mysql -initSchema 

    1.7启动

    启动hive之前先启动HA集群

    1.启动ZK集群 三台zk node1,2,3执行 zkServer.sh start 
    2.启动 hadoop  start-dfs.sh 

    3启动yarn  start-yarn.sh  或者 start-all.sh //同时把集群和yarn开启 

      利用 jps 检查namenode是否正常开启,没有的话需要手动单点启动: hadoop-daemon.sh start namenode 

    4.开数据库服务:

    service   mysqld  start 
    service   mysqld  start    //检查服务状态

    5.开启hive

    运行hive命令即可启动hive

    1.8测试

     show databases; 

    1.9参考官网

    https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin

    二.HIVE安装报错解决方案

    1、执行 schemaTool -dbType mysql -initSchema 如果报错Terminal initialization failed; falling back to unsupported

                将/export/servers/hive/lib 里面的jline2.12替换了hadoop 中/export/servers/hadoop/hadoop-2.6.1/share/hadoop/yarn/lib/jline-0.09*.jar

    这个问题的报错是因为你在执行apache-hive-1.2.2-bin版本的时候,抛出的异常,解决方案是把该hive版本的lib下面的jline-2.12.jar拷贝到/usr/hadoop/share/hdoop/yarn/lib里面,然后把yarn里面的lib的jlne-0.09.jar包给改个名字即可。

    重新启动hive即可。

    2、登录SQL权限问题

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;   

    flush privileges;

    3、 java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

    解决方案:

    schemaTool -dbType mysql -initSchema 

     4,WARN: Establishing SSL connection without server’s identity verification is not recommended

    Sun Aug 23 13:39:14 CST 2020 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.
    

    解决方案:

    1.设置useSSL=false
    这里有个坑就是hive的配置文件是.XML格式,而在xml文件中&amp;才表示&,所以正确的做法是在Hive的配置文件中,如hive-site.xml进行如下设置

    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true&amp;useSSL=false</value>
        <description>JDBC connect string for a JDBC metastore</description>
      </property>
    

      

      

  • 相关阅读:
    ERROR 1406 : Data too long for column 解决办法
    Sublime配置Python编译环境
    python下载包的时候,如何选择是win32,还是amd64的,其中的cp又是什么意思?
    曝光一个网站,我周末就耗在上面了。(学习)
    Matlab 画图时中文显示乱码的问题?(设置为“桌面代码”修改时区后还是乱码使用这个方法)
    什么是前端和后端开发,看完你就知道了
    彻底卸载mysql 个人亲测!
    python语言的优缺点
    阿里云、华为云和腾讯云等多家物联网平台的异同
    nfs Read only system 问题解决 + NFS 安装
  • 原文地址:https://www.cnblogs.com/RzCong/p/7324851.html
Copyright © 2011-2022 走看看