Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行

章节内容

上一节我们完成了:

  • Metastore的基础概念
  • 配置模式:内嵌模式、本地模式、远程模式
  • 实机配置远程模式 并测试

背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。
之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。

注意,如果你和我一样,打算用公网部署,那一定要做好防火墙策略,避免不必要的麻烦!!!
请大家都以学习为目的,也请不要对我的服务进行嗅探或者攻击!!!

但是有一台公网服务器我还运行着别的服务,比如前几天发的:autodl-keeper 自己写的小工具,防止AutoDL机器过期的。还跑着别的Web服务,所以只能挤出一台 2C2G 的机器。那我的配置如下了:

  • 2C4G 编号 h121
  • 2C4G 编号 h122
  • 2C2G 编号 h123

HiveServer2

HiveServer是一个服务端接口,使远程客户端可以执行对Hive的查询并返回结果。

HiveServer2(HS2)是一种允许客户端对Hive执行查询的服务。

  • 为Hive提供了一种允许客户端远程访问的服务
  • 基于thrift协议,支持跨平台,跨语言编程对Hive访问
  • 允许远程访问 Hive
    在这里插入图片描述

实机配置

配置规划

在这里插入图片描述

修改core-site

需要修改 h121 h122 h123的 Hadoop 相关配置:

cd /opt/servers/hadoop-2.9.2/etc/hadoop
vim core-site.xml

增加如下的内容:

<!-- HiveServer2 连不上10000;hadoop为安装用户 -->
<!-- root用户可以代理所有主机上的所有用户 -->
<property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.hadoop.hosts</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.hadoop.groups</name>
        <value>*</value>
</property>

在这里插入图片描述

修改 hdfs-site

cd /opt/servers/hadoop-2.9.2/etc/hadoop
vim hdfs-site.xml

增加如下内容:

<!-- HiveServer2 连不上10000;启用 webhdfs 服务 -->
<property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
</property>

配置如下:
在这里插入图片描述

启动服务

# 启动 hiveserver2 服务
nohup hiveserver2 &
# 检查 hiveserver2 端口
lsof -i:10000

在这里插入图片描述

此时访问 Web 页面:

h121.wzk.icu:10002

在这里插入图片描述

Beeline

在 h122 节点上启动 beeline

beeline

在这里插入图片描述

连接测试

使用指令进行连接

!connect jdbc:hive2://h121.wzk.icu:10000

连接过程中,需要输入账号密码(你的 ROOT账号和密码)
在这里插入图片描述

测试命令

show databases;
!help
!quit

在这里插入图片描述

HCatalog

HCatalog 使用了Hive的元数据存储,这样就使MapReduce这种第三方可以通过Hive进行数据的读取,同时HCatalog还支持用户子啊MapReduce程序中只读取需要的分区表和字段,而不需要读取整个表,只提供一种逻辑上的视图来读取数据。

测试运行:

cd $HIVE_HOME/hcatalog/bin

创建表测试:

./hcat -e "create table default.test1(id string, name string,
age int)"

在这里插入图片描述

相关推荐

  1. 000003 - Hadoop配置

    2024-07-10 13:44:04       13 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 13:44:04       4 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 13:44:04       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 13:44:04       4 阅读
  4. Python语言-面向对象

    2024-07-10 13:44:04       5 阅读

热门阅读

  1. 前端导出pdf

    2024-07-10 13:44:04       10 阅读
  2. Knife4j的原理及应用详解(五)

    2024-07-10 13:44:04       10 阅读
  3. Day2--每日一练

    2024-07-10 13:44:04       10 阅读
  4. 东方博宜1626 - 暑假的旅游计划

    2024-07-10 13:44:04       10 阅读
  5. react小白面试不得不会的20个问题——第二篇

    2024-07-10 13:44:04       11 阅读
  6. 简单滤波算法伪码

    2024-07-10 13:44:04       12 阅读
  7. Mongodb索引简介

    2024-07-10 13:44:04       7 阅读
  8. Linux 6种日志查看方法

    2024-07-10 13:44:04       11 阅读
  9. 案例研究(Case Study)是什么?怎么写?

    2024-07-10 13:44:04       8 阅读
  10. Linux虚拟化技术:从Xen到KVM

    2024-07-10 13:44:04       8 阅读
  11. 深度学习图片增强方式

    2024-07-10 13:44:04       10 阅读
  12. 什么是DNS欺骗

    2024-07-10 13:44:04       13 阅读
  13. leetcode hot 100 刷题记录

    2024-07-10 13:44:04       10 阅读