当前位置: 首页 > article >正文

Hive 部署

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.kler.cn/a/451141.html

相关文章:

  • 【赵渝强老师】MongoDB逻辑存储结构
  • 《Swift 字面量》
  • ffmpeg之播放一个yuv视频
  • 【Linux】Linux开发利器:make与Makefile自动化构建详解
  • 分享某大佬微信hook 最新版本 dll (懂得都懂)
  • Docker搭建kafka环境
  • 43.在 Vue 3 中使用 OpenLayers 利用 Canvas Clip 实现上卷帘功能
  • 业务栈、异常栈、中断栈独立设置的优劣势分析(RISC-V架构)
  • 【数据分析】贝叶斯定理
  • dubbo2.7.23注册中心、配置中心、元数据中心
  • centos日志管理,xiao整理
  • MBox20 网关拓新CNC 机床工业数据采集
  • 2024财年美国EB1A和NIW移民项目获批数据发布,获批率连续下跌,原因在哪?
  • 创新人工智能平台-MindsDB
  • 基于Jenkins+Docker的自动化部署实践——整合Git与Python脚本实现远程部署
  • ArKTS基础组件3
  • 六、模型显示位置与放缩
  • thinkphp6使用MongoDB多个数据,聚合查询的坑
  • 国内RPA产品对比
  • 【k8s】访问etcd
  • linux检测硬盘
  • 数据结构---MapSet
  • 【Java基础面试题035】什么是Java泛型的上下界限定符?
  • 批量多线程给TXT文档插入相关腾讯AI【高质量无水印无版权】原创图片
  • 本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——14Controller
  • 15.3、陷阱技术 入侵容忍 隐私保护技术