zoukankan      html  css  js  c++  java
  • Ubuntu16下Hive 安装

    0.安装环境和版本

    Ubuntu16,hadoop版本是2.7.2 ,选择Hive版本为  hive-2.1.17

    1. Hive安装包下载

    地址: https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

     

    2.上传到服务器后解压

    sudo mv apache-hive-2.1.1-bin.tar.gz /usr/local
    
    sudo tar zxvf apache-hive-2.1.1-bin.tar.gz
    
    sudo mv apache-hive-2.1.1-bin  hive
    
    sudo chown –R hadoop:hadoop hive

    3.配置

    sudo vi /etc/profile.d/hadoop.sh

     

    添加以下内容

    #For Hive
    
    export HIVE_HOME=/usr/local/hive
    
    export HIVE_CONF_DIR=$HIVE_HOME/conf
    
    export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
    
    export PATH=$PATH:$HIVE_HOME/bin

    保存后使用命令:source /etc/profile使环境变量立即生效

    4.下载并设置好jdbc connector 

    从此处下载:https://dev.mysql.com/downloads/connector/j/

    记住,将解压出来的jar放入hive lib

    sudo cp mysql-connector-java-5.1.42-bin.jar $HIVE_HOME/lib/

    ln -s /usr/share/java/mysql-connector-java-5.1.42-bin.jar $HIVE_HOME/lib/mysql-connector-java-5.1.42-bin.jar

    5. 配置MySQL作为Hive的元数据存储库

    如果没有安装好MySQL,先在服务器装好MySQL。

    1) 创建hive数据库和用户

    GRANT all privileges on *.* TO 'hive' identified by 'Hive@12345';
    
    create database hive;
    
    flush privileges;  

     

     6. 配置hive-site.xml文件

    1) 配置hive-site.xml文件

    cd $HIVE_HOME/conf
    
    cp hive-default.xml.template hive-site.xml

    修改

    <name>hive.metastore.schema.verification</name>
    
    <value>true</value>

    改为

    <name>hive.metastore.schema.verification</name>
    
        <value>false</value>

    设置HIVE元数据库连接信息

    <property>  
    
       <name>javax.jdo.option.ConnectionURL</name>  
    
       <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>  
    
       <description>JDBC connect string for a JDBC metastore</description>  
    
    </property>  
    
    <property>  
    
      <name>javax.jdo.option.ConnectionDriverName</name>  
    
      <value>com.mysql.jdbc.Driver</value>  
    
      <description>Driver class name for a JDBC metastore</description>  
    
    </property>  
    
    <property>  
    
      <name>javax.jdo.option.ConnectionUserName</name>  
    
      <value>hive</value>  
    
      <description>username to use against metastore database</description>  
    
    </property>  
    
    <property>  
    
      <name>javax.jdo.option.ConnectionPassword</name>  
    
      <value>hive</value>  
    
      <description>password to use against metastore database</description>  
    
    </property>  

    6.初始化数据库

    在使用hive或者hive --service cli来运行之前需要初始化数据库,如果在初始化之前已经运行了上述命令并且失败,则需要删除产生的metastore_db文件

     

    使用命令schematool -initSchema -dbType mysql初始化mysql数据库

     

    出现以下几行说明初始化成功:

     

    7.启动Hive服务

    启动hive常用的两个服务

    # 使用这个服务,可以让metastore作为一个单独的(远程)进程运行

    nohup hive --service metastore 2>&1 >> /var/log.log &

    # 让Hive以提供Trift服务的服务器形式运行,允许用不同语言编写的客户端进行访问

    nohup hive  -–service hiveserver2  2>&1 >> /var/log.log &

     8. 复制hive到其他从节点

    将hive文件夹scp到其他从节点中,这样在其他服务器上也能访问hive

    9.报错解决

    1) 异常信息:

    异常信息:

    Exception in thread "main" Java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

            at org.apache.Hadoop.hive.ql.session.SessionState.start(SessionState.java:444)

    解决:

    查看hive-site.xml配置,会看到配置值含有"system:java.io.tmpdir"的配置项

    2.新建文件夹在hive目录下新建一个tmp目录

    3. ${system:java.io.tmpdir}/${system:user.name} 这两个一起替换为 /usr/local/hive/tmp 路径,有两个地方要替换

  • 相关阅读:
    io学习
    asp.net文件上传进度条研究
    asp.net页面中的Console.WriteLine结果如何查看
    谨慎跟随初始目的不被关联问题带偏
    android 按钮特效 波纹 Android button effects ripple
    安卓工作室 日志设置
    安卓工作室 文件浏览器 android studio File browser
    一个新的Android Studio 2.3.3可以在稳定的频道中使用。A new Android Studio 2.3.3 is available in the stable channel.
    新巴巴运动网上商城 项目 快速搭建 教程 The new babar sports online mall project quickly builds a tutorial
    码云,git使用 教程-便签
  • 原文地址:https://www.cnblogs.com/zjc10203/p/9064778.html
Copyright © 2011-2022 走看看