Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL

章节内容

上一节我们完成了:

  • Reduce JOIN 的介绍
  • Reduce JOIN 的具体实现
  • Driver
  • Mapper
  • Reducer
  • 运行测试

背景介绍

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

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

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

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

在这里插入图片描述

Hive简介

Hive 是基于 Hadoop的一个数据仓库,可以将结构化的数据文件映射为一张表,类似于RDBMS中的表,并提供SQL查询的功能,Hive是由FaceBook开源,用于解决海量结构化日志的数据统计。

  • Hive本质:将SQL转换为MapReduce任务进行执行
  • 底层是由HDFS来提供支持的
  • Hive对数据更新不友好,主要是读多写少的

在这里插入图片描述

Hive优点

  • 学习成本低,类似于 SQL 语言
  • 可处理海量数据,底层有 MapReduce 支持
  • 可水平扩展,基于 Hadoop
  • 支持自定义函数
  • 良好的容错性,某个节点错误后,HQL 仍然可以正常运行
  • 统一的元数据管理:表、字段、类型 等等

Hive缺点

  • HQL 表达能力有限
  • 迭代计算无法表达
  • Hive 执行效率不高
  • 自动生成的MR程序 有些不够智能
  • Hive调优困难

Hive架构

在这里插入图片描述

安装配置

前置要求

  • 三台Hadoop集群
  • Hive下载安装
  • MySQL 或者 MariaDB

下载Hive

https://archive.apache.org/dist/hive/hive-2.3.9/

当前我计划,把 Hive 安装到 h122 节点上。122空闲比较多。

cd /opt/software

使用wget下载

wget -O apache-hive-2.3.9-bin.tar.gz https://archive.apache.org/dist/hive/hive-2.3.9/apache-hive-2.3.9-bin.tar.gz

在这里插入图片描述

解压移动

cd /opt/software
tar zxvf apache-hive-2.3.9-bin.tar.gz -C ../servers/
cd ../servers
ls

在这里插入图片描述

环境变量

vim /etc/profile

在环境变量中,加入如下内容

# hive
export HIVE_HOME=/opt/servers/apache-hive-2.3.9-bin
export PATH=$PATH:$HIVE_HOME/bin

填写内容如下:
在这里插入图片描述

刷新环境变量

source /etc/profile

修改配置

cd $HIVE_HOME/conf

在这里插入图片描述
修改 hive-site.xml

vim hive-site.xml

注意如下配置,应该按照实际情况,修改成你的。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- hive元数据的存储位置 -->
<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://h122.wzk.icu:3306/hivemetadata?createDatabaseIfNotExist=true&amp;useSSL=false</value><description>JDBC connect string for a JDBC metastore</description>
</property>
<!-- 指定驱动程序 -->
<property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>Driver class name for a JDBC metastore</description>
</property>
<!-- 连接数据库的用户名 -->
<property><name>javax.jdo.option.ConnectionUserName</name><value>hive</value><description>username to use against metastore database</description>
</property>
<!-- 连接数据库的口令 -->
<property><name>javax.jdo.option.ConnectionPassword</name><value>hive@wzk.icu</value><description>password to use against metastore database</description>
</property>
</configuration>

填写的结果如下图:
在这里插入图片描述

MariaDB

直接安装

当前我是 Ubuntu 的机器,可以直接安装:

sudo apt install mariadb-server

在这里插入图片描述

启动服务

sudo systemctl start mariadb

安全配置

sudo mysql_secure_installation

在这里插入图片描述

建立用户

进入数据库,执行如下的指令。

CREATE USER 'hive'@'%' IDENTIFIED BY '你的密码';
GRANT ALL ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;

查询执行的结果
在这里插入图片描述

远程访问

vim /etc/mysql/mariadb.conf.d/50-server.cnf

修改 bind-address
在这里插入图片描述
创建ROOT用户,开启远程访问。

CREATE USER '你的用户'@'%' IDENTIFIED BY '你的密码';

查看当前的表信息

SELECT Host, User FROM mysql.user;

在这里插入图片描述

刷新权限

FLUSH PRIVILEGES;

初始化

我们需要给Hive一个链接的Jar包,平常我们写JDBC的时候,也会用到:

把mysql-connector-java-8.0.19.jar拷贝到 $HIVE_HOME/lib

在Hive节点上,运行如下指令:

schematool -dbType mysql -initSchema

在这里插入图片描述

查看结果

连接我们的数据库,可以看到如下的情况:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人机在航拍领域有哪些独特优势?

那肯定是便宜啊&#xff0c;相比传统的飞机或直升机航拍作业&#xff0c;无人机航拍具有更快的响应速度和更低的成本。无人机可以随时随地进行起降&#xff0c;并在短时间内完成航拍任务&#xff0c;极大地提高了作业效率。同时&#xff0c;无人机的运营成本相对较低&#xff0…

Mac如何杀毒?Mac电脑如何杀毒 mac杀毒软件推荐 mac杀毒软件哪个好用

Mac的轻薄和便携是众多白领选择它作为办公PC的原因&#xff0c;而除此之外&#xff0c;Mac另一个被人选择的原因&#xff0c;是macOS 系统特有的安全性。因此许多人以为&#xff0c;Mac不需要安装专门的杀毒软件。然而事实并非如此&#xff01; 每年都会出现许多恶意软件准们针…

【C++中ord的作用】

ord(s[i]) - ord(0): ord()的意思时求一个字符的Ascii码。 因为程序里如果x时用字符读入的&#xff0c;不能把他当作数字运算&#xff0c;要转化为数字。 比如说“0”的Ascii码为48&#xff0c;"1"到“9”的Ascii码分别为49到57&#xff0c;所以ord&#xff08;‘…

新手外贸都会面临的几个问题

如果你没有团队资源背景,只有你一个人,同时你想在2024年这个节点上,真正把外贸从0~1做起来,并且在几个月之后,能够依靠外卖给自己带来持续稳定的收入,这是我做外贸以来,以及我个人踩过无数个坑才得到的结论。 做外贸不要先想着我们要学习什么样技能,一定要先确定我们应该怎么赚…

微服务数据流的协同:Eureka与Spring Cloud Data Flow集成指南

微服务数据流的协同&#xff1a;Eureka与Spring Cloud Data Flow集成指南 在构建基于Spring Cloud的微服务架构时&#xff0c;服务发现和数据流处理是两个关键的组成部分。Eureka作为服务发现工具&#xff0c;而Spring Cloud Data Flow提供了数据流处理的能力。本文将详细介绍…

昇思学习打卡-3-张量Tensor

本章节系统的学习了张量的相关内容&#xff0c;张量是由若干个当坐标系改变时满足转换关系的分量组成的集合。它是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数。是一种类似于矩阵的特殊的数据结构。包括 创建张量的方式&#xff1b;张量的属性&#…

Android系统判断屏幕点击和按键其他人为触控时间的方法有哪些?

在Android系统中&#xff0c;判断屏幕点击、按键以及其他人为触控的时间是一个常见的需求&#xff0c;尤其在开发需要精细交互的应用时尤为重要。这一功能不仅提升了用户体验&#xff0c;还增强了应用的响应性和准确性。以下从技术难点、面试官关注点以及回答吸引力三个方面进行…

xml_woarchive undefined symbol

最近在linux中编译一个自己写的老代码。是个C动态库。可以编译成功&#xff0c;但直到运行的时候才报 boost xml_woarchive undefined symbol. 解决的方法是在编译时要加上 wserialization 库。 注意&#xff0c;这个库有含 w 和不含 w 两个。在我这里需要使用含 w 的。 如果…

解决:使用MySQL Command Line Client时光标不显示

问题描述: 使用MySQL Command Line Client时&#xff0c;命令行输入字符光标不显示, 如下图: 解决办法: 1.按Shift键将输入法切换至中文,打出中文: 2.再按一次Shift键,光标就会显示:

工作助手VB开发笔记(1)

1.思路 1.1 样式 样式为常驻前台的一个小窗口&#xff0c;小窗口上有三到四个按钮&#xff0c;为一级功能&#xff0c;是当前工作内容的常用功能窗口&#xff0c;有十个二级窗口&#xff0c;为选中窗口时的扩展选项&#xff0c;有若干后台功能&#xff0c;可选中至前台 可最…

antd+vue——实现table组件跨页多选,已选择数据禁止第二次重复选择

需求场景&#xff1a;点击【新增】按钮可以在分页弹窗中跨页多选选择数据后添加到页面中&#xff0c;再次点击【新增】&#xff0c;已经选择过的数据则置灰不让重复选择。 选择后&#xff0c;置灰 点击【确定】数据添加到页面中&#xff0c;可再次点击【新增】进行添加数据 …

项目上线文档编写指南

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

Ollama + Docker + AnythingLLM 搭建本地多用户AI知识库

整个过程需要准备三个工具&#xff1a; Ollama&#xff1a; 用于运行本地大模型的管理&#xff1a;llama3, qwen2等 Docker&#xff1a;用于运行AnythingLLM。 AnythingLLM&#xff1a;知识库运行平台&#xff0c;提供知识库构建及运行的功能。 Ollama, Docker 这二个安装不…

Intent页面跳转

1. Intent的概念及使用 概念 Android中提供了一种Intent机制来协助应用程序间、组件之间的交互与通信&#xff0c;Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述&#xff0c;Android则根据此Intent的描述&#xff0c;负责找到对应的组件&#xff0c;将I…

等保测评——云计算测评项2

安全计算环境-身份鉴别 当远程管理云计算平台中设备时&#xff0c;管理终端和云计算平台之间应建立双向身份验证机制&#xff1b; 远程管理云计算平台中的设备时&#xff0c;双向身份验证机制确保了管理终端和对端服务器的真实性&#xff0c;有效防止了重放攻击和DoS攻击,大大…

CGLib动态代理技术

基于CGLib的动态代理机制&#xff0c;ProxyFactoryy无需再像JDK动态代理那样实现一个interface&#xff0c;实际情况下可能这个interface并不存在&#xff0c;只需要实现另外一个接口MethodInterceptor即可 package com.hmdp.service.尚硅谷的代理模式3; //CGlib代理import …

模电基础 - 信号

目录 一. 信号 二. 信号应用领域 三. 无线信号 四. 电信号 五. 无线通信,蓝牙,lora 无线通信&#xff08;General Wireless Communication&#xff09; 蓝牙&#xff08;Bluetooth&#xff09; LoRa&#xff08;Long Range&#xff09; 一. 信号 信号是用于传递、表示或…

PEI转染试剂说明书(悬浮细胞转染)

目前使用最广泛的阳离子聚合物转染试剂是PEI&#xff08;聚乙烯亚胺&#xff09;&#xff0c;因其毒性低、成本低、免疫原性低&#xff0c;可将外源基因转染到悬浮细胞或贴壁细胞中。同时&#xff0c;它也是一种适用于瞬时转染人HEK-293T细胞的试剂&#xff0c;尤其适用于大规模…

Oracle密码过期处理方式

1、如果密码因为时间到期而过期&#xff0c;需要修改密码才能重新。 alter user mx identified by oracle; alter user mx account unlock; 2、如果不记得密码&#xff0c;可以通过values方式修改 select name,password from dba_users; --11g select name,password from …

AI大模型深度学习:理论与应用全方位解析

背景 在当前技术环境下&#xff0c;AI大模型学习不仅要求研究者具备深厚的数学基础和编程能力&#xff0c;还需要对特定领域的业务场景有深入的了解。通过不断优化模型结构和算法&#xff0c;AI大模型学习能够不断提升模型的准确性和效率&#xff0c;为人类生活和工作带来更多…