hive的安装配置

以下是Hive的安装步骤总结,分为主要流程和详细步骤:


一、安装前提条件

  1. Java环境:确保已安装JDK 1.8或更高版本。
  2. Hadoop集群:Hive依赖Hadoop,需提前安装并启动HDFS和YARN。
  3. 数据库(可选):若需远程元数据存储,需安装MySQL/PostgreSQL等(我们默认安装使用MySQL)。

二、详细安装步骤

1. 下载Hive安装包

  • 从官网或镜像站下载Hive(如apache-hive-3.x.x-bin.tar.gz):
    1
    wget https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

2. 解压并配置环境变量

  • 解压到目标目录:
    1
    2
    tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/
    mv /opt/apache-hive-3.1.3-bin /opt/hive
  • 配置环境变量(~/.bashrc/etc/profile):
    1
    2
    export HIVE_HOME=/opt/hive
    export PATH=$PATH:$HIVE_HOME/bin
  • 使配置生效:
    1
    source ~/.bashrc

3. 配置元数据库(以MySQL为例)

  • 安装MySQL:安装并启动MySQL服务。

  • 创建Hive元数据库和用户:(我们默认用root用户,则一下内容可以选择配置,请思考哪些可以不用配置

    1
    2
    3
    4
    CREATE DATABASE hive;
    CREATE USER 'hive'@'%' IDENTIFIED BY 'hive_password';
    GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';
    FLUSH PRIVILEGES;
  • 将MySQL驱动包复制到Hive的lib目录,将Hadoop的guava-27.0.jar复制到Hive的lib目录

    1
    2
    3
    cp mysql-connector-java-5.1.34.jar $HIVE_HOME/lib/
    cp $HADOOP_HOME/share/hadoop/common/lib/guava-27.0.jar $HIVE_HOME/lib/
    rm -rf $HIVE_HOME/lib/guava-19.0.jar

4. 配置Hive配置文件

  • 进入$HIVE_HOME/conf目录,创建或修改以下文件:
    • hive-env.sh(环境变量配置):

      1
      2
      3
      export HADOOP_HOME=/opt/hadoop
      export HIVE_CONF_DIR=$HIVE_HOME/conf
      export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib
    • hive-site.xml(核心配置):

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      <configuration>
      <!-- 元数据库连接 -->
      <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://mysql-host: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>root_password</value>
      </property>
      <!-- HDFS存储路径,默认hive存储位置,可不配置,如有存储目录要求,则如下配置-->
      <property>
      <name>hive.metastore.warehouse.dir</name>
      <value>/user/hive/warehouse</value>
      </property>
      </configuration>
      <!-- 配置元数据服务地址,默认使用本地模式,如需远程模式,则如下配置-->
      <property>
      <name>hive.metastore.uris</name>
      <value>thrift://master:9083</value>
      </property>
      <!-- 配置HiveServer2服务地址,默认使用本地模式,如需远程模式,则如下配置-->
      <property>
      <name>hive.server2.thrift.bind.host</name>
      <value>node1</value>
      </property>

5. 初始化元数据库

  • 运行初始化命令:
    1
    schematool -dbType mysql -initSchema

6. 启动Hadoop集群

  • 确保HDFS和YARN已启动:
    1
    start-dfs.sh && start-yarn.sh

7. 如果是本地模式安装,则直接启动Hive

  • 直接启动hive:
    1
    hive

8. 如果是远程模式,启动Hive过程

  • 首先启动元数据服务
    1
    2
    3
    hive --service metastore 
    # 必须采用下面的后台启动命令,需要设置日志文件路径,如下面的logs:
    nohup hive --service metastore >>logs/metastore.log 2>&1 &
  • 然后在命令行启动
    1
    hive  # 直接进入Hive CLI

8. 验证安装

  • 执行简单HiveQL命令:
    1
    2
    CREATE TABLE test (id INT, name STRING);
    SHOW TABLES;

三、常见问题

  1. 权限问题:确保HDFS目录/user/hive/warehouse有读写权限。
  2. 本地模式和远程模式的区别:在于配置文件hive-site.xml中配置的hive.metastore.urishive.server2.thrift.bind.host。如果有则是远程模式,否则是本地模式。
  3. 端口冲突:确认MySQL和Hive服务端口未被占用。

四、扩展配置(可选)

  • Hive on Spark:配置Spark作为执行引擎。
  • 高可用模式:配置多节点元数据服务。
[up主专用,视频内嵌代码贴在这]