Hive入门+部署

news2024/9/23 3:18:23

 看黑马视频做的笔记 


目录

概念

1.基本概述

2.基础架构

总架构

部署

1.安装MySQL

2.配置Hadoop   

3.下载解压Hive

4.下载MySQL Driver包

注意!

5.配置Hive

6.初始化元数据库

7.启动Hive(使用Hadoop用户)

 实例

查看HDFS上表中存储的内容

 在mysql中查看表的相关信息

 在WEB上查看MapReduce

 总结


概念

1.基本概述

        数据的统计分析(编程语言(JAVA或Python)与SQL)

        SQL做统计很方便、MapReduce支持程序开发(Java、Python等)但不支持SQL开发

        所以有了Hive:Apache Hive是一款分布式SQL计算的工具,其主要功能是:·将SQL语句翻译成MapReduce程序运行

        基于Hive为用户提供了分布式SQL计算的能力:写的是SQL、执行的是MapReduce

2.基础架构

        Apache Hive其2大主要组件就是:SQL解析器以及元数据存储

总架构

部署

        部署在node1上,只需要部署在一台服务器即可,但他可以提交分布式运行的MapReduce程序运行。

1.安装MySQL

root用户进行下操作

# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

# 安装Mysql yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

# yum安装Mysql
yum -y install mysql-community-server

# 启动Mysql设置开机启动
systemctl start mysqld
systemctl enable mysqld

# 检查Mysql服务状态
systemctl status mysqld

# 第一次启动mysql,会在日志文件中生成root用户的一个随机密码,使用下面命令查看该密码
grep 'temporary password' /var/log/mysqld.log

复制该密码

#登录mysql:
mysql -u root -p

#输入复制的密码
Enter password:

 
# 修改root用户密码
# 如果你想设置简单密码,需要降低Mysql的密码安全级别
set global validate_password_policy=LOW; # 密码安全级别低
set global validate_password_length=4;	 # 密码长度最低4位即可

# 然后就可以用简单密码了(课程中使用简单密码,为了方便,生产中不要这样)
alter user 'root'@'localhost' identitied by '123456';

grant all privileges on *.* to root@"%" identified by '123456' with grant option;
#刷新权限  
flush privileges;

exit;
#登录验证
mysql -uroot -p

2.配置Hadoop   

        Hive的运行依赖于HadoopHDFSMapReduceYARN都依赖)同时涉及到HDFS文件系统的访问,所以需要配置Hadoop的代理用户。即设置hadoop用户允许代理(模拟)其它用户

        添加配置文件到Hadoop的core-site.xml,并分发到其它节点,且重启HDFS集群

hadoop用户下操作

vim  /export/server/hadoop/etc/hadoop/core-site.xml 

添加:
<property>
  <name>hadoop.proxyuser.hadoop.hosts</name>
  <value>*</value>
  </property>

 <property>
  <name>hadoop.proxyuser.hadoop.groups</name>
  <value>*</value>
 </property>


#分发
scp core-site.xml node2:`pwd`/
scp core-site.xml node3:`pwd`/

3.下载解压Hive

hadoop用户下操作

#在线下载Hive安装包:
wget http://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

#解压到node1服务器的:/export/server/内
tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /export/server/

#设置软连接
ln -s /export/server/apache-hive-3.1.3-bin /export/server/hive

4.下载MySQL Driver

cd /export/server/hive/lib/

#在线下载
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar

注意!

hive的lib下面与guava版本与hadoop的目录share/hadoop/common/lib版本不一样后面会报错

#删除hive的lib下面的guava-19.0.jar
rm -r /export/server/hive/lib/guava-19.0.jar

拷贝hadoop下面的guava-27.0.jar到hive的lib下面
cp -r /export/server/hadoop/share/hadoop/common/lib/guava-27.0.jar  /export/server/hive/lib/

5.配置Hive

mv /export/server/hive/conf/

将conf里面的模板重命名
mv hive-env.sh.template hive-env.sh

#添加
export HADOOP_HOME=/export/server/hadoop
export HIVE_CONF_DIR=/export/server/hive/conf
export HIVE_AUX_JARS_PATH=/export/server/hive/lib

vim hive-site.xml

添加以下内容:

<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
  </property>

  <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>node1</value>
  </property>

  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://node1:9083</value>
  </property>

  <property>
    <name>hive.metastore.event.db.notification.api.auth</name>
    <value>false</value>
  </property>

</configuration>

6.初始化元数据库

mysql -uroot -p

在MySQL中新建数据库:hive
CREATE DATABASE hive CHARSET UTF8;
exit


执行元数据库初始化命令:
cd /export/server/hive
bin/schematool -initSchema -dbType mysql -verbos

# 初始化成功后,会在MySQL的hive库中新建74张元数据管理的表。
检查以下是否成功
mysql -uroot -p
use hive
show tables;

7.启动Hive(使用Hadoop用户)

确保Hive文件夹所属为hadoop用户

创建一个hive的日志文件夹: 
mkdir /export/server/hive/logs

启动元数据管理服务(必须启动,否则无法工作)二选一
前台启动:bin/hive --service metastore 
后台启动:nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &


启动客户端(启动前要先启动HDFS和Yarn集群)
Hive Shell方式(可以直接写SQL): bin/hive

 成功页面

 实例

#进入hive
create table test(id int, name string, gender string);

insert into test values(1,'zhangsan', 'male'),(2, "lisi", "male"),(3, "wanger",'female');

SELECT gender, COUNT(*) AS cnt FROM test GROUP BY gender;

 结果:

查看HDFS上表中存储的内容

 在mysql中查看表的相关信息

 元数据的路径

 在WEB上查看MapReduce

 总结

1. Hive写的是SQL,但跑的是MapReduce

2.HIve元数据管理中mysql存的是元数据及其相关信息

2.Hive处理的数据看起来处理的是表,实际上处理的是HDFS里面的文本文件,他将SQL语句翻译成MapReduce,对文件进行MapReduce分布式计算,再以表格的形式返回结果

 

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

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

相关文章

网络基础【网线的制作、OSI七层模型、集线器、交换机介绍、路由器的配置】

目录 一.网线的制作 1.1.网线的标准 1.2.水晶头的做法 二.OSI七层模型、集线器、交换机介绍 集线器&#xff08;Hub&#xff09;&#xff1a; 交换机&#xff08;Switch&#xff09;&#xff1a; 三.路由器的配置 3.1.使用 3.2.常用的功能介绍 1、如何管理路由器 2、家…

CW32单片机在智能马桶的应用介绍

智能科技的迅速发展使得我们的日常生活变得更加便捷和舒适。智能马桶作为其中一种智能家居产品&#xff0c;通过单片机接受和处理来自传感器的数据&#xff0c;然后通过控制模块对智能马桶的各项功能进行控制&#xff0c;实现对智能马桶的全面控制和调节。本文将介绍CW32单片机…

苹果发布iOS 17.2.1版本更新

12月20日&#xff0c;苹果向iPhone用户推送了iOS 17.2.1更新。苹果公司在更新日志中称&#xff1a;“本更新包含了重要的错误修复&#xff0c;并解决了某些情况下电池电量较预期更快耗尽的问题。” 据报道&#xff0c;iOS 17系统在发布初期便出现了一系列问题&#xff0c;如发…

PSP - 结构生物学中的机器学习 (NIPS MLSB Workshop 2023.12)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/135120094 Machine Learning in Structural Biology (机器学习在结构生物学中) 网址&#xff1a;https://www.mlsb.io/ Workshop at the 37th Co…

神经科学与计算神经科学的蓬勃发展与未来趋势

导言 神经科学和计算神经科学是当前科学研究领域中备受关注的方向。本文将深入研究这两个领域的发展历程、遇到的问题、解决过程&#xff0c;以及未来的可用范围。我们还将关注在各国的应用现状以及未来的研究趋势&#xff0c;探讨如何在竞争中取胜&#xff0c;以及在哪些方面发…

大数据处理与分析

掌握分布式并行编程框架MapReduce掌握基于内存的分布式计算框架Spark理解MapReduce的工作流程、Spark运行原理熟悉机器学习概念 一.MapReduce Hadoop MapReduce是一个软件框架&#xff0c;基于该框架能够容易地编写应用程序&#xff0c;这些应用程序能够运行在由上千个商用机器…

机器学习数据的清洗,转化,汇总及建模完整步骤(基于Titanic数据集)

目录 介绍&#xff1a; 一、数据 二、检查数据缺失 三、数据分析 四、数据清洗 五、数据类别转化 六、数据汇总和整理 七、建模 介绍&#xff1a; 线性回归是一种常用的机器学习方法&#xff0c;用于建立一个输入变量与输出变量之间线性关系的预测模型。线性回归的目标…

vs code创建工程,以koa框架为例

以下内容为本人的学习笔记&#xff0c;如需要转载&#xff0c;请声明原文链接 微信公众号「englyf」https://mp.weixin.qq.com/s/x2OXMTaLlxb_Os7NDHrKsg 这里以应用 koa 框架写一个 http 服务器为例&#xff0c;来说明怎么用 vs code 创建工程。 进入 vs code 后&#xff0c…

云服务器 nginx自启动、mysql自启动、pyhton后端自启动

nginx自启动 方法一&#xff1a; 1、建立启动文件 vim /usr/lib/systemd/system/nginx.service [Unit] Descriptionnginx - high performance web server Afternetwork.target remote-fs.target nss-lookup.target[Service] Typeforking ExecStart/usr/local/nginx/sbin/ng…

DMA实验3-外设到内存搬运

实验要求 使用 DMA 的方式将串口接收缓存寄存器的值搬运到内存中&#xff0c;同时闪烁 LED1 。 CubeMX 配置 DMA 配置&#xff1a; 串口中断配置 代码实现 如何判断串口接收是否完成&#xff1f;如何知道串口收到数据的长度&#xff1f; 使用串口空闲中断&#xff08;IDL…

2023优秀开源项目获选榜名单(开放原子开源基金会)|JeecgBoot 成功入选

JeecgBoot 是一个开源的企业级低代码开发平台&#xff0c;它成功入选2023年度生态开源项目&#xff0c;这是对其十年坚持开源的认可。作为一个开源项目&#xff0c;JeecgBoot 在过去的十年里一直秉承着开放、共享、协作的理念&#xff0c;不断推动着开源社区的发展。 2023年开放…

华为配置IPv4静态路由与静态BFD联动示例

组网需求 如图1所示&#xff0c;SwitchA通过SwitchB和NMS跨网段相连。在SwitchA上通过静态路由与NMS进行正常通信。在SwitchA和SwitchB之间实现毫秒级故障感知&#xff0c;提高收敛速度 配置思路 采用如下思路配置IPv4静态路由与静态BFD联动&#xff1a; 在SwitchA和SwitchB上…

LVS+keepalived小白都看得懂也不来看?

1 高可用集群 1.1 一个合格的集群应该具备的特性 1.负载均衡 LVS Nginx HAProxy F5 2.健康检查&#xff08;使得调度器检查节点状态是否可以正常运行&#xff0c;调度器&#xff08;负载均衡器&#xff09;也要做健康检查&#xff09;for调度器/节点服务器 keeplived hearb…

aws配置以及下载 spaceNet6 数据集

一&#xff1a;注册亚马逊账号 注册的时候&#xff0c;唯一需要注意的是信用卡绑定&#xff0c;这个可以去淘宝买&#xff0c;搜索aws匿名卡。 注册完记得点击登录&#xff0c;记录一下自己的账户ID哦&#xff01; 二&#xff1a;登录自己的aws账号 2.1 首先创建一个用户 首…

2023 英特尔On技术创新大会直播 |AI小模型更有性价比

前言&#xff1a; 今年是引爆AI的一年&#xff0c;从幼儿园的小朋友到80岁的老奶奶都认识AI&#xff0c;享受AI带来的便捷&#xff0c;都在向市场要智能&#xff0c;但AI的快速发展离不开底层硬件设施的革新。 英特尔是全球知名的半导体公司&#xff0c;专注于计算机处理器和芯…

FPGA模块——以太网芯片MDIO读写

FPGA模块——以太网MDIO读写 MDIO接口介绍MDIO接口代码&#xff08;1&#xff09;MDIO接口驱动代码&#xff08;2&#xff09;使用MDIO驱动的代码 MDIO接口介绍 MDIO是串行管理接口。MAC 和 PHY 芯片有一个配置接口&#xff0c;即 MDIO 接口&#xff0c;可以配置 PHY 芯片的工…

【实时绘画】krita + comfyUI 实时绘画 儿童海报

1&#xff1a;打开comfyUI 2: 打开krita 打开 cd custom_nodes 输入命令 安装控件 git clone https://github.com/Acly/comfyui-tooling-nodes.git

人工智能与底层架构:构建智能引擎的技术支柱

导言 人工智能与底层架构的交融塑造了智能系统的基石&#xff0c;是推动智能时代发展的关键动力&#xff0c;本文将深入研究人工智能在底层架构中的关键作用&#xff0c;以及它对智能引擎的技术支持&#xff0c;探讨人工智能在计算机底层架构中的作用&#xff0c;以及这一融合如…

第11章 《GUI》Page404 课堂作业,验证鼠标事件的坐标,GUI编程如何在控制台输出调试

首先选中工程&#xff0c;点击右键&#xff0c;选择Properties 在Build targets一栏里&#xff0c;将Type(下拉列表)改为Console application 然后在代码中写上调试输出语句&#xff0c;就可以了 从图中&#xff0c;我们可以看出&#xff0c;我们划线的起点非常接近窗口左上角(…

JWT身份验证

JWT知识点 jwt&#xff0c;全称 json web token, JSON Web 令牌是一种开放的行业标准 RFC 7519 方法&#xff0c;用于在两方之间安全地表示声明。 详情可以参考&#xff1a; hhttps://jwt.io/introduction 1. 数据结构 JSON Web Token由三部分组成&#xff0c;它们之间用圆点.进…