美文网首页
Hive安装部署

Hive安装部署

作者: 鋆坤 | 来源:发表于2022-01-30 19:10 被阅读0次

一、简介

Hive官网

二、搭建

准备

Hive 安装(注意切换用户hadoop)

  • 下载 Hive
cd /home/hadoop/soft
wget https://dlcdn.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
  • 解压
tar -zxvf apache-hive-3.1.2-bin.tar.gz
  • 下载 Mysql 驱动
cd /home/hadoop/soft/hive/lib
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar

修改配置

解压成功后,进入/home/hadoop/soft/hive/conf目录,所有的配置文件都在这里,需要进行配置。

  • 新建 hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
       <!-- jdbc 连接的 URL --> 
       <property>
             <name>javax.jdo.option.ConnectionURL</name>
             <value>jdbc:mysql://hadoop0001:3306/metastore?useSSL=false</value>
       </property>
       <!-- jdbc 连接的 Driver--> <property>
             <name>javax.jdo.option.ConnectionDriverName</name>
             <value>com.mysql.jdbc.Driver</value>
       </property>
       <!-- jdbc 连接的 username--> <property>
             <name>javax.jdo.option.ConnectionUserName</name>
             <value>root</value>
       </property>
       <!-- jdbc 连接的 password --> <property>
             <name>javax.jdo.option.ConnectionPassword</name>
             <value>root</value>
       </property>
       <!-- Hive 元数据存储版本的验证 --> <property>
             <name>hive.metastore.schema.verification</name>
             <value>false</value>
       </property>
       <!--元数据存储授权--> 
       <property>
             <name>hive.metastore.event.db.notification.api.auth</name>
             <value>false</value>
       </property>
       <!-- Hive 默认在 HDFS 的工作目录 --> 
       <property>
             <name>hive.metastore.warehouse.dir</name>
             <value>/hive/warehouse</value>
       </property>
      <!-- 打印 当前库 和 表头 --> 
      <property>
             <name>hive.cli.print.header</name>
             <value>true</value>
      </property>
      <property>
             <name>hive.cli.print.current.db</name>
             <value>true</value>
      </property>
</configuration>
  • 修改 hive 的 log 存放日志到/home/hadoop/hive/logs
cd /home/hadoop/hive/conf
mv hive-log4j2.properties.template hive-log4j2.properties
# 添加
hive.log.dir=/home/hadoop/hive/logs
  • 连接 Mysql 新建 Hive 元数据库
mysql -uroot -p000000
create database metastore
  • 初始化 Hive 元数据库
cd /home/hadoop/soft/hive/bin
schematool -initSchema -dbType mysql -verbose
  • 启动 Hive
bin/hive
  • 测试 Hive
hive> show databases;
hive> show tables;
hive> create table test (id int);
hive> insert into test values(1);
hive> select * from test;

使用元数据服务的方式访问 Hive

  • 在 hive-site.xml 文件中添加如下配置信息
<!-- 指定存储元数据要连接的地址 --> 
<property>
   <name>hive.metastore.uris</name>
   <value>thrift://hadoop0001:9083</value>
</property>
  • 启动 metastore
hive --service metastore

使用 JDBC 方式访问 Hive

  • 在 hive-site.xml 文件中添加如下配置信息
<!-- 指定 hiveserver2 连接的 host --> 
<property>
    <name>hive.server2.thrift.bind.host</name> 
    <value>hadoop0001</value>
</property>
<!-- 指定 hiveserver2 连接的端口号 -->
 <property>
   <name>hive.server2.thrift.port</name>
   <value>10000</value>
</property>
  • 启动 hiveserver2
bin/hive --service hiveserver2
  • 启动 beeline 客户端
bin/beeline -u jdbc:hive2://hadoop0001:10000 -n hadoop
  • Hive 服务启动脚本
#!/bin/bash
HIVE_LOG_DIR=/home/hadoop/soft/hive/logs
if [ ! -d $HIVE_LOG_DIR ]
then
mkdir -p $HIVE_LOG_DIR
fi
#检查进程是否运行正常,参数 1 为进程名,参数 2 为进程端口
function check_process()
{
pid=$(ps -ef 2>/dev/null | grep -v grep | grep -i $1 | awk '{print $2}')
ppid=$(netstat -nltp 2>/dev/null | grep $2 | awk '{print $7}' | cut -d '/' -f 1)
echo $pid
[[ "$pid" =~ "$ppid" ]] && [ "$ppid" ] && return 0 || return 1
}
function hive_start()
{
metapid=$(check_process HiveMetastore 9083)
cmd="nohup /home/hadoop/soft/hive/bin/hive --service metastore >$HIVE_LOG_DIR/metastore.log 2>&1 &"
[ -z "$metapid" ] && eval $cmd || echo "Metastroe 服务已启动"
server2pid=$(check_process HiveServer2 10000)
cmd="nohup /home/hadoop/soft/hive/bin/hiveserver2 >$HIVE_LOG_DIR/hiveServer2.log 2>&1 &"
[ -z "$server2pid" ] && eval $cmd || echo "HiveServer2 服务已启动"
}
function hive_stop()
{
metapid=$(check_process HiveMetastore 9083)
[ "$metapid" ] && kill $metapid || echo "Metastore 服务未启动"
server2pid=$(check_process HiveServer2 10000)
[ "$server2pid" ] && kill $server2pid || echo "HiveServer2 服务未启动"
}
case $1 in
"start")
hive_start
;;
"stop")
hive_stop
;;
"restart")
hive_stop
sleep 2
hive_start
;;
"status")
check_process HiveMetastore 9083 >/dev/null && echo "Metastore 服务运行正常" || echo "Metastore 服务运行异常"
check_process HiveServer2 10000 >/dev/null && echo "HiveServer2 服务运行正常" || echo "HiveServer2 服务运行异常"
;;
*)
echo Invalid Args!
echo 'Usage: '$(basename $0)' start|stop|restart|status'
;;
esac

相关文章

  • Spark on Hive配置踩坑全纪录

    Spark与Hive的分别安装与配置 可以参考Spark On Hive 部署和配置和Hive安装配置指南(含Hi...

  • hive环境搭建

    Hive2.1.1安装部署 一、Hive 运行模式 与Hadoop类似,Hive也有 3 种运行模式: 1. 内嵌...

  • 部署Hive3自定密码验证机制,Hadoop3配置proxy u

    本文讲解部署hive3的过程中遇到的问题和解决方案 一 :hive的部署 安装方法见Hive3整合Hadoop3的...

  • (八)Hive

    1.4.Hive的安装部署 (1)下载(hive-1.2.2) (2)上传到linux (3)解压 (4)重命名 ...

  • 8.hive安装 和 Hive环境准备 (hive on Spa

    1 Hive安装部署 1)把apache-hive-3.1.2-bin.tar.gz上传到linux目录下 2)解...

  • 数据仓库Hive

    Hive产生背景 Hive概述 HIve体系架构 Hive部署架构 Hive和RDBMS区别 Hive部署以及快速...

  • Hive安装部署

    一、课前准备 安装好对应版本的hadoop集群,并启动hadoop的HDFS以及YARN服务 安装了MySQL服务...

  • Hive安装部署

    感性认知: 数据库与数据仓库数据库:mysql、oracle、sqlserver、DB2、sqlite、MDB数据...

  • Hive安装部署

    一、简介 Hive官网[https://hive.apache.org] 二、搭建 准备 Hadoop集群(必须搭...

  • hadoop离线数据分析05

    mysql安装 卸载mysql Hive安装和部署 derby 版:(一般不采用) mysql 版: 创建vi ...

网友评论

      本文标题:Hive安装部署

      本文链接:https://www.haomeiwen.com/subject/xtffkrtx.html