博客
关于我
Hive的安装部署
阅读量:473 次
发布时间:2019-03-06

本文共 3516 字,大约阅读时间需要 11 分钟。

Hive的安装部署

Hive的安装分为三种模式:内嵌模式、本地模式和远程模式。Hive会自动监测Hadoop的环境变量,因此在安装前需确保Hadoop已正确配置并运行。


1. 内嵌模式

1.1 安装步骤

  • 解压Hive并配置环境变量

    apache-hive-3.1.2-bin.tar.gz上传至/root/software,解压并重命名为hive-3.1.2。修改/etc/profile,添加以下环境变量:

    export HIVE_HOME=/usr/local/hive-3.1.2
    export PATH=$HIVE_HOME/bin:$PATH

    重新加载环境变量:

    source /etc/profile
  • 配置hive-env.sh

    如果没有hive-env.sh,则将hive-env.sh.template复制过来并编辑,设置以下变量:

    export HIVE_CONF_DIR=/usr/local/hive-3.1.2/conf
    export JAVA_HOME=/usr/local/jdk
    export HADOOP_HOME=/usr/local/hadoop
    export HIVE_AUX_JARS_PATH=/usr/local/hive-3.1.2/lib
  • 配置hive-site.xml

    hive-default.xml.template复制至hive-site.xml,并修改内容:

    cp hive-default.xml.template hive-site.xml
    vi hive-site.xml

    替换所有${system:java.io.tmpdir}/usr/local/hive-3.1.2/iotmp,并将${system:user.name}替换为root

  • 创建存储目录并授权

    创建以下目录并设置权限:

    hdfs dfs -mkdir -p /user/hive/warehouse
    hdfs dfs -mkdir -p /tmp/hive
    hdfs dfs -chmod 750 /user/hive/warehouse
    hdfs dfs -chmod 777 /tmp/hive
  • 启动Hadoop

    start-dfs.sh
    start-yarn.sh
  • 初始化Hive

    schematool --initSchema -dbType derby
  • 启动Hive

    bin/hive

    在Hive CLI中执行以下命令:

    show databases;  # 查看数据库
    show tables; # 查看表
    create table dog (id int, name string); # 创建表
    insert into dog values (1, "wangcai"); # 插入数据
    desc dog; # 查看表结构
    quit; # 退出

  • 2. 本地模式

    本地模式使用MySQL作为元数据存储,Hive的相关进程运行在同一台机器上。MySQL需要手动安装并配置。

    2.1 安装MySQL

  • 卸载Mariadb(若有):

    rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
  • 安装MySQL

    rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
    yum install -y net-tools perl
    rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
  • 启动MySQL服务并设置密码

    systemctl start mysqld
    systemctl status mysqld

    登录MySQL:

    mysql -u root -p

    修改密码并授权root用户:

    alter user root@localhost identified by '123456';
    grant all privileges on *.* to 'root'@'%' with grant option;
    FLUSH PRIVILEGES;
  • 配置Hive

    复制并编辑hive-env.sh,并设置以下内容:

    cp hive-env.sh.template hive-env.sh
    vi hive-env.sh

    修改hive-site.xml,添加以下配置:

    cp hive-default.xml.template hive-site.xml
    vi hive-site.xml

    替换hive.metastore.warehouse.dir/user/hive/warehousehive.exec.scratchdir/tmp/hive

  • 上传MySQL驱动

    mysql-connector-java-8.0.26.jar上传至$HIVE_HOME/lib

  • 初始化数据库

    bin/schematool -initSchema -dbType mysql
  • 启动Hive

    bin/hive

  • 3. 远程模式

    3.1 服务端配置

  • 修改hive-site.xml

    设置以下参数:

    hive.metastore.warehouse.dir
    /user/hive/warehouse
    hive.exec.scratchdir
    /tmp/hive
    javax.jdo.option.ConnectionURL
    jdbc:mysql://qf03:3306/hive?createDatabaseIfNotExist=true&characterEncoding=latin1
    javax.jdo.option.ConnectionDriverName
    com.mysql.cj.jdbc.Driver
    javax.jdo.option.ConnectionUserName
    root
    javax.jdo.option.ConnectionPassword
    123456
  • 配置Hadoop核心-site.xml

    添加以下属性:

    hadoop.proxyuser.root.hosts
    *
    hadoop.proxyuser.root.groups
    *
  • 3.2 启动Hive服务

  • Hiveserver2

    hive --service hiveserver2 &
  • Metastore

    hive --service metastore &
  • 3.3 客户端连接

  • 连接Hiveserver2

    使用Beeline客户端工具:

    beeline -u jdbc:hive2://ip:10000 -n username

    输入用户名和密码后即可操作。

  • 连接Metastore

    修改hive-site.xml,设置hive.metastore.uristhrift://ip:9083,并启动Metastore服务。


  • 通过以上步骤,可以轻松完成Hive的安装与配置。无论是内嵌模式、本地模式还是远程模式,Hive都能为用户提供强大的数据处理能力。

    转载地址:http://gpqbz.baihongyu.com/

    你可能感兴趣的文章
    mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
    查看>>
    MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
    查看>>
    MYSQL8.0以上忘记root密码
    查看>>
    Mysql8.0以上重置初始密码的方法
    查看>>
    mysql8.0新特性-自增变量的持久化
    查看>>
    Mysql8.0注意url变更写法
    查看>>
    Mysql8.0的特性
    查看>>
    MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    查看>>
    MySQL8修改密码的方法
    查看>>
    Mysql8在Centos上安装后忘记root密码如何重新设置
    查看>>
    Mysql8在Windows上离线安装时忘记root密码
    查看>>
    MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
    查看>>
    mysql8的安装与卸载
    查看>>
    MySQL8,体验不一样的安装方式!
    查看>>
    MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
    查看>>
    Mysql: 对换(替换)两条记录的同一个字段值
    查看>>
    mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
    查看>>
    MYSQL:基础——3N范式的表结构设计
    查看>>
    MYSQL:基础——触发器
    查看>>
    Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
    查看>>