前言

本教程采用了两种方案

一种是hive-1.21版本,hadoop版本为hadoop2.6.5

还有一种是主要讲基于hadoop3.x hive的搭建

先来第一种

一、本地方式(内嵌derby)

步骤

这种存储方式需要在本地运行一个mysql服务器,并作如下配置

解压

修改安装包内conf文件夹下的hive-default.xml.template,并重命名为hite-site.xml

javax.jdo.option.ConnectionURLjdbc:derby:;databaseName=metastore_db;create=truejavax.jdo.option.ConnectionDriverNameorg.apache.derby.jdbc.EmbeddedDriverhive.metastore.localtruehive.metastore.warehouse.dir/user/hive/warehouse

将hive/lib目录下的jline jar包拷贝到hadoop的yarn lib下,并将原jar包删除或改名令其失效。否则会报版本不匹配的错误 问题

使用derby存储方式时,运行hive会在当前目录生成一个derby文件和一个metastore_db目录。这种存储方式的弊端是在同一个目录下同时只能有一个hive客户端能使用数据库,多个用户登录时会报错。(这是由于derby数据库的局限性造成的)

二、Local模式(mysql)

这种存储方式需要在本地运行一个mysql服务器,并作如下配置

步骤

安装一个mysql数据库

yum install mysql-server -y

拷贝mysql驱动包到$HIVE_HOMElib目录下

修改hive-site,xml

hive.metastore.warehouse.dir/user/hive_remote/warehouse  hive.metastore.localtrue
javax.jdo.option.ConnectionURLjdbc:mysql://localhost/hive_meta?createDatabaseIfNotExist=truejavax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.Driverjavax.jdo.option.ConnectionUserNamehive
javax.jdo.option.ConnectionPassword123

启动sql服务

service mysqld start

设置开机启动

chkconfig mysqld on

修改root用户权限

(1)登录mysql

mysql -uroot

(2)修改权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;

(3)刷新

flush privileges;

创建hive_meta数据库

create database hive_meta;

添加用户并修改权限

(1)创建hive用户和密码

CREATE USER 'hive'@'%' IDENTIFIED BY '123';

(2)赋予权限

grant all privileges on hive_meta.* to hive@"%" identified by '123';

flush privileges;

删除多余权限

1.进入mysql数据库

use mysql;

2.查看用户

select host,user,password from user;

3. 删除多余会对权限造成影响的数据

delete from user where password = '';

将hive/lib目录下的jline jar包拷贝到hadoop的yarn lib下

配置HIVE_HOME,hive启动

三、远程(remote)模式

当有多个客户端使用hive时,若使用各自本地的hive和mysql,会导致各端元数据不一致,不易于管理,可能会出现各种问题。在一个基于本地mysql数据库的hive作为服务端,启动一个metastore服务,其他客户端通过thrift协议连接metastore使用服务端hive,从而使用同一份mysql内的元数据。

步骤

在一个搭建好基于mysql的hive的节点启动metastore服务作为服务端

hive --service metastore

在客户端解压安装包并修改hive-site.xml

hive.metastore.warehouse.dir/user/hive/warehouse
hive.metastore.localfalse
hive.metastore.uristhrift://192.168.23.134:9083

注:metastore的启动会一直启动在前台,可利用如下方法解决

hive --service metastore >> meta.log 2>&1 &

将日志打印到meta.log 错误日志(2)重定向到正常日志(1)

&表示后台执行

这种方式服务端只提供元数据,客户端运行自己的hiv

再来第二种

本篇主要描述hive3.x与历史版本搭建的不同之处。本地模式用的较少就不复赘述,直接从local模式开始,远程模式与历史版本无异,本篇也不再赘述。

一、local模式

1.修改hive-site.xml

hive.metastore.warehouse.dir/user/hive_remote/warehousehive.exec.scratchdir/tmp/hiveHDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/ is created, with ${hive.scratch.dir.permission}.hive.exec.local.scratchdir/opt/software/hive/temp/roothive.downloaded.resources.dir/opt/software/hive/temp/${hive.session.id}_resourceshive.server2.logging.operation.log.location/opt/software/hive/temp/root/operation_logshive.querylog.location/opt/software/hive/temp/roothive.metastore.localtruejavax.jdo.option.ConnectionURLjdbc:mysql://localhost/hive_meta?createDatabaseIfNotExist=truejavax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.Driverjavax.jdo.option.ConnectionUserNamehivejavax.jdo.option.ConnectionPassword123

2.修改hive-env.sh​

export HADOOP_HOME=/opt/software/hadoop

export HIVE_CONF_DIR=/opt/software/hive/conf

export HIVE_AUX_JARS_PATH=/opt/software/hive/lib

3.将hadoop/share/hadoop/common/lib 下的 guava-xx.jar 复制到hive/lib 下 将hive 的guava-xx.jar删除

4.大功告成了,赶快试试吧!

感谢大家支持,多多转发关注不迷路~~~~~~~~~

hadoop hive集群_失眠大数据专家,基于Hadoop不同版本搭建hive集群(附配置文件)相关推荐

  1. hadoop fs命令无法使用_「大数据」「Hadoop」HDFS的配置与管理

    HDFS(Hadoop Distributed File System)是Hadoop三个基础组件之一,为另外的组件以及大数据生态中的其他组件提供了最基本的存储功能,具有高容错.高可靠.可扩展.高吞吐 ...

  2. hadoop yarn 获取日志_「大数据」「Hadoop」-安装及数据目录

    完整的Hadoop安装包中包括了所有的核心组件,主要有HDFS.MapReduce.Yarn.Client这几个. 安装目录 bin:放着Hadoop最基本的管理脚本和使用脚本,sbin目录下管理脚本 ...

  3. hadoop jar包_【大数据学习】Hadoop的MR分布式开发小实战

    前提:hadoop集群应部署完毕. 一.实战科目 做一个Map Reduce分布式开发,开发内容为统计文件中的单词出现次数. 二.战前准备 1.本人在本地创建了一个用于执行MR的的文件,文件中有209 ...

  4. hive 索爱_达内大数据云计算

    第一阶段(Java基础) Java语言的高级特性 静态导入.自动封箱拆箱.可变参数.增强for.枚举.类加载器.反射.内省.泛型.注解.动态代理回 掌握Java语言的高级特性 Java多线程 多线程加 ...

  5. 《大数据基础——基于Hadoop与Spark》课后习题——第一章部分答案

    仅用于我个人的学习.书籍为人民邮电出版社的<大数据技术基础--基于Hadoop与Spark>.课后习题选择是我个人认为有用的.记录下来是为了督促我学习:) 共好 1.请指出以下术语的基本含 ...

  6. 大数据技术之Hadoop分布式文件系统HDFS系统知识整理(从入门到熟练操作)

    系列博客 1.大数据技术之Hadoop完全分布式集群搭建+Centos7配置连通外网和主机 2.大数据技术之Hadoop编译源码 3.大数据技术之Hadoop分布式文件系统HDFS系统知识整理(从入门 ...

  7. 【硬刚大数据】从零到大数据专家之Kylin入门/原理/调优

    欢迎关注博客主页:https://blog.csdn.net/u013411339 欢迎点赞.收藏.留言 ,欢迎留言交流! 本文由[王知无]原创,首发于 CSDN博客! 本文首发CSDN论坛,未经过官 ...

  8. 【硬刚大数据】2021年从零到大数据专家之Kudu篇

    欢迎关注博客主页:https://blog.csdn.net/u013411339 欢迎点赞.收藏.留言 ,欢迎留言交流! 本文由[王知无]原创,首发于 CSDN博客! 本文首发CSDN论坛,未经过官 ...

  9. 【硬刚大数据】从零到大数据专家之数据仓库体系建模实施注意事项小总结

    欢迎关注博客主页:https://blog.csdn.net/u013411339 欢迎点赞.收藏.留言 ,欢迎留言交流! 本文由[王知无]原创,首发于 CSDN博客! 本文首发CSDN论坛,未经过官 ...

最新文章

  1. Directx教程(24) 简单的光照模型(3)
  2. 和对象一起运动更快乐!看完这篇正经研究,找对象的理由又多了一个
  3. 微信正在用的深度学习框架开源!支持稀疏张量,基于C++开发
  4. 利用Conda尝鲜Python 3.10
  5. Angular应用页面里_ngcontent属性的生成逻辑
  6. sublime text的dockerfile语法高亮插件
  7. java比较equlse_java基础知识要点
  8. Linux中chown和chmod的区别和用法
  9. Linux下SVN创建新的项目
  10. 结构体,宏,枚举,函数,指针
  11. 人跟人的格局真的是不一样的
  12. 在 Linux 上部署 Django 应用,nginx+gunicorn+supervisor
  13. Linux上使用rpm安装Java jdk
  14. java链表实现多项式的运算
  15. 常见反爬虫策略 及应对措施
  16. PAT乙级-1055 集体照 (25分)
  17. 数据库系统的组成及模式结构
  18. 简报 | 阿里与腾讯在区块链领域必有一战
  19. 蓝桥杯 画积木 /洛谷 P1990 墙壁覆盖
  20. Android判断用户是否已完成设置向导(开机向导)

热门文章

  1. js定时器异步请求时候 上一个请求没有响应时下一个请求已经开始_关于异步的理解...
  2. (万里开源)greatdb mysql 8.0以上版本创建用户并授权远程连接
  3. Controller接口控制器(6)
  4. springboot中使用@Value读取配置文件
  5. Android开发使用的常见第三方框架汇总
  6. [转]状态压缩dp(状压dp)
  7. 顺序线性表 ---- ArrayList 源码解析及实现原理分析
  8. 根据Uri获取文件的绝对路径
  9. UGUI Canvas
  10. IE6和其他浏览器的css样式不同