Hive-3.0.0完全分布式部署

前置条件

需要安装好了jdk环境、mysql、以及全分布的Hadoop集群

一、安装

将安装包解压到 /opt 目录下

tar -zxf apache-hive-3.0.0-bin.tar.gz -C /opt

配置环境变量

vi /etc/profile
export HIVE_HOME=/opt/hive-3.0.0-bin
export PATH=${HIVE_HOME}/bin:$PATH 

使环境变量生效

soure /etc/profile

使用mysql存储hive元数据

## 创建hive数据库
create database hive;

## 创建hive用户并设置密码
create user 'hive'@'%' identified by 'hive';

## 授权
grant all privileges on hive.* to 'hive'@'%';

## 刷新权限
flush privileges;

修改hive配置文件

vi hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at
 
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<configuration>
  <property>
    <name>hive.default.fileformat</name>
    <value>TextFile</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.18.237:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</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>hive</value>
  </property>
  <property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
  </property>
</configuration>

将mysql 连接jar包上传到hive的lib目录

mv mysql-connector-java.jar /opt/hive-3.0.0-bin/lib

初始化hive元数据库

/opt/hive-3.0.0-bin/bin/schematool  -initSchema -dbType mysql

登录hive

hive

二、分发文件

将文件分发给其他节点

scp -r /opt/hive-3.0.0-bin @node1:/opt
scp -r /opt/hive-3.0.0-bin @node2:/opt

环境变量

vi /etc/profile
export HIVE_HOME=/opt/hive-3.0.0-bin
export PATH=${HIVE_HOME}/bin:$PATH 

使环境变量生效

soure /etc/profile

在node节点的hive想要连接元数据库有两种方式

方法一:

不对配置文件做修改,使用默认的Local模式连接元数据库,通过JDBC访问mysql。

方法二:

使用Remote模式连接元数据。方法如下:

修改配置文件

在hive-site.xml 文件中加入

<property>
        <name>hive.metastore.uris</name>
        <value>thrift://192.168.18.237:9083</value>
 </property>

此时,Hive 的元数据连接方式变为 Remote 模式,即使用 HiveMetaStoreClient 远程访问节点3的9083端口,获取元数据信息。

在237节点启动metastore服务

nohup hive --service metastore &

此时在node节点就可以连接到元数据库

检测

hive

Hive-3.0.0完全分布式部署_第1张图片
不开启连接不到元数据库,查看数据库时会报错

Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStor

你可能感兴趣的:(软件部署,hive,分布式,hadoop)