Hive 部署

news/2024/12/25 14:30:41/

1 下载并安装

1.1 Hadoop安装

参考另一篇博客:Hadoop 部署

1.2 安装包下载

可通过下面网站下载:

  • 官网:https://dlcdn.apache.org/hive/。
  • 清华源:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/。

1

比如下载apache-hive-4.0.1-bin.tar.gz,将其上传到服务器上。

1.3 安装

解压安装包:

tar -zxvf apache-hive-4.0.1-bin.tar.gz -C /opt/hive/

1.4 配置文件

在conf目录下需要存在hive-site.xml文件,可以创建或复制hive-default.xml.template

  • 创建
    touch conf/hive-site.xml
    
    并添加内容:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- Hive默认在HDFS的工作目录 --><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property>
    </configuration>
    
  • 复制hive-default.xml.template
    cp conf/hive-default.xml.template conf/hive-site.xml
    

2 元数据库

元数据可以存储在Derby(安装包中自带的)或MySQL中,推荐使用MySQL。

2.1 Derby

直接初始化就可以:

bin/schematool -dbType derby -initSchema

在Hive目录下看到生成metastore_db就是成功了。
2

2.2 MySQL

2.2.1 Mysql安装

如果安装了Mariadb,可以先将其卸载,以防止和MySql产生冲突。
可以使用在线安装:

sudo apt-get install mysql-server-8.0

关于MySQL部署与配置这里不做详细说明。

2.2.2 驱动

将驱动jar包复制到Hive根目录下的lib文件夹中。下载驱动jar包,有以下方式:

  • 官网:https://downloads.mysql.com/archives/c-j/。下载后解压缩,只要jar包即可。
    3

  • Maven仓库:https://mvnrepository.com/artifact/com.mysql/mysql-connector-j。
    4

2.2.3 配置

在conf文件夹下的hive-site.xml文件的<configuration>...</configuration>中添加以下内容:

<!-- jdbc连接的URL -->
<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://node1:3306/metastore?createDatabaseIfNotExist=true</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>cluster</value>
</property>
<!-- jdbc连接的password -->
<property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value>
</property>
2.2.4 初始化
bin/schematool -dbType mysql -initSchema

3 HiveServer2 配置

HiveServer2是Apache Hive的服务器端组件,提供远程SQL查询和交互式数据分析的支持。它通过Thrift服务和JDBC/ODBC接口,允许用户从多种客户端工具访问Hive数据仓库

3.1 Hadoop配置

HiveServer2提供用户模拟功能,使得它能够模拟客户端用户的身份去访问Hadoop集群。这一功能依赖于Hadoop的代理用户(proxy user)机制。在配置HiveServer2时,需要将其启动用户设置为Hadoop的代理用户,并在Hadoop的配置文件core-site.xml<configuration>...</configuration>中添加相应的代理用户配置:

<!-- 配置Hadoop代理用户cluster可以代理的主机 -->
<property><name>hadoop.proxyuser.cluster.hosts</name><value>*</value> <!-- * 表示所有主机 -->
</property>
<!-- 配置Hadoop代理用户cluster可以代理的主机 -->
<property><name>hadoop.proxyuser.cluster.hosts</name><value>*</value> <!-- * 表示所有主机 -->
</property>
<!-- 配置Hadoop代理用户cluster可以代理的用户 -->
<property><name>hadoop.proxyuser.cluster.users</name><value>*</value> <!-- * 表示所有用户 -->
</property>

当用户在客户端提交SQL语句时,HiveServer2会模拟该用户的身份去请求HDFS或者提交计算任务到Yarn上,然后将结果返回给客户端。这一功能确保了用户权限的隔离,使得每个用户只能访问自己有权限的数据,从而提高了数据的安全性。

3.2 Hive 配置

在conf文件夹下的hive-site.xml文件的<configuration>...</configuration>中添加以下内容:

<!-- 指定hiveserver2连接的host -->
<property><name>hive.server2.thrift.bind.host</name><value>node1</value>
</property>
<!-- 指定hiveserver2连接的端口号 -->
<property><name>hive.server2.thrift.port</name><value>10000</value>
</property>

3.3 启动

nohup bin/hive --service hiveserver2 >/dev/null 2>&1 &

4 测试

bin/beeline -n cluster -u jdbc:hive2://node1:10000

进入如下界面:
5

然后就可以使用SQL语句操作数据库了。


http://www.ppmy.cn/news/1558017.html

相关文章

springBoot Maven 剔除无用的jar引用

目录 Used undeclared dependencies found Unused declared dependencies found 当项目经过一段时间的开发和维护后&#xff0c;经常会遇到项目打包速度变慢的问题。这通常与项目中包含大量的jar依赖有关&#xff0c;这些依赖之间的关系错综复杂。这种情况在项目维护过程中是…

UE5 物体自动跟随主角镜头转向

A、思路 Tick&#xff0c;设置物体世界旋转 旋转数值源于物体自身位置与玩家摄像机位置的差值 效果是物体自动转向&#xff0c;玩家镜头动&#xff0c;则物体也随之调整角度。 适合一些提示文字&#xff0c;如按键提示、帮助之类。 B、参考图

Jmeter对图片验证码的处理【超详细】

Jmeter对图片验证码的处理 在web端的登录接口经常会有图片验证码的输入&#xff0c;而且每次登录时图片验证码都是随机的&#xff1b;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段&#xff0c;然后再登录接口中使用&#xff1b; 通过jmeter对图片验证码…

Django 模型字段类型详解

在 Django 中,模型是应用程序的核心部分之一。它们是 Python 对象,用于映射数据库表。每个模型都由一系列字段组成,这些字段代表数据库表中的列。Django 提供了丰富的字段类型,用于定义模型字段,以满足各种数据存储需求。 © ivwdcwso (ID: u012172506) 1. CharField Cha…

iPhone通话记录生成器,苹果一键生成通话记录,手机ios制造专家

因为苹果手机系统是闭环的&#xff0c;封闭的&#xff0c;所以没有苹果版ios的。铁牛通话记录生成器&#xff08;tieniusoft&#xff09;&#xff0c;只有安卓手机才能使用的。操作方法&#xff0c;见下图。 第&#xff08;1&#xff09;步&#xff1a;批量复制粘贴&#xff0c…

Unity录屏插件-使用Recorder录制视频

目录 1.Recorder的下载 2.Recorder面板 2.1常规录制属性 2.2录制器配置 2.2.1添加录制器 2.2.2配置Input属性 2.2.3配置 Output Format 属性 2.2.4配置 Output File 属性 3.Recorder的使用 3.1录制Game View视频 3.1.1Recorder配置与场景搭建 3.1.2开始录制 3.1.3…

事务管理在系统开发Spring提供事务管理机制

分类 主要分为编程式事务和声明式事务两种。 编程式事务 是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例: java try {//TODO somethingtransactionManager.commit(status); } catch (Exception e) {transactionManager.rollback(status);thr…

Vue框架入门

Author&#xff1a;Dawn_T17&#x1f965; 目录 什么是框架 一.Vue 的使用方向 二.Vue 框架的使用场景 &#xff08;TIP&#xff09;MVVM思想 三.Vue入门案例 TIP&#xff1a;插值表达式 四.Vue-指令 &#xff08;1&#xff09;v-bind 和 v-model &#xff08;2&…