大数据实操篇 No.5-Hive 高可用方式集群部署

第1章 简介

Hive是一个工具,原理是mapreduce,可以让用户以sql的方式去做数据分析汇总。

第2章 安装

2.1 解压

$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

2.2 修改conf目录下配置

$ mv hive-env.sh.template hive-env.sh
$ vi hive-env.sh

2.3 配置HADOOP_HOME路径

export HADOOP_HOME=/opt/module/hadoop-3.1.2

根据自己机器上的hadoop安装目录,自行配置。 

2.4 配置HIVE_CONF_DIR路径

export HIVE_CONF_DIR=/opt/module/hive/conf

第3章 安装配置Mysql

3.1 安装Mysql

生产环境hive的元数据推荐配置到mysql中,所以mysql必须安装。这里略。

3.2 配置Hive元数据到Mysql

解压mysql驱动,驱动下载链接:mysql-jdbc-connector-java-5.1.44.zip

$ unzip mysql-connector-java-5.1.44.zip -d /opt/module/apache-hive-3.1.2-bin/lib/

拷贝mysql驱动jar包到hive的lib目录下

$ cp ./mysql-connect-java-5.1.27-bin.jar /opt/module/hive/lib/

Hive中conf目录下新建hive-site.xml文件

$ touch hive-site.xml

添加配置信息,内容参考hive-default.template

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
 <name>javax.jdo.option.ConnectionURL</name>
 <value>jdbc:mysql://webapp200:3306/metastore?createDatabaseIfNotExist=true</value>
 <description>
      JDBC connect string for a JDBC metastore.
      To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
      For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
 </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>password</value>
 <description>password to use against metastore database</description>
</property>
 <!-- hive数据仓库在hdfs上的位置路径 -->
<property>
 <name>hive.metastore.warehouse.dir</name>
 <value>/user/hive/warehouse</value>
 <description>location of default database for the warehouse</description>
</property>

<property>
    <name>hive.metastore.schema.verification</name>
    <value>true</value>
</property>
</configuration>

hive.metastore.warehouse.dir注意权限

$ bin/hdfs dfs -chmod g+w /user/hive/warehouse

第4章 修改hive默认日志路径

conf目录下修改hive-log4j.properties

$ mv hive-log4j.properties.template hive-log4j.properties
$ vi hive-log4j.properties

修改内容

property.hive.log.dir = /opt/module/apache-hive-3.1.2-bin/logs

第5章 高可用HA

注:hiveservermetastore进程名都叫RunJar

5.1 Metastore高可用

将hive文件分发到各集群节点

Metastore服务多节点启动,hive-site.xml配置按3.2配置即可。

在你的Hive client节点hive-site.xml中添加如下配置。

<property>
    <name>hive.metastore.uris</name>
   <value>thrift://hadoop100:9083,thrift://hadoop101:9083</value>
</property>

5.2 HiveServer2高可用

笔者这里还未用到HiveServer2,所以这里略过。

第6章 启动

6.1 启动hdfs和yarn

hive是执行mapreduce任务,计算hdfs上存储的数据,所以必须先启动hdfs和yarn

6.2 启动hive metastore服务

$ bin/hive --service metastore &

后台启动

$ nohup bin/hive --service metastore 2>&1 >> /opt/module/apache-hive-3.1.2-bin/logs/metastore.log &

运行进程:

7370 RunJar

6.3 启动hive client命令

$ bin/hive

到此,Hive已经安装配置好了,进入hive client后就可以执行SQL语句进行数据计算分析了,生产环境一般通过定时任务去执行Hive SQL脚本,笔者会在后续文章中进行介绍。

 

 

猜你喜欢

转载自blog.csdn.net/dzh284616172/article/details/107742827