Hive篇--搭建Hive集群
一.前述
Hive中搭建分为三中方式 a)内嵌Derby方式 b)Local方式 c)Remote方式 三种方式归根到底就是元数据的存储位置不一样。
二.具体实现
a)内嵌Derby方式
使用derby存储方式时,运行hive会在当前目录生成一个derby文件和一个metastore_db目录。这种存储方式的弊端是在同一个目录下同时只能有一个hive客户端能使用数据库。
b)本地模式
这种存储方式需要在本地运行一个mysql服务器,并作如下配置(下面两种使用mysql的方式,需要将mysql的jar包拷贝到$HIVE_HOME/lib目录下)。
并作如下配置:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive_remote/warehouse</value> </property> <property> <name>hive.metastore.local</name> <value>true</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost/hive_remote?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property> </configuration>
c)多用户模式
1.Remote一体:
这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务。
这里用mysql的测试服务器,ip位192.168.1.214,新建hive_remote数据库,字符集位latine1
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.57.6:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property> <property> <name>hive.metastore.local</name> <value>false</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://192.168.1.188:9083</value> </property> </configuration>
注:这里把hive的服务端和客户端都放在同一台服务器上了。服务端和客户端可以拆开。
2.Remote分开:将hive-site.xml配置文件拆为如下两部分
服务端配置文件(因为服务端需要和Mysql通信,所以服务端需要Mysql的lib安装包到Hive_Home/conf目录下)
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.57.6:3306/hive?createDatabaseIfNotExist=true</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> </configuration>
客户端配置文件(由于客户端需要和Hadoop通信,所以需要更改Hadoop中jline的版本。从hive的lib包中拷贝到Hadoop中lib位置为/opt/soft/hadoop-2.6.5/share/hadoop/yarn/lib) 留一个高版本的jline jar包!!
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>hive.metastore.local</name> <value>false</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://192.168.57.5:9083</value> </property> </configuration>
启动hive服务端程序
hive --service metastore 2>&1 >> /dev/null &
客户端直接使用hive命令即可!!!
PS:客户端启动的时候要注意:
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
at jline.TerminalFactory.create(TerminalFactory.java:101)
错误的原因: Hadoop jline版本和hive的jline不一致!!!
转载于:https://www.cnblogs.com/LHWorldBlog/p/8289702.html
Hive篇--搭建Hive集群相关推荐
- Yarn篇--搭建yarn集群
一.前述 有了上次hadoop集群的搭建,搭建yarn就简单多了.废话不多说,直接来 二.规划 三.配置如下 yarn-site.xml配置 <property> < ...
- 使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇
使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用Cloudera Manager搭建zo ...
- 转-Kafka【第一篇】Kafka集群搭建
转自: https://www.cnblogs.com/luotianshuai/p/5206662.html Kafka[第一篇]Kafka集群搭建 Kafka初识 1.Kafka使用背景 在我们大 ...
- CentOS7 使用 kubeadm 搭建 kubernetes 集群(极速篇)
序言 本人在安装 k8s 的过程中曲折不断,故写下此文,让后人可以少走弯路. 这篇文章只描述如何从0开始快速搭建 k8s 集群,想更详细了解具体遇到问题的分析过程和解决方案,可阅读另一篇文章 -- C ...
- CentOS7 使用 kubeadm 搭建 kubernetes 集群(踩坑篇)
序言 本人在搭建 k8s 集群的过程中曲折不断,故写下此文,欲与"同是天涯沦落人"分享. 这篇文章会详细描述安装过程中遇到的问题,以及本人相应的解决办法,如读者只想快速搭建 k8s ...
- ZooKeeper实战篇之zk集群搭建、zkCli.sh操作、权限控制ACL、ZooKeeper JavaAPI使用
在看了史上最全的Zookeeper原理详解(万字长文),了解Zookeeper的原理后,你是不是蠢蠢欲动想着手实践呢?这篇文章将手把手教你在Linux上搭建ZooKeeper集群,并调用相关API实现 ...
- 深入学习 Redis 之第 1 篇 —— Docker 安装 Redis 并搭建主从复制集群
环境要求:CentOS7 X64 位,Redis6.0+ 理论基础 1.什么是 Redis 的主从复制? Redis 的复制功能支持多个库之间的数据同步.一类是主库(master),另一类是从库(sl ...
- mac搭建hadoop集群二之hadoop安装
上一篇我们已经准备好三台虚拟机,计划一主两从搭建hadoop集群.没安装的可以参考一下. 虚拟机安装传送门:mac搭建hadoop集群之虚拟机安装 集群规划 主机 角色 node1 NN DN RM ...
- hadoop集群_Ambari搭建hadoop集群
Ambari搭建hadoop集群 Ambari提供了对Hadoop更加方便快捷的管理功能,主要包含: 通过一步一步的安装向导简化了集群供应. 预先配置好关键的运维指标(metrics),可以直接查看H ...
最新文章
- 在Debian中建立Beaglebone black的应用开发环境之四:如何布置应用?
- 苏宁云仓投入使用,此时物流爆发是否来得及?
- VC维的来龙去脉(转)
- plaxis 2d 2020中文版
- NET问答: 如何避免在 EmptyEnumerable 上执行 Max() 抛出的异常 ?
- php连接mysql的方式_php有几种连接mysql的方法
- 给csdn-blog开发组的建议(Kevins)
- 正式发布python版本的年份_飞书全新版本π正式发布 高效便捷的团队沟通新工具...
- python备份数据库
- 苹果原生文字转语音播报
- 基于IdentityServer4的单点登录——IdentityServer
- 测试狗:Zview软件拟合电化学阻抗谱教程
- MUI全国城市区县级联json转换sql建表
- 数学建模需要的Matlab知识速成
- 三分钟带你了解PPT图标
- Golang后端开发学习之路
- vivoX30是android5的吗,深度剖析揭秘opporeno5质量和vivox30区别是?选哪个更好?独家揭秘报道...
- python 提取出图片特定区域的平均rgb值
- 卷积神经网络——YOLOV1论文翻译
- kerberos 之TGS_REQ、TGS_REP
热门文章
- 史密斯预估器matlab仿真,(毕业论文)史密斯预估器设计.doc
- CVPR2021 | 最新CVPR2021论文抢先看,附全部下载链接!
- 收藏 | 图像分割2020总结:结构,损失函数,数据集和框架
- Github | TensorFlow Extended (TFX) 面向机器学习工具
- Facebook 开源图像处理库 Spectrum,优化移动端图像生成
- 深度学习(七十二)ssd物体检测
- 庞特里亚金最小值原理求解能耗最小化的时间最优OBVP问题
- MPC实现自动驾驶轨迹跟踪
- 单用户修改root密码--redhat7.2 or centos7
- qt 复制字符串_QT中字符串的转化与拼接