如果企业现有一套mysql集群,是否可以用hive去替代

如果企业现有一套mysql集群,是否可以用hive去替代,第1张

在参考了几篇博客,搜寻了一些资料后,成功地在虚拟机中搭建了1一个master和一个slave的分布式集群,slave的规模可以根据自己机器的配置,继续很方便地扩充,只需要复制已经搭建起来的slave节点即可。想快速体验或者不想折腾的可以给我发邮件我索取虚拟机文件(文件太大,不想上传到云盘了)。

搭建的基本过程在我参考的博客中有比较详细的叙述,我就不重

1、hive命令行模式,直接输入/hive/bin/hive的执行程序,或者输入hive--servicecli用于linux平台命令行查询,查询语句基本跟mysql查询语句类似2、hiveweb界面的(端口号9999)启动方式hive–servicehwi&用于通过浏览器来访问hive,

这里实验一下把hive.metastore.local参数设置为false的情况下怎么启动hive,

当然首先要修改为false,

hive.metastore.local

false

controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM

并加入配置thrift server的配置:

hive.metastore.uris thrift://127.0.0.1:9083

然后启动hadoop集群,启动win上的mysql,保证集群ok,测试mysql ok

然后启动metastore:hive --service metastore

这个过程会测试连接 建立schema 建表

继续启动thrift server:hive --service hiveserver

Starting Hive Thrift Server

这里会卡住,其实这是典型的前台启动,如果退出到shell,那么server就会停止,想后台启动的话可以采用nohup方式。

最后启动hive:hive

hive>show tables

OK

tb

tb2

Time taken: 1.117 seconds

发现hive就可以启动起来了,其实我们只需要把hive理解为几个部分即可:metastore、thrift server和剩下的hive,这几个部分都是可以分开部署的,放在不同的服务器上,这样的设计增加了hive的ha和可扩展性 但是分开部署会牺牲很大的可维护性,也增加了运维的复杂性,所以一般还是把元数据留着mysql中 其他的部分放在一个jvm中。

hive也是个cs结构的东西 thrift是负责client和server通信的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5902306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存