hive.metastore.uris(hivemetastoreuris=thrift)
本篇文章给大家谈谈hive.metastore.uris,以及hivemetastoreuris=thrift对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、hive的安装,什么是hive的metastore的远程与本地
- 2、启动hive时报错,求助
- 3、hiveon如何设置服务器URL
- 4、hadoop分布式系统中怎么安装hive
- 5、Spark与Hive集成
- 6、远程连接元数据库hive.metastore.uris怎么写
hive的安装,什么是hive的metastore的远程与本地
这里实验一下此谨把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通信的
[img]启动hive时报错,求助
可以再/hive/bin目录下输入 hive -hiveconf hive.root.logger=debug,console 然后再输入你报错的hql语句行运,会有更脊搜详细的错误提示,这个调档野梁试模式很管用的,希望能帮上。
hiveon如何设置服务器URL
需要将乱世hive.metastore.uris设置为metastore服务器URL,如果有多哗丛肢个metastore服务器郑坦,将URL之间用逗号分隔
hadoop分布式系统中怎么安装hive
Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在hadoop 分布式文件系统中的数据。其在Hadoop的架构体系中承担了一个SQL解析的过程,它提供了对外的入口来获取用户的指令然后对指令进行分析,解析出一个MapReduce程序组成可执行计划,并按照该计划生成对应的MapReduce任务提交给Hadoop集群处理,获取最终的结果。元数据——如表模式——存储在名为metastore的数据库中。
系统环境
ip地址1 hadoop-master
ip地址2 hadoop-slave
MySQL安装在master机器上,hive服务器也安装在master上
Hive下载
下载源码包,最新版本可自行去官网下载
[hadoop@hadoop-master ~]$ wget hive的下载地址
[hadoop@hadoop-master ~]$ tar -zxf apache-hive-1.2.1-bin.tar.gz
[hadoop@hadoop-master ~]$ ls
apache-hive-1.2.1-bin apache-hive-1.2.1-bin.tar.gz dfs hadoop-2.7.1 Hsource tmp12341234
配置环境变量
[root@hadoop-master hadoop]# vi /etc/profile
HIVE_HOME=/home/hadoop/apache-hive-1.2.1-bin
PATH=$PATH:$HIVE_HOME/bin
export HIVE_NAME PATH
Metastore
metastore是hive元数据集中存放地。它包括两部分:服务和后台数据存储。有稿斗厅三种方式配置metastore:内嵌metastore、本地metastore以及远程metastore。
本次搭建中采用MySQL作为远程仓库,部署在hadoop-master节点上,hive服务端也安装在hive-master上,hive客户端即hadoop-slave访问hive服务器。
创建Hive用户
mysqlCREATE USER 'hive' IDENTIFIED BY 'hive';
mysqlGRANT ALL PRIVILEGES ON *.* TO 'hive'@'hadoop-master' WITH GRANT OPTION;
mysqlflush privileges;123123
Hive用户登录
[hadoop@hadoop-master ~]mysql -h hadoop-master -uhive
mysqlset password = password('hive');1212
创建Hive数据库
mysqlcreate database hive;
配置Hive
修改配置文件
进入到hive的配置文件目录下,找到hive-default.xml.template,cp份为hive-default.xml
另创建hive-site.xml并添销拿加参数
[hadoop@hadoop-master conf]$ pwd
/home/hadoop/apache-hive-1.2.1-bin/conf
[hadoop@hadoop-master conf]$ vi hive-site.xml
configuration
property
namejavax.jdo.option.ConnectionURL/name
valuejdbc:mysql://hadoop-master:3306/hive?createDatabaseIfNotExist=true/value
descriptionJDBC connect string for a JDBC metastore/description
/property
property
namejavax.jdo.option.ConnectionDriverName/name
valuecom.mysql.jdbc.Driver/value
descriptionDriver class name for a JDBC metastore/description
/property
property
键隐namejavax.jdo.option.ConnectionUserName/name
valuehivevalue
descriptionusername to use against metastore database/description
/property
property
namejavax.jdo.option.ConnectionPassword/name
valuehive/value
descriptionpassword to use against metastore database/description
/property
/configuration
Hive客户端配置
[hadoop@hadoop-master ~]$ scp -r apache-hive-1.2.1-bin/ hadoop@hadoop-slave:/home/hadoop
[hadoop@hadoop-slave conf]$ vi hive-site.xml
configuration
property
namehive.metastore.uris/name
valuethrift://hadoop-master:9083/value
/property
/configuration
Hive启动
要启动metastore服务
[hadoop@hadoop-master ~]$ hive --service metastore
[hadoop@hadoop-master ~]$ jps
10288 RunJar #多了一个进程
9365 NameNode
9670 SecondaryNameNode
11096 Jps
9944 NodeManager
9838 ResourceManager
9471 DataNode
Hive服务器端访问
[hadoop@hadoop-master ~]$ hive
Logging initialized using configuration in jar:file:/home/hadoop/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive show databases;
OK
default
src
Time taken: 1.332 seconds, Fetched: 2 row(s)
hive use src;
OK
Time taken: 0.037 seconds
hive create table test1(id int);
OK
Time taken: 0.572 seconds
hive show tables;
OK
abc
test
test1
Time taken: 0.057 seconds, Fetched: 3 row(s)
hive
Hive客户端访问
[hadoop@hadoop-slave conf]$ hive
Logging initialized using configuration in jar:file:/home/hadoop/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive show databases;
OK
default
src
Time taken: 1.022 seconds, Fetched: 2 row(s)
hive use src;
OK
Time taken: 0.057 seconds
hive show tables;
OK
abc
test
test1
Time taken: 0.218 seconds, Fetched: 3 row(s)
hive create table test2(id int ,name string);
OK
Time taken: 5.518 seconds
hive show tables;
OK
abc
test
test1
test2
Time taken: 0.102 seconds, Fetched: 4 row(s)
Spark与Hive集成
将hive-site.xml拷贝到${SPARK_HOME}/conf下。
根据hive的配置参数hive.metastore.uris的情况,采用不同的集成方式
分别:
配置hive.metastore.uris的方式。
如果没有配置全局hive,就使用bin/hive --service metastore
这样就不再需要配置hive.metastore.uris参数配置。使用“,”分隔多个jar。
使用场景:要求Spark应用运行的所有机器上必须存在被添加的第三方jar文件
a. 创建一个保存第三方jar文件的文件夹:
b.修改祥如御Spark配置信息谨岩
c. 将依赖的jar文件copy到新建的文件夹中
备注:
如果spark on yarn(cluster),橡配如果应用依赖第三方jar文件,最终解决方案:将第三方的jar文件copy到${HADOOP_HOME}/share/hadoop/common/lib文件夹中(Hadoop集群中所有机器均要求copy)
参考链接:
远程连接元数据库hive.metastore.uris怎么写
hive配置远程metastore的方法:
1)首先配置hive使用本地MySQL存储metastore(服务器A
111.121.21.23)(也可以使用远程mysql存储)
2)配搜胡置完成后,在服务器A启动服务:/etc/init.d/Hadoop-hive-metastore
start
(默认监听端口是:9083)
3)配辩漏毕置hive客户端,修改hive-site.xml:(服务器B-需要有hadoop环境)
property
namehive.metastore.local/name
valuefalse/value
descriptioncontrols
whether
to
connect
to
remote
metastore
server
or
open
a
new
metastore
server
in
Hive
Client
JVM/description
/property
property
namehive.metastore.uris/name
valuethrift://127.0.0.1:9083/value
description/description
/property
4)hive
执携芹行测试hql
关于hive.metastore.uris和hivemetastoreuris=thrift的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。