虚拟机安装单机hive以及简单使用hive

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

虚拟机安装单机hive以及简单使用hive

hive是我打算了解的有一个大数据方面的一个技术栈,上一篇文章介绍了Hadoop和hbase,有兴趣的朋友可以点击“文章”浏览,今天要介绍的hive也是要基于hadoop的,安装hive也要提前安装好hadoop。
刚了解这块的朋友肯定就会疑问这三者之间的关系是什么呢,从我这段时间对它们的简单了解,我的理解是,hadoop是根本,它通过分布式存储,分布式计算的方式从而提供了存储,处理大数据量的能力。
而hive基于hadoop可以将hadoop(存放在hadoop中的HDFS上)的数据可以结构化为我们经常见到的关系型数据库那样的一张张表的形式,而且通过类sql,这里叫hive sql的sql语句可以帮助我们处理数据,不用我们去写mapreduce,简化了我们对hadoop的操作。
但是hive的问题应该是它处理数据的速度是比较慢的(这里的慢比较的是hbase处理数据的速度),那么有些业务需要实时,快速的查询,或者要处理数据的时候,hive显然不符合,这时候就可以通过hbase来处理,hbase将数据(这里的数据其实也是hadoop里HDFS上的,通过hive处理同步给habse)转换成key-value的形式,hbase是一种nosql的形式,不过它也是可以通过hbase支持的sql来查询的,而且有相关的java API支持这些操作。至于hbase的查询速度为什么这么快,博主也还没有具体了解过,后面如果有需要会专门写一篇博客来分析。
上面是我对这三者的一些理解。废话少说,进入今天的正题

安装hive

安装hive之前先要在你的虚拟机上安装hadoop和mysql,上一篇文件博主已经安装了hadoop,所以这次只需要安装一下mysql即可

安装mysql

mysql安装可以去官网下载对应的安装包,然后传到虚拟机上,自己手动去安装,我这次主要不是要介绍这个,所以直接使用yum命令安装
执行下面的命令:

sudo yum -y install mysql-server

等待安装完成之后执行:

mysql -u root -p

通过这种方式安装最开始root是没有密码的,直接回车就可以登录mysql了
然后执行下面的命令给root用户添加上密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

然后退出重新登录mysql输入上面设置的密码就ok了

hive的安装

下载hive安装包

hive 安装包官网下载地址(官网,下载速度慢):
https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

hive 安装包国内镜像下载链接(清华大学开源软件镜像站,下载速度快):
https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
还是推荐使用国内镜像源,直接通过wget下载,解压

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
tar -zxvf apache-hive-3.1.3-bin.tar.gz
配置hive-site.xml

在hive的安装目录conf下创建hive-site.xml文件
vi hive-site.xml
然后将下面的内容添加上:

<configuration>

    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <!--hive 元数据库的JDBC驱动类,这里选则 MySQL-->
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>

    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <!--hive_metadata 为 hive 元数据在 MySQL 中的库名,注意字符集设置,由于是在XML中,URL中的&需要转译为&-->
        <value>jdbc:mysql://127.0.0.1:3306/hive_metadata?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
    </property>

    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <!--MySQL登录账户名-->
        <value>root</value>
    </property>

    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <!--MySQL登录密码-->
        <value>123456</value>
    </property>

    <property>
        <!--hive 表数据在 HDFS 的默认位置。创建内部表时,如果不指定 location,表数据则存储与该位置。-->
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse/internal</value>
    </property>

    <property>
        <!--hive 外部表数据在 HDFS 的默认位置。创建外部表时,如果不指定 location,表数据则存储与该位置。-->
        <name>hive.metastore.warehouse.external.dir</name>
        <value>/user/hive/warehouse/external</value>
    </property>

    <property>
        <name>hive.server2.enable.doAs</name>
        <value>false</value>
    </property>

</configuration>
配置hive-env.sh

将hive安装目录conf下的hive-env.sh.template 复制一份改名为 hive-env.sh
vi hive-env.sh
将下面的内容加上:

HADOOP_HOME=/usr/local/hadoop/hadoop-3.3.4 (改成你自己的hadoop的地址)
上传mysql JDBC jar包

Maven 中央仓库下载地址:
https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar

将该jar包上传到hive的安装目录lib下,也可以在lib/文件夹下通过wget直接下载

wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar
设置环境变量
vi /etc/profile
##将下面的内容添加到末尾
export HIVE_HOME=/usr/local/hive/apache-hive-3.1.3-bin
export PATH=$HIVE_HOME/bin:$PATH
##执行命令让配置生效
source /etc/profile
初始化元数据库
# 查看MySQL是否启动
service mysqld status
# 如果没有启动,则启动MySQL
service mysqld start
##初始化元数据库
schematool -initSchema -dbType mysql
启动hive

启动hive之前保证hadoop和mysql已经启动了
hive启动有三种方式(博主还没有深入了解)

# Client,JDBC/ODBC + hive Server
hive --service metastore
hive --service hiveserver2
# CLI,命令行 + hive 副本
hive --service cli
# 浏览器,WUI 
hive --service hwi

这里采用第一种启动方式,编写启动脚本,start-hive.sh
将下面内容添加上

#!/bin/bash
nohup hive --service metastore >> /usr/local/hive/apache-hive-3.1.3-bin/log/metastore.log 2>&1 &
nohup hive --service hiveserver2 >> /usr/local/hive/apache-hive-3.1.3-bin/log/hiveserver2.log 2>&1 &

然后:

# 赋予启动脚本执行权限
chmod +x start-hive.sh
# 创建日志目录:
mkdir /usr/local/hive/apache-hive-3.1.3-bin/log
#执行启动脚本
sh start-hive.sh
放行端口,web客户端
# 防火墙放行 8042 tcp 端口,Hadoop http服务端口,可用于在浏览器查看yarn日志
firewall-cmd --zone=public --add-port=8042/tcp --permanent
# 防火墙放行 10000 tcp 端口,hive jdbc连接端口
firewall-cmd --zone=public --add-port=10000/tcp --permanent
# 防火墙重新加载
firewall-cmd --reload

然后浏览器上访问:ip:8042
单机版hive端口,大数据相关,hive,hadoop,数据仓库

yarn-site.xml 添加 Hadoop 的类路径

查看 Hadoop 的类路径
hadoop classpath

编辑 Hadoop 的 yarn-site.xml 文件
vi /usr/local/hadoop/hadoop-3.3.4/etc/hadoop/yarn-site.xml

添加以下配置项:

  <property>
        <name>yarn.application.classpath</name>
        <!-- 输入刚才返回的Hadoop classpath路径 -->
        <value>/usr/local/hadoop/hadoop-3.3.4/etc/hadoop:/usr/local/hadoop/hadoop-3.3.4/share/hadoop/common/lib/*:/usr/local/hadoop/hadoop-3.3.4/share/hadoop/common/*:/usr/local/hadoop/hadoop-3.3.4/share/hadoop/hdfs:/usr/local/hadoop/hadoop-3.3.4/share/hadoop/hdfs/lib/*:/usr/local/hadoop/hadoop-3.3.4/share/hadoop/hdfs/*:/usr/local/hadoop/hadoop-3.3.4/share/hadoop/mapreduce/*:/usr/local/hadoop/hadoop-3.3.4/share/hadoop/yarn:/usr/local/hadoop/hadoop-3.3.4/share/hadoop/yarn/lib/*:/usr/local/hadoop/hadoop-3.3.4/share/hadoop/yarn/*</value>
    </property>

重启 Hadoop

stop-all.sh
start-all.sh

hive的简单使用

使用hive自带的客户端工具beeline来连接hive

beeline -u jdbc:hive2://127.0.0.1:10000 -n root

单机版hive端口,大数据相关,hive,hadoop,数据仓库
这里就可以使用hive sql来操作了
下面创建一个表,并加载数据
建表语句:
CREATE TABLE t_gdp(f_year VARCHAR(100),f_province VARCHAR(100),f_city VARCHAR(100),f_county VARCHAR(100),f_gdp DOUBLE) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘|’ LINES TERMINATED BY ‘\n’ STORED AS TEXTFILE;

在虚拟机上创建本地文件t_gdp_text.txt
vi t_gdp_text.txt
将下面的内容加上:

2021|s_1|ci_1|co_a|0.06|
2021|s_1|ci_2|co_b|0.05|
2021|s_1|ci_3|co_c|0.04|
2021|s_1|ci_4|co_d|0.03|
2021|s_2|ci_5|co_e|0.07|
2021|s_2|ci_6|co_f|0.08|
2021|s_2|ci_7|co_g|0.08|
2021|s_2|ci_8|co_h|0.09|

将文件中的数据加载到hive表中

load data local inpath '/tmp/t_gdp_text.txt' into table t_gdp;

连接hive客户端之后,在里面执行,local代表加载本地文件,也可以加载hdfs上的文件,去掉local即可
单机版hive端口,大数据相关,hive,hadoop,数据仓库
可以看到数据已经加载到hive中,同时在hdfs中同样存在了这份数据,通过下面的命令可以看到,/user/hive/warehouse/internal这是配置文件中内部表的目录,同样也有一个外部表的配置

hadoop fs -cat /user/hive/warehouse/internal/t_gdp/t_gdp_text.txt

除了通过hive自带的客户端beeline来连接,也可以通过DBeaver 来连接,我就不讲了,感兴趣可以百度一下,应该有很多教程。
这就是今天介绍hive的全部内容了,大数据相关的技术栈接下来要去了解一下spark,关注后续博客

参考文章:
https://www.hanshuixin.com/app/blog/detail/8492101201849a641d4b2c9380920000文章来源地址https://www.toymoban.com/news/detail-786876.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日
    浏览(57)
  • docker 安装zookeeper单机版

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

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

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

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

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

    2024年02月03日
    浏览(45)
  • Azkaban学习——单机版安装与部署

    目录 1.解压改名 2.修改装有mysql的虚拟机的my.cnf文件 3.重启装有mysql的虚拟机 4.Datagrip创建azkaban数据库,执行脚本文件 5.修改/opt/soft/azkaban-exec/conf/azkaban.properties文件 6.修改commonprivate.properties 7.传入mysql-connector-java-8.0.29.jar 8.开启Azkaban服务 9.进入Datagrip查看是否成功激活 10.激活

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

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

    2024年02月11日
    浏览(47)
  • 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日
    浏览(41)
  • Ubuntu22.04 安装单机版kubernetes

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

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

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

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

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

    2024年02月11日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包