Hive搭建——多用户模式remote一体和分开

一个人想着一个人 提交于 2020-01-10 15:18:05

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1.Remote一体

这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务。

<?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://127.0.0.1:9083</value>  
</property>  
</configuration>

注:这里把hive的服务端和客户端都放在同一台服务器上了。服务端和客户端可以拆开,

2.Remote分开

         1)、服务端配置hive-site文件,服务端部署在node003

<?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>

         2)、客户端配置hive-site文件,部署在node004

<?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://node003:9083</value>  
</property>   
</configuration>

在node003上启动hive服务端程序

hive --service metastore

客户端直接使用hive命令即可

hive

客户端启动的时候要注意:

[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版本和hivejline不一致,保留高版本去掉低版本

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!