hive安装部署

hive有以下三种搭建模式

  1. 本地模式derby
    使用derby存储时,会在当前目录生成一个derby.log文件和一个metastore_db目录。在同一个目录下同时只能有一个用户访问,在更换目录后,会因为没有以上两个文件,导致无法连接之前的数据库。

hive-2.3.4/conf/hive-default.xml.template为hive-2.3.4/conf/hive-site.xml

<property>  

  <name>javax.jdo.option.ConnectionURL</name>  

  <value>jdbc:derby:;databaseName=metastore_db;create=true</value>  

</property>  

<property>  

  <name>javax.jdo.option.ConnectionDriverName</name>  

  <value>org.apache.derby.jdbc.EmbeddedDriver</value>  

</property>  

<property>  

  <name>hive.metastore.local</name>  

  <value>true</value>  

</property>  

<property>  

  <name>hive.metastore.warehouse.dir</name>  

  <value>/user/hive/warehouse</value>  

</property>
  1. 单机模式
    该模式下需要启动一个数据库,我使用的是mysql数据库
    先安装mysql服务
安装mysql:yum install mysql-server
启动服务:service mysqld start
修改权限,让外界可以访问:
	GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
将其它用户删除
	delete from user where host <> '%'
flush privileges,刷新配置
配置如下
hive-2.3.4/conf/hive-default.xml.template为hive-2.3.4/conf/hive-site.xml
		<!-- hdfs存储路径 -->
 		<property>
                <name>hive.metastore.warehouse.dir</name>
                <value>/user/hive_remote/warehouse</value>
        </property>
        <!-- 数据库URL,以及数据库名,在数据库不存在时创建 -->
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node1:3306/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>root</value>
        </property>
        <!-- 数据库密码 -->
        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>123456</value>
        </property>

配置完成后,初始化

schematool -dbType mysql -initSchema

启动hive

hive
  1. 多用户模式
    配置有两种方式
    3.1 remote一体
    服务都在node2服务器上,配置如下:
hive-2.3.4/conf/hive-default.xml.template为hive-2.3.4/conf/hive-site.xml
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive/warehouse</value>  
</property>  
   
<property>  
  <name>javax.jdo.option.ConnectionURL</name>  
  <value>jdbc:mysql://node1: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>  
  
<property>  
  <name>hive.metastore.local</name>  
  <value>false</value>  
</property>  
  
<property>  
  <name>hive.metastore.uris</name>  
  <value>thrift://node2:9083</value>  
</property>  

3.2 Remote分开
node3上配置metastore元数据服务:

hive-2.3.4/conf/hive-default.xml.template为hive-2.3.4/conf/hive-site.xml
<property>
                <name>hive.metastore.warehouse.dir</name>
                <value>/user/hive/warehouse</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node1: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>

node4上配置的是客户端配置文件

hive-2.3.4/conf/hive-default.xml.template为hive-2.3.4/conf/hive-site.xml
		<property>
                <name>hive.metastore.warehouse.dir</name>
                <value>/user/hive/warehouse</value>
        </property>
        <property>
                <name>hive.metastore.uris</name>
                <value>thrift://node3:9083</value>
        </property>
将mysql-connector-java-5.1.32-bin.jar拷贝到hive的lib包下

配置完成后,记得初始化

schematool -dbType mysql -initSchema

否则,会因为无法创建数据库中的表而启动失败
启动hive服务端

hive --service metastore 

启动hive客户端

hive
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值