Hive学习——单机版Hive的安装

这篇具有很好参考价值的文章主要介绍了Hive学习——单机版Hive的安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、基本概念

(一)Hive概念

(二)优势和特点

(三)Hive元数据管理

(四)Hive架构

(五)Hive Interface – 其他使用环境

二、Hive环境搭建

1.自动安装脚本

2./opt/soft/hive312/conf目录下创建hive配置文件hive-site.xml

3.拷贝一个jar包到hive下面的lib目录下

4.删除hive的guava,拷贝hadoop下的guava

5.重启环境变量

6.启动hadoop服务

7.启动历史服务器  

8.修改hive日志文件的存放位置

9.HVM堆内存设置

10.首次连接Hive要初始化数据到mysql中

11.启动hive的两种方法

12.安装net-tools查看端口状态

13.赋予权限

14.关闭所有hive后台运行下面的命令

15.Datagrip远程连接


一、基本概念

(一)Hive概念

        Hive是基于Hadoop的数据仓库解决方案,将结构化的数据文件映射为数据库表,Hive提供类sql的查询语言HQL(Hive Query Language),Hive让更多的人使用Hadoop。

Hive官网:https://hive.apache.org/

(二)优势和特点

  • 提供了一个简单的优化模型
  • HQL类SQL语法,简化MR开发
  • 支持在不同的计算框架上运行
  • 支持在HDFS和HBase上临时查询数据
  • 支持用户自定义函数、格式
  • 常用于ETL操作和BI
  • 稳定可靠(真实生产环境)的批处理
  • 有庞大活跃的社区
  • MapReduce执行效率更快,Hive开发效率更快

(三)Hive元数据管理

记录数据仓库中模型的定义、各层级间的映射关系:

  • Hive存储在关系数据库中,默认的Hive默认数据库是Derby,轻量级内嵌SQL数据库,Derby非常适合测试和演示,存储在metastore_db目录中,实际生产一般存储在MySql中,修改配置文件hive-site.xml。
  • HCatalog:将Hive元数据共享给其他应用程序。
  • Hive的数据存储在hdfs上,Hive的select语句交给mapreduce来操作,减少写mapreduce的操作。

(四)Hive架构

Hive学习——单机版Hive的安装

Hive元数据存放在mysql中,表存放在hdfs中 

(五)Hive Interface – 其他使用环境

1.Hive Web Interface
2.Hue (Cloudera)
3.Ambari Hive View (Hortonworks)
4.JDBC/ODBC(ETL工具,商业智能工具,集成开发环境)

        Informatica, Talend,Tableau, QlikView, Zeppelin,Oracle SQL Developer, DB Visualizer等。

二、Hive环境搭建

1.自动安装脚本

(解压、修改文件名、配置环境变量)

#! /bin/bash
echo 'auto install begining...'

# global var
hive=true

if [ "$hive" = true ];then
   echo 'hive install set true'
   echo 'setup apache-hive-3.1.2-bin.tar.gz'
   tar -zxf /opt/install/apache-hive-3.1.2-bin.tar.gz -C /opt/soft/
   mv /opt/soft/apache-hive-3.1.2-bin /opt/soft/hive312
   sed -i '73a\export PATH=$PATH:$HIVE_HOME/bin' /etc/profile
   sed -i '73a\export HIVE_HOME=/opt/soft/hive312' /etc/profile
   sed -i '73a\# HIVE_HOME' /etc/profile
   echo 'setup hive success!!!'
fi

2./opt/soft/hive312/conf目录下创建hive配置文件hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/opt/soft/hive312/warehouse</value>
        <description></description>
</property>
<property>
        <name>hive.metastore.db.type</name>
        <value>mysql</value>
        <description></description>
</property>
<property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://192.168.180.141:3306/hive147?createDatabaseIfNotExist=true</value>
        <description></description>
</property>
<property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
        <description></description>
</property>
<property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
        <description></description>
</property>
<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
        <description></description>
</property>
<property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
        <description>关闭schema验证</description>
</property>
<property>
        <name>hive.cli.print.current.db</name>
        <value>true</value>
        <description>提示当前数据库名</description>
</property>
<property>
        <name>hive.cli.print.header</name>
        <value>true</value>
        <description>查询输出时带列名一起输出</description>
</property>
</configuration>

3.拷贝一个jar包到hive下面的lib目录下

Hive学习——单机版Hive的安装

4.删除hive的guava,拷贝hadoop下的guava

[root@lxm147 lib]# ls ./ | grep mysql-connector-java-8.0.29.jar 
mysql-connector-java-8.0.29.jar

[root@lxm147 lib]# ls ./ | grep guava-19.0.jar 
guava-19.0.jar


[root@lxm147 lib]# rm -f ./guava-19.0.jar 

[root@lxm147 lib]# ls ./ | grep guava-19.0.jar 

[root@lxm147 lib]# find /opt/soft/hadoop313/ -name guava*
/opt/soft/hadoop313/share/hadoop/common/lib/guava-27.0-jre.jar
/opt/soft/hadoop313/share/hadoop/hdfs/lib/guava-27.0-jre.jar

[root@lxm147 lib]# cp /opt/soft/hadoop313/share/hadoop/common/lib/guava-27.0-jre.jar ./

[root@lxm147 lib]# ls ./ | grep guava-27.0-jre.jar 
guava-27.0-jre.jar

5.重启环境变量

source /etc/profile

6.启动hadoop服务

start-dfs.sh
start-yarn.sh

7.启动历史服务器  

[root@lxm147 hive312]# mr-jobhistory-daemon.sh start historyserver

Hive学习——单机版Hive的安装

8.修改hive日志文件的存放位置

hive日志文件默认存放路径:/tmp/root/hive.log

修改hive-log4j2.properties.template文件

[root@lxm148 ~]# cd /opt/soft/hive312/conf/

[root@lxm148 conf]# mv ./hive-log4j2.properties.template ./hive-log4j2.properties

[root@lxm148 conf]# vim hive-log4j2.properties 

# 修改第24行
property.hive.log.dir = /opt/soft/hive312/logs

9.HVM堆内存设置

[root@lxm148 conf]# pwd
/opt/module/hive312/conf


[root@lxm148 conf]# mv hive-env.sh.template hive-env.sh


# 将hive-env.sh其中的参数 export HADOOP_HEAPSIZE修改为2048
[root@lxm148 conf]# vim ./hive-env.sh

# The heap size of the jvm stared by hive shell script can be controlled via:
export HADOOP_HEAPSIZE=2048

10.首次连接Hive要初始化数据到mysql中

[root@lxm147 hive312]# schematool -dbType mysql -initSchema

如果初始化出现错误,需要将mysql数据库中的hive147删除,然后hive再重新初始化

如果/tmp/root/目录下有hive.log,需要将其删除

11.启动hive的两种方法

第一种方法: 本地连接Hive

[root@lxm147 ~]# hive
which: no hbase in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/soft/jdk180/bin:/opt/soft/hadoop313/bin:/opt/soft/hadoop313/sbin:/opt/soft/hadoop313/lib:/opt/soft/hive312/bin:/root/bin)
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/soft/hive312/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/soft/hadoop313/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Hive Session ID = b02fa8fb-4597-4106-bc19-717baaf09932

Logging initialized using configuration in jar:file:/opt/soft/hive312/lib/hive-common-3.1.2.jar!/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Hive Session ID = 8ad40a3f-3ac3-461f-80eb-f9c656aab10b
hive (default)> show databases;

Hive学习——单机版Hive的安装  

Ctrl+c后RunJar就会退出

第二种:开启远程连接

# 先启动hiveserver2的服务
[root@lxm147 ~]# hive --service hiveserver2

# 再启动远程连接
[root@lxm147 ~]# beeline -u jdbc:hive2://192.168.180.147:10000
[root@lxm147 ~]# hive --service hiveserver2
which: no hbase in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/soft/jdk180/bin:/opt/soft/hadoop313/bin:/opt/soft/hadoop313/sbin:/opt/soft/hadoop313/lib:/opt/soft/hive312/bin:/root/bin)
2023-02-17 08:49:45: Starting HiveServer2
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/soft/hive312/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/soft/hadoop313/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Hive Session ID = 836e26fd-a569-429d-9d0c-e126ef369e04
2023-02-17 08:49:58,019 Log4j2-TF-2-AsyncLogger[AsyncContext@2471cca7]-1 ERROR Attempted to append to non-started appender query-routing
Hive Session ID = b3870d50-c9c2-46a5-bc08-dc17998ef08b
Hive Session ID = cc262716-a704-4eeb-8393-a34c4872cb61
Hive Session ID = 7cc18075-3afb-44d8-9ff2-b2400f0126ef
OK



[root@lxm147 ~]# beeline -u jdbc:hive2://192.168.180.147:10000
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/soft/hive312/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/soft/hadoop313/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Connecting to jdbc:hive2://192.168.180.147:10000
Connected to: Apache Hive (version 3.1.2)
Driver: Hive JDBC (version 3.1.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 3.1.2 by Apache Hive
0: jdbc:hive2://192.168.180.147:10000> 

Hive学习——单机版Hive的安装

一个RunJar是hiveserver2,一个RunJar是beeline

必须先开启hiveservice2,才可以开启beeline

12.安装net-tools查看端口状态

[root@lxm147 ~]# yum -y install net-tools

[root@lxm147 ~]# netstat -nltp | grep 10000
tcp6       0      0 :::10000                :::*                    LISTEN      7754/java          

13.赋予权限

[root@lxm147 ~]# hdfs dfs -chmod -R 777 /tmp

14.关闭所有hive后台运行下面的命令

[root@lxm147 ~]# nohup hiveserver2 1>/dev/null 2>&1 &
[1] 3140

Hive学习——单机版Hive的安装

15.Datagrip远程连接

启动hive客户端:先启动hiveserver2(nohup hiveserver2 1>/dev/null 2>&1 &),然后datagrip才能连接

Hive学习——单机版Hive的安装

Hive元数据存放在mysql中,表存放在hdfs中

启动元数据服务

nohup hive --service hiveserver2 &
nohup hive --service metastore &

Hive学习——单机版Hive的安装

Hive学习——单机版Hive的安装文章来源地址https://www.toymoban.com/news/detail-416754.html

到了这里,关于Hive学习——单机版Hive的安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HBase单机版安装详细步骤

    目录 一、安装HBase前置环境 1.jdk 2.hadoop 3.zookeeper 二、安装HBase步骤 (一)解压 (二)修改文件名 (三)修改配置文件 (四)配置HBase的环境变量 (五)启动HBase 1.启动hadoop 2.启动zookeeper 3.启动hbase 4.jps出现HMaster和HRegionServer 5.HBase的WebUI (六)HBase的逻辑结构: (七)HBase基本命令  1.进入HBase

    2024年02月07日
    浏览(61)
  • Nacos单机版安装启动流程

    安装地址:https://github.com/alibaba/nacos/ 1、选择自己需要的版本  2、选择自己的环境下在对应的压缩包  3、下载后放到自己的文件目录中解压 4、window环境修改startup.cmd文件,改为单机部署后,就可以直接点击cmd文件直接启动了 mac通过终端进入cd ~/nacos/bin 目录下,通过命令 

    2024年02月11日
    浏览(58)
  • 【大数据】安装 Zookeeper 单机版

    下面安装 Zookeeper,由于它是 Apache 的一个顶级项目,所以域名是 zookeeper.apache.org ,所有 Apache 的顶级项目的官网都是以项目名 .apache.org 来命名的。 点击 Download 即可下载,这里我们选择的版本是 3.5.10 ,下载之后扔到服务器上。由于 Zookeeper 是基于 Java 语言编写的,所以还需要

    2024年02月03日
    浏览(49)
  • docker 安装zookeeper单机版

    1. 安装版本3.5.7 ,  也可以自己去官网找到自己需要的版本复制命令即可    https://hub.docker.com/_/zookeeper/tags   2. 创建映射文件夹 :        3. docker命令创建容器 :     4.centos 打开防火墙2181端口,如果是云服务器的话,阿里云控制台打开云服务器2181端口就可以了。 5. 下载客

    2024年02月13日
    浏览(51)
  • Elasticsearch-01篇(单机版简单安装)

    首先,先简单了解一下 Elastic Stack : Elastic Stack 的核心产品包括 Elasticsearch、Kibana、Beats 和 Logstash (也称为 ELK Stack )等等。能够安全可靠地从任何来源获取任何格式的数据,然后对数据进行搜索、分析和可视化。 更多请看官网: https://www.elastic.co/cn/elastic-stack/. 2.1.1 下载 复制

    2024年02月12日
    浏览(40)
  • Flink单机版安装教程 - 步骤详解

    本教程详细介绍了如何在单机环境下安装和启动Apache Flink 1.16.0版本。包括下载稳定版安装包,使用tar命令解压,以及通过start-cluster.sh脚本启动Flink集群。

    2024年02月11日
    浏览(50)
  • centos7安装hadoop 单机版

    1.解压 (1)将hadoop压缩包复制到/opt/software路径下 (2)解压hadoop到/opt/module目录下 [root@kb135 software]# tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/ (3)修改hadoop属主和属组 [root@kb135 module]# chown -R root:root ./hadoop-3.1.3/ 2.配置环境变量 [root@kb135 module]# vim /etc/profile # HADOOP_HOME export HADOOP_HOME

    2024年02月11日
    浏览(46)
  • Docker基于本地文件安装Nacos单机版

    导出镜像: 删除原有镜像: 导入镜像: 启动nacos: 浏览器访问:http://localhost:8848/nacos,用户名和密码默认都是nacos

    2024年02月21日
    浏览(99)
  • Ubuntu22.04 安装单机版kubernetes

    上期讲到要实现.net 6框架下的EF Core操作数据库基本增删改查,没有及时兑现。没有兑现的原因就是因为安装kubernetes。安装kubernetes的过程是灾难性的,也是十分顺利的。灾难性是因为在安装kubernetes过程中误操作,在/etc下执行了一个重置的命令导致我的工作站系统崩塌了。索

    2024年02月06日
    浏览(63)
  • Linux快速安装Erlang和RabbitMQ单机版

    CentOS7 Xshell6 XFtp6 Erlang 21.3 RabbitMQ 3.8.4 同一个软件有很多种安装方式,在Linux系统有几种常见的软件安装方式: 源码编译安装:一般需要解压,然后使用 make 、 make install 等命令 RPM(RedHat Package Manager):是一种软件管理包,安装卸载比较简单,但无法解决软件包之间的依赖问

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包