一.前述

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集群相关推荐

  1. Yarn篇--搭建yarn集群

    一.前述 有了上次hadoop集群的搭建,搭建yarn就简单多了.废话不多说,直接来 二.规划 三.配置如下 yarn-site.xml配置 <property>         < ...

  2. 使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇

    使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用Cloudera Manager搭建zo ...

  3. 转-Kafka【第一篇】Kafka集群搭建

    转自: https://www.cnblogs.com/luotianshuai/p/5206662.html Kafka[第一篇]Kafka集群搭建 Kafka初识 1.Kafka使用背景 在我们大 ...

  4. CentOS7 使用 kubeadm 搭建 kubernetes 集群(极速篇)

    序言 本人在安装 k8s 的过程中曲折不断,故写下此文,让后人可以少走弯路. 这篇文章只描述如何从0开始快速搭建 k8s 集群,想更详细了解具体遇到问题的分析过程和解决方案,可阅读另一篇文章 -- C ...

  5. CentOS7 使用 kubeadm 搭建 kubernetes 集群(踩坑篇)

    序言 本人在搭建 k8s 集群的过程中曲折不断,故写下此文,欲与"同是天涯沦落人"分享. 这篇文章会详细描述安装过程中遇到的问题,以及本人相应的解决办法,如读者只想快速搭建 k8s ...

  6. ZooKeeper实战篇之zk集群搭建、zkCli.sh操作、权限控制ACL、ZooKeeper JavaAPI使用

    在看了史上最全的Zookeeper原理详解(万字长文),了解Zookeeper的原理后,你是不是蠢蠢欲动想着手实践呢?这篇文章将手把手教你在Linux上搭建ZooKeeper集群,并调用相关API实现 ...

  7. 深入学习 Redis 之第 1 篇 —— Docker 安装 Redis 并搭建主从复制集群

    环境要求:CentOS7 X64 位,Redis6.0+ 理论基础 1.什么是 Redis 的主从复制? Redis 的复制功能支持多个库之间的数据同步.一类是主库(master),另一类是从库(sl ...

  8. mac搭建hadoop集群二之hadoop安装

    上一篇我们已经准备好三台虚拟机,计划一主两从搭建hadoop集群.没安装的可以参考一下. 虚拟机安装传送门:mac搭建hadoop集群之虚拟机安装 集群规划 主机 角色 node1 NN DN RM ...

  9. hadoop集群_Ambari搭建hadoop集群

    Ambari搭建hadoop集群 Ambari提供了对Hadoop更加方便快捷的管理功能,主要包含: 通过一步一步的安装向导简化了集群供应. 预先配置好关键的运维指标(metrics),可以直接查看H ...

最新文章

  1. 在Debian中建立Beaglebone black的应用开发环境之四:如何布置应用?
  2. 苏宁云仓投入使用,此时物流爆发是否来得及?
  3. VC维的来龙去脉(转)
  4. plaxis 2d 2020中文版
  5. NET问答: 如何避免在 EmptyEnumerable 上执行 Max() 抛出的异常 ?
  6. php连接mysql的方式_php有几种连接mysql的方法
  7. 给csdn-blog开发组的建议(Kevins)
  8. 正式发布python版本的年份_飞书全新版本π正式发布 高效便捷的团队沟通新工具...
  9. python备份数据库
  10. 苹果原生文字转语音播报
  11. 基于IdentityServer4的单点登录——IdentityServer
  12. 测试狗:Zview软件拟合电化学阻抗谱教程
  13. MUI全国城市区县级联json转换sql建表
  14. 数学建模需要的Matlab知识速成
  15. 三分钟带你了解PPT图标
  16. Golang后端开发学习之路
  17. vivoX30是android5的吗,深度剖析揭秘opporeno5质量和vivox30区别是?选哪个更好?独家揭秘报道...
  18. python 提取出图片特定区域的平均rgb值
  19. 卷积神经网络——YOLOV1论文翻译
  20. kerberos 之TGS_REQ、TGS_REP

热门文章

  1. 史密斯预估器matlab仿真,(毕业论文)史密斯预估器设计.doc
  2. CVPR2021 | 最新CVPR2021论文抢先看,附全部下载链接!
  3. 收藏 | 图像分割2020总结:结构,损失函数,数据集和框架
  4. Github | TensorFlow Extended (TFX) 面向机器学习工具
  5. Facebook 开源图像处理库 Spectrum,优化移动端图像生成
  6. 深度学习(七十二)ssd物体检测
  7. 庞特里亚金最小值原理求解能耗最小化的时间最优OBVP问题
  8. MPC实现自动驾驶轨迹跟踪
  9. 单用户修改root密码--redhat7.2 or centos7
  10. qt 复制字符串_QT中字符串的转化与拼接