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.rhkb.cn/news/371839.html

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

相关文章

Atom CMS v2.0 SQL 注入漏洞(CVE-2022-25488)

前言 CVE-2022-25488 是一个发现于 Telesquare SDT-CW3B1 设备中的命令注入漏洞。这一漏洞可以被未经认证的远程攻击者利用&#xff0c;通过特殊构造的 HTTP 请求在设备上执行任意命令。以下是关于该漏洞的详细信息&#xff1a; 漏洞详细信息 漏洞编号: CVE-2022-25488影响范…

记录一次ffmpeg手动编译出现的问题

前言部分 使用环境: ubuntu 22.04 最近手动编译了一次的ffmpeg&#xff08;参考博客ffmpeg学习&#xff1a;ubuntu下编译ffmpeg(全网最懒的编译脚本)&#xff09;&#xff0c;但是过程出现了一些问题&#xff0c;因此在此记录一下&#xff0c;若有疑问&#xff0c;欢迎讨论~。 …

【MotionCap】pycharm 远程在wsl2 ubuntu20.04中root的miniconda3环境

pycharm wsl2 链接到pycharmsbin 都能看到内容,/root 下内容赋予了zhangbin 所有,pycharm还是看不到/root 下内容。sudo 安装了miniconda3 引发了这些问题 由于是在 root 用户安装的miniconda3 所以安装路径在/root/miniconda3 里 这导致了环境也是root用户的,会触发告警 WA…

【MySQL】MySQL锁冲突排障纪要

【MySQL】MySQL锁冲突排障纪要 开篇词&#xff1a;干货篇&#xff1a;1.查看当前innodb status,里面包含事务,锁占用情况2.查看mysql进程状态3.查看innodb事务&#xff0c;锁&#xff0c;锁等待情况4.定位持有锁的线程信息 总结篇&#xff1a;一、锁冲突的原因二、锁冲突的表现…

BigDecimal(double)和BigDecimal(String)有什么区别?BigDecimal如何精确计数?

BigDecimal(double)和BigDecimal(String)的区别 double是不精确的&#xff0c;所以使用一个不精确的数字来创建BigDecimal&#xff0c;得到的数字也是不精确的。如0.1这个数字&#xff0c;double只能表示他的近似值。所以&#xff0c;当我们使用new BigDecimal(0.1)创建一个Bi…

一.2.(4)放大电路静态工作点的稳定;

1.Rb对Q点及Au的影响 输入特性曲线&#xff1a;Rb减少&#xff0c;IBQ&#xff0c;UBEQ增大 输出特性曲线&#xff1a;ICQ增大&#xff0c;UCEQ减少 AUUO/Ui分子减少&#xff0c;分母增大&#xff0c;但由于分子带负号&#xff0c;所以|Au|减少 2.Rc对Q点及Au的影响 输入特性曲…

Google账号输入用户名和密码后提醒要到手机通知点是,还要点击数字,但是我手机收不到

有一些朋友换了一个新的电脑后手机登录谷歌账号时&#xff0c;用户名和密码都正确输入以后&#xff0c;第三步弹出一个提示&#xff0c;要在手机上的通知栏点击是&#xff0c;并且点击手机上相应的数字才能继续登录。 但是自己的手机上下拉通知栏却没有来自谷歌的通知&#xf…

Qt(MSVC)下报“语法错误缺少“}““语法错误缺少“常数“ 的解决办法

1.现象 目前我在工程中试图使用QHttpServer时&#xff0c;一编译&#xff0c;就报了一堆奇奇怪怪的错误&#xff1a; D:\Qt\httpServer\Qt5.15.2\include\QtHttpServer\qhttpserverrequest.h:75: error: C2143: 语法错误: 缺少“}”(在“(”的前面) D:\Qt\httpServer\Qt5.15.…

0/1背包问题总结

文章目录 &#x1f347;什么是0/1背包问题&#xff1f;&#x1f348;例题&#x1f349;1.分割等和子集&#x1f349;2.目标和&#x1f349;3.最后一块石头的重量Ⅱ &#x1f34a;总结 博客主页&#xff1a;lyyyyrics &#x1f347;什么是0/1背包问题&#xff1f; 0/1背包问题是…

实现ubuntu的任务计划反弹shell

1.实验目的 使用Ubuntu定时任务反弹shell 2实验环境 ubuntu&#xff1a;ip地址&#xff1a;192.168.80.133 kali&#xff1a;ip地址&#xff1a;192.168.80.134 3.编写crontab计划任务 在ubuntu的系统中使用crontab -e命令编写计划任务 作用&#xff1a;是将一个交互式的…

【基于R语言群体遗传学】-12-超显性与次显性

欢迎先看前面的博客&#xff0c;再继续进行后面的内容&#xff1a; 群体遗传学_tRNA做科研的博客-CSDN博客 当杂合子的适应度超出纯合子的范围时&#xff0c;二倍体能够展现出更多令人着迷的选择实例。这种形式的一种是杂合子优势&#xff0c;或称为“超显性”&#xff0c;其…

MySQL中的数据类型

这里写目录标题 数值类型整数类型浮点数类型定点数类型 日期和时间类型字符串类型定长字符串变长字符串文本类型二进制类型 枚举和集合类型选择标准示例 SET FOREIGN_KEY_CHECKS0; DROP TABLE IF EXISTS sys_user; CREATE TABLE sys_user (user_id bigint NOT NULL AUTO_INCREM…

轻松转换!两款AI工具让word秒变ppt!

想把Word文档一键生成PPT&#xff0c;过去有一个很常见的做法&#xff1a;先在Word文档中设置标题样式&#xff0c;通过标题样式来分隔每一部分&#xff0c;之后导出为PPT&#xff0c;就能得到一份PPT的雏形&#xff0c;但这种方法无法对PPT自动进行美化&#xff0c;即得到的只…

现货黄金技术出现这一信号赶紧止损!

很多现货黄金投资者都并不知道&#xff0c;移动平均线除了可以用于寻找进场的机会&#xff0c;还可以用来设置止损&#xff0c;让自己在交易中更好地进行防守。其实移动平均线止损&#xff0c;是常用的技术止损方法之一&#xff0c;本文将和大家分享怎样利用均线设置止损点&…

Java | Leetcode Java题解之第217题存在重复元素

题目&#xff1a; 题解&#xff1a; class Solution {public boolean containsDuplicate(int[] nums) {Set<Integer> set new HashSet<Integer>();for (int x : nums) {if (!set.add(x)) {return true;}}return false;} }

VSCode远程连接Linux服务器

VSCode远程连接Linux服务器 一、下载VSCode二、远程连接Linux服务器2.1 安装插件2.2 连接linux服务器 我用的Linux服务器(腾讯云服务器&#xff0c;如果是虚拟机需要手动去配置ssh)&#xff0c;操作系统是ubuntu 20.04&#xff08;系统如果不一样&#xff0c;可以重装系统&…

2024/7/7总结

Servlet WebServlet("/demo2") public class servlet_demo2 extends HttpServlet {/*** 就绪/服务方法&#xff08;处理请求数据&#xff09;* 系统方法&#xff0c;服务器自动调用* 当有请求到达servlet时&#xff0c;就会调用该方法* 方法可以被多次调用* param r…

iOS多target时怎么对InfoPlist进行国际化

由于不同target要显示不同的App名称、不同的权限提示语&#xff0c;国际化InfoPlist文件必须创建名称为InfoPlist.strings的文件&#xff0c;那么多个target时怎么进行国际化呢&#xff1f;步骤如下&#xff1a; 一、首先我们在项目根目录创建不同的文件夹对应多个不同的targe…

多方SQL计算场景下,如何达成双方共识,确认多方计算作业的安全性

安全多方计算在SQL场景下的限制 随着MPC、隐私计算等概念的流行&#xff0c; 诸多政府机构、金融企业开始考虑参与到多方计算的场景中&#xff0c; 扩展数据的应用价值。 以下面这个场景为例&#xff0c; 银行可能希望获取水电局和税务局的数据&#xff0c;来综合计算得到各…

基于FPGA的图像边缘检测(OV5640)

一、简介 1.应用范围 边缘主要存在于图像中目标与目标之间&#xff0c;目标与背景之间&#xff0c;区域与区域之间。 边缘检测的目的就是找到图像中亮度变化剧烈的像素点构成的集合&#xff0c;表现出来往往是轮廓。如果图像中边缘能够精确的测量和定位&#xff0c;那么&…