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

【大数据离线开发】8.2 Hive的安装和配置

8.3 Hive的安装和配置

安装模式

  • 嵌入模式 :不需要使用MySQL,需要Hive自带的一个关系型数据库:Derby
  • 本地模式、远程模式 ----> 需要MySQL数据库的支持

安装 hive 安装包

1、解压tar -zxvf apache-hive-2.3.0-bin.tar.gz -C ~/training/
2、设置环境变量:vi ~/.bash_profileHIVE_HOME=/root/training/apache-hive-2.3.0-binexport HIVE_HOMEPATH=$HIVE_HOME/bin:$PATHexport PATHsource ~/.bash_profile

核心的配置文件 conf/hive-site.xml

8.3.1 嵌入模式

在嵌入模式下,在哪个目录下执行的数据库初始化,就应该在哪个目录下执行: hive

  • 使用Hive自带的Derby数据库来存储元信息
  • Hive只支持一个连接:创建 conf/hive-site.xml
  • 用于开发和测试,不能用于生产环境
参数文件配置参数参考值
hive-site.xmljavax.jdo.option.ConnectionURLjdbc:derby:;databaseName=metastore_db;create=true
javax.jdo.option.ConnectionDriverNameorg.apache.derby.jdbc.EmbeddedDriver
hive.metastore.localtrue
hive.metastore.warehouse.dirfile:///root/training/apache-hive-2.3.0-bin/warehouse

conf/hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>			 <property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:derby:;databaseName=metastore_db;create=true</value></property>	<property><name>javax.jdo.option.ConnectionDriverName</name><value>org.apache.derby.jdbc.EmbeddedDriver</value></property>	<property><name>hive.metastore.local</name><value>true</value></property>	<property><name>hive.metastore.warehouse.dir</name><value>file:///root/training/apache-hive-2.3.0-bin/warehouse</value></property>		
</configuration>	

初始化MetaStore:

​ schematool -dbType derby -initSchema

在这里插入图片描述

​ 通过find -name 文件名可以查看文件所在的位置

启动hive

在这里插入图片描述

日志:
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.

hive 测试:创建学生表

在这里插入图片描述

创建的学生表在 conf/hive-site.xml 配置文件的设置的路径下

在这里插入图片描述

8.3.2 安装配置MySQL数据库

在虚拟机上安装MySQL

yum remove mysql-libs

rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.19-1.el7.x86_64.rpm (可选)

启动MySQL:service mysqld start

或者:systemctl start mysqld.service

修改MySQL密码

查看root用户的密码:cat /var/log/mysqld.log | grep password

登录后修改密码:alter user ‘root’@‘localhost’ identified by ‘Welcome_1’;

MySQL数据库的配置

创建一个新的数据库:create database hive;

创建一个新的用户:create user ‘hiveowner’@‘%’ identified by ‘Welcome_1’;

给该用户授权

​ grant all on hive.* TO ‘hiveowner’@‘%’;

​ grant all on hive.* TO ‘hiveowner’@‘localhost’ identified by ‘Welcome_1’;

在这里插入图片描述

8.3.3 远程模式

远程模式:MySQL

  1. 配置MySQL的数据库:http://www.mysqlfront.de/
  2. 配置hive-site.xml: JDBC的参数
  3. 把MySQL数据库的驱动放到: Hive/lib下
  4. 初始化MySQL数据库
    • 老版本的Hive:第一次运行Hive
    • 新版本的hive:schematool -dbType mysql -initSchema

参数文件配置参数参考值
hive-site.xmljavax.jdo.option.ConnectionURLjdbc:mysql://localhost:3306/hive?useSSL=false
javax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserNamehiveowner
javax.jdo.option.ConnectionPasswordWelcome_1
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>			 <property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/hive?useSSL=false</value></property>	<property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property>	<property><name>javax.jdo.option.ConnectionUserName</name><value>hiveowner</value></property>	<property><name>javax.jdo.option.ConnectionPassword</name><value>Welcome_1</value></property>	</configuration>

初始化MetaStore:

​ schematool -dbType derby -initSchema

在这里插入图片描述

网页端查看hive表

启动hive,然后创建测试学生表,同嵌入模式一样,然后通过网页的方式进行查询

在这里插入图片描述

需要停止Hadoop环境,修改hdfs-site.xml,打开禁用HDFS的权限检查的功能,然后重新启动

在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/23975.html

相关文章:

  • Capture Modules:车载网络报文捕获模块
  • 数据结构与算法系列之时间与空间复杂度
  • Python代码使用PyQt5制作界面并封装
  • 【Node.js】MySQL数据库的第三方模块(mysql)
  • Docker中安装并配置单机版redis
  • 模拟微信聊天-课后程序(JAVA基础案例教程-黑马程序员编著-第八章-课后作业)
  • html2canvas将页面dom元素内容渲染成图片保存至本地
  • 前端进阶JS运行原理
  • Python识别二维码的两种方法(cv2)
  • 用一个例子告诉你 怎样使用Spark中RDD的算子
  • 什么是跨域? 出现原因及解决方法
  • 低代码系统能够解决哪些痛点?
  • 华为OD机试题,用 Java 解【两数之和绝对值最小】问题
  • AcWing算法提高课-3.1.1热浪
  • 华为OD机试题【最差产品奖】用 C++ 编码,速通 (2023.Q1)
  • NFT市场大战:Blur市场地位可持续吗?
  • 初识CSS
  • kubernetes(k8s)知识总结(第3期)
  • 浅谈跨境电商运行模式
  • Memcached
  • Unity UGUI 拖拽组件
  • 面试总结——react生命周期
  • 初探推荐系统-01
  • html实现浪漫的爱情日记(附源码)
  • detectron2容器环境安装问题(1)
  • JAVA线程池原理详解二
  • Java 常用 API
  • 记一次分布式环境下TOKEN实现用户登录
  • 用cpolar发布本地的论坛网站 1
  • CSS的4种引入方式