远程连接元数据库hive.metastore.uris怎么写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了远程连接元数据库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>
<name>hive.metastore.local</name>
<value>false</value>
<description>controls whether to connect to remote metastore server or open a new metastore server in Hive Client JVM</description>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://127.0.0.1:9083</value>
<description></description>
</property>
4)hive 执行测试hql 参考技术A 你起的thrift服务确定启好了吗 你先在服务器上看下IP端口是不是开了,而且IP不是Localhost的 如果好了远程肯定可以连上。
hive的本地安装部署,元数据存储到mysql中
要想使用Hive先要有hadoop集群的支持,使用本地把元数据存储在mysql中。
mysql要可以远程连接:
可以设置user表,把localhost改为%,所有可连接。记住删除root其他用户,不然可能会有影响
update user set host=‘%‘ where host=‘localhost‘;
Hive的安装部署:
1、解压tar文件
2、修改文件:
修改conf/下面的文件:
cp hive-env.sh.tempalte hive-env.sh
配置hive-env.sh文件:
1、配置HIVE_HOME路径
2、配置HIVE_CONF_DIR路径
在hdfs中新建
/user/hive/warehouse
/tmp 连个文件夹,并修改权限为同组可写
hdfs dfs -chmod g+w /tmp
hdfs dfs -chmod g+w /user/hive/warehouse
配置元数据到mysql中:
需要mysql的驱动jar包
cp mysql-connector-java-5.1.27-bin.jar /hive/bin
在hive/conf目录中创建一个hive-site.xml文件,更改红色部分:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop102:3306/metastore?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> <description>password to use against metastore database</description> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> <description>Whether to include the current database in the Hive prompt.</description> </property> <property> <name>hive.cli.print.header</name> <value>false</value> <description>Whether to print the names of the columns in query output.</description> </property> </configuration>
-------------------------------------
更改默认数据仓库位置:
hive默认的数据仓库位置在:/user/hive/warehouse路径下面, 在仓库目录下,没有对默认的数据库 default 创建文件夹。如果某张表属于 default数据库,直接在数据仓库目录下创建一个文件夹。
可以修改配置文件更改位置:红色部分,切记修改路径的权限为同组可写,配置文件hive-site.xml
<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> <description>location of default database for the warehouse</description> </property>
配置表头显示、数据显示:配置文件hive-site.xml
<property> <name>hive.cli.print.header</name> <value>true</value> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> </property>
Hive运行日志配置:
Hive 的 log 默认存放在/tmp/hadoop/hive.log 目录下(当前用户名下)
修改 hive 的 log 存放日志到/opt/module/hive/logs
修改/opt/module/hive/conf/hive-log4j.properties.template 文件名称为 hive-log4j.properties
在 hive-log4j.properties 文件中修改 log 存放位置
hive.log.dir=/opt/module/hive/logs
以上是关于远程连接元数据库hive.metastore.uris怎么写的主要内容,如果未能解决你的问题,请参考以下文章