Hive 离线安装
本文最后更新于 952 天前,其中的信息可能已经有所发展或是发生改变。

官网下载

  1. 进入 Hive官网,点击顶部导航栏的 Release
  2. 点击 Downloads 下的 Download a release now!
  3. 点击 HTTP 下的链接,跳转到新页面。
  4. 选择合适的版本,如 hive-3.1.3 开始下载。

前置条件

Hadoop 安装

具体安装过程请参考《Hadoop 离线安装》此篇文章。

PostgreSQL 安装

具体安装过程请参考《PostgreSQL 离线安装》此篇文章。

安装(基于Postgres存储元数据)

  1. 移动apache-hive-3.1.3-bin.tar.gz文件到Linux服务器/home目录下并解压tar -zxvf apache-hive-3.1.3-bin.tar.gz
  2. 修改conf下的配置文件
    • vi hive-site.xml,Hive的配置文件
      <?xml version="1.0" encoding="UTF-8" standalone="no"?>
      <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
      
      <configuration>
        <!-- Hive临时目录地址 -->
        <property>
          <name>hive.exec.scratchdir</name>
          <value>hdfs://hadoop-master:9000/hive/tmp</value>
        </property>
        <!-- Hive数据目录地址 -->
        <property>
          <name>hive.metastore.warehouse.dir</name>
          <value>hdfs://hadoop-master:9000/hive/warehouse</value>
        </property>
        <!-- Hive日志目录地址 -->
        <property>
          <name>hive.querylog.location</name>
          <value>hdfs://hadoop-master:9000/hive/log</value>
        </property>
      
        <!-- Hive存储元数据的数据库驱动 -->
        <property>
          <name>javax.jdo.option.ConnectionDriverName</name>
          <value>org.postgresql.Driver</value>
        </property>
        <!-- Hive存储元数据的数据库连接地址 -->
        <property>
          <name>javax.jdo.option.ConnectionURL</name>
          <value>jdbc:postgresql://192.168.232.132:5432/hive</value>
        </property>
        <!-- Hive存储元数据的数据库用户名 -->
        <property>
          <name>javax.jdo.option.ConnectionUserName</name>
          <value>admin</value>
        </property>
        <!-- Hive存储元数据的数据库密码 -->
        <property>
          <name>javax.jdo.option.ConnectionPassword</name>
          <value>76543</value>
        </property>
      
        <!-- 关闭Hive元数据版本认证,否则启动Spark时报错 -->
        <property>
          <name>hive.metastore.schema.verification</name>
          <value>false</value>
        </property>
      </configuration>
    • vi hive-env.sh,Hive环境变量的配置文件
      # 指定 Hadoop 路径
      HADOOP_HOME=/home/hadoop-3.3.4
      # 指定 Hive conf 目录
      export HIVE_CONF_DIR=/home/apache-hive-3.1.3-bin/conf
      # 指定 Hive jar 包目录
      export HIVE_AUX_JARS_PATH=/home/apache-hive-3.1.3-bin/lib
  3. 在HDFS中创建授权文件
    # 存放Hive运行时临时文件
    hadoop fs -mkdir -p /hive/tmp
    # 存放Hive数据的目录
    hadoop fs -mkdir -p /hive/warehouse
    # 存放Hive日志的目录
    hadoop fs -mkdir -p /hive/log
    
    # 文件授权
    hadoop fs -chmod -R 777 /hive/tmp
    hadoop fs -chmod -R 777 /hive/warehouse
    hadoop fs -chmod -R 777 /hive/log
  4. 配置JDBC驱动包
    • 进入PostgreSQL JDBC Driver官网,点击Download
    • 在Latest Versions下选择合适的版本,开始下载
    • 将下载的jar包移动到lib目录下
  5. 初始化Hive元数据
    bin/schematool -dbType postgres -initSchema
  6. 运行Hivebin/hive

运行服务

HiveServer2 服务端

后台启动nohup bin/hiveserver2 1>hiveserver2-info.log 2>&1 &

Beeline 客户端

  1. 由于Hadoop引入了一个安全伪装机制,不允许上层系统直接将实际用户传递到Hadoop,而是将实际用户传递给一个超级代理,委托该代理在Hadoop上执行操作,以避免任意客户端随意操作。修改hive-site.xml配置文件,让查询等操作以运行HiveServer2进程的用户执行,如此就有权限了。
    <property>
      <name>hive.server2.enable.doAs</name>
      <value>false</value>
    </property>
  2. 配置用户名和密码,hive.jdbc_passwd.auth.用户名,如果有多个用户就写多个<property>
    <property>
      <name>hive.jdbc_passwd.auth.admin</name>
      <value>76543</value>
    </property>
  3. 启动Beeline
    # 启动 beeline
    bin/beeline
    # Beeline version 3.1.3 by Apache Hive
    
    # 连接 hive
    beeline> !connect jdbc:hive2://192.168.232.70:10000/default
    # Connecting to jdbc:hive2://192.168.232.70:10000/default
    # Enter username for jdbc:hive2://192.168.232.70:10000/default: admin
    # Enter password for jdbc:hive2://192.168.232.70:10000/default: *****
    # Connected to: Apache Hive (version 3.1.3)
    # Driver: Hive JDBC (version 3.1.3)
    # Transaction isolation: TRANSACTION_REPEATABLE_READ
    
    # 查看 database
    jdbc:hive2://192.168.232.70:10000/default> show databases;
    # +----------------+
    # | database_name |
    # +----------------+
    # | default       |
    # | test          |
    # +----------------+
    # 2 rows selected (1.639 seconds)
如果觉得本文对您有帮助,记得收藏哦~
上一篇
下一篇