环境准备

  1. 已安装 HDFS 和 Yarn 集群环境
  2. Windows 已安装 MySQL 8 (开启远程连接用户权限)

安装步骤

1. 上传并解压 Hive 安装文件

将 apache-hive-3.1.2-bin.tar.gz 安装包上传到 node-01 的 /root 目录下并将其解压

[root@node-01 ~]# tar -zxf apache-hive-3.1.2-bin.tar.gz -C  apps/
[root@node-01 ~]# rm -rf apache-hive-3.1.2-bin.tar.gz
[root@node-01 apps]# mv apache-hive-3.1.2-bin/ hive-3.1.2
2. 配置环境变量
[root@node-01 apps]# vi /etc/profile
export HIVE_HOME=/root/apps/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin
[root@node-01 apps]# source /etc/profile
3. 将 mysql 的驱动包放入 Hive 的 lib 中

上传 mysql-connector-java-8.0.21.jar 包到 node-01 的 /root 目录下

[root@node ~]# mv /root/mysql-connector-java-8.0.21.jar /root/apps/hive-3.1.2/lib/
4. 配置 hdfs 用户访问权限
[root@node-01 ~]# cd /root/apps/hadoop-3.2.1/etc/hadoop/
[root@node-01 hadoop]# vim core-site.xml <configuration> <!--设置 hdfs 命名空间-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop/</value>
</property> <!-- zookeeper 集群-->
<property>
<name>ha.zookeeper.quorum</name>
<value>node-01:2181,node-02:2181,node-03:2181</value>
</property> <!--关闭 HDFS 的权限检查 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property> <!-- 配置 root 用户可以访问 hdfs -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property> <!-- 配置 root 用户所在组可以访问 hdfs -->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property> </configuration>
5. 配置 hive-env.sh 运行环境
[root@node-01 ~]# cd /root/apps/hive-3.1.2/conf
[root@node-01 conf]# mv hive-env.sh.template hive-env.sh
[root@node-01 conf]# vim hive-env.sh # Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/root/apps/hadoop-3.2.1 # Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/root/apps/hive-3.1.2/conf
6. 在 HDFS 上创建相关目录并设置权限
[root@node-01 ~]# hadoop fs -mkdir /tmp
[root@node-01 ~]# hadoop fs -mkdir -p /user/hive/warehouse
[root@node-01 ~]# hadoop fs -chmod 777 /tmp
[root@node-01 ~]# hadoop fs -chmod 777 /user/hive/warehouse
7. 配置 hive-site.xml 文件(远程方式)
[root@node-01 ~]# cd /root/apps/hive-3.1.2/conf
[root@node-01 conf]# vim hive-site.xml
<configuration>
<!-- 关闭版本验证-->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property> <!-- Hive 数据库数据存储到 HDFS 路径-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property> <!--关闭本地运行模式-->
<property>
<name>hive.exec.mode.local.auto</name>
<value>false</value>
</property> <!--Hive元数据不存放本地-->
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property> <!-- metastore服务器URI -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.229.21:9083</value>
</property> <!-- 远程 mysql 数据库本地 url 地址-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.2.125:3306/hive_remote?serverTimezone=UTC
</value>
</property> <!-- 连接 msyql8 驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property> <!-- 连接 mysql 用户名-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property> <!-- 连接 mysql 密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property> <!--开启mapreduce任务-->
<property>
<name>hive.compute.query.using.stats</name>
<value>false</value>
</property> <!-- 显示表的列名 -->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property> <!-- 显示数据库名称 -->
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
</configuration>
8. 配置 Hive 日志目录
[root@node-01 ~]# cd /root/apps/hive-3.1.2
[root@node-01 hive-3.1.2]# mkdir logs
[root@node-01 hive-3.1.2]# cd conf/
[root@node-01 conf]# mv hive-log4j2.properties.template hive-log4j2.properties
[root@node-01 conf]# vim hive-log4j2.properties
#修改24行
property.hive.log.dir = /root/apps/hive-3.1.2/logs
9. 替换 Hive 低版本 guava-19.0.jar 包
#查看 Hive 的 guava 版本
[root@node-01 ~]# cd /root/apps/hive-3.1.2/lib
[root@node-01 lib]# ll | grep guava
-rw-r--r--. 1 root root 2308517 9月 27 2018 guava-19.0.jar #查看 Hadoop 的 guava 版本
[root@node-01 ~]# cd /root/apps/hadoop-3.2.1/share/hadoop/common/lib
[root@node-01 lib]# ll | grep guava
-rw-r--r--. 1 1001 1001 2747878 9月 10 2019 guava-27.0-jre.jar
-rw-r--r--. 1 1001 1001 2199 9月 10 2019 listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar #删除 Hive 的低版本 guava
[root@node-01 ~]# cd /root/apps/hive-3.1.2/lib
[root@node-01 lib]# rm -rf guava-19.0.jar #复制 Hadoop 的高版本 guava
[root@node-01 lib]# cp /root/apps/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar /root/apps/hive-3.1.2/lib/
10. 拷贝 hive 到 node-02、node-03
[root@node-01 ~]# cd /root/apps/
[root@node-01 apps]# scp -r hive-3.1.2/ node-02:$PWD
[root@node-01 apps]# scp -r hive-3.1.2/ node-03:$PWD [root@node-01 ~]# cd /root/apps/hadoop-3.2.1/etc/hadoop
[root@node-01 hadoop]# scp core-site.xml node-02:$PWD
[root@node-01 hadoop]# scp core-site.xml node-03:$PWD [root@node-01 apps]# cd /etc
[root@node-01 etc]# scp profile node-02:$PWD
[root@node-01 etc]# scp profile node-03:$PWD
[root@node-02 ~]# source /etc/profile
[root@node-03 ~]# source /etc/profile
11. 初始化 Hive
[root@node-01 ~]# schematool -dbType mysql -initSchema
Initialization script completed #表示初始化完成
schemaTool completed

如果初始化失败,请检查连接 MySQL 配置的 URL 地址是否正确

12. 启动 HDFS(HA)和 Yarn(HA)集群环境

Hive 的表数据存储于 HDFS 中,所以需要开启 HDFS 集群,Hive 的查询依赖于 MapReduce 任务,所以需要开启 Yarn 集群

[root@node-01 ~]# dfsCluster.sh start

# shell 批处理脚本如下:
#!/bin/bash
#启动zk集群
for host in node-01 node-02 node-03
do
echo "${host}: zk ${1}ing....."
ssh $host "source /etc/profile;/root/apps/zookeeper-3.4.6/bin/zkServer.sh $1"
done sleep 2 for host in node-01 node-02 node-03
do
ssh $host "source /etc/profile; /root/apps/zookeeper-3.4.6/bin/zkServer.sh status"
done #启动hdsf(HA)集群
echo "hdfs cluster ${1}ing....."
${1}-dfs.sh sleep 2 for host in node-01 node-02
do
echo "${host}:hdfs zkfc ${1}ing....."
ssh $host "/root/apps/hadoop-3.2.1/bin/hdfs --daemon ${1} zkfc"
done sleep 2 for host in node-02 node-03
do
echo "${host}:datanode cluster ${1}ing....."
ssh $host "/root/apps/hadoop-3.2.1/bin/hdfs --daemon ${1} datanode"
done sleep 2 #启动 yarn(HA)集群
echo "yarn cluster ${1}ing ....."
${1}-yarn.sh sleep 2 for host in node-02 node-03
do
echo "${host}:nodemanager cluster ${1}ing....."
ssh $host "/root/apps/hadoop-3.2.1/bin/yarn --daemon ${1} nodemanager"
done [root@node-01 ~]# jps
10161 NodeManager
8804 QuorumPeerMain
10005 ResourceManager
9592 DFSZKFailoverController
9450 JournalNode
9068 NameNode
9212 DataNode [root@node-02 ~]# jps
9570 QuorumPeerMain
9795 JournalNode
10261 NodeManager
9868 DFSZKFailoverController
9965 DataNode
10111 ResourceManager
10671 NameNode [root@node-03 ~]# jps
3632 JournalNode
3718 DataNode
3853 NodeManager
3502 QuorumPeerMain
13. 启动 Hive 的元数据 metastore 服务

Hive 元数据存储于 windows 系统下的 mysql 8 中,所以需要启动 mysql 服务,并允许 Hive 远程连接 mysql

[root@node-01 ~]# hive --service metastore 1>/dev/null 2>&1 &
[root@node-01 ~]# jps
10161 NodeManager
8804 QuorumPeerMain
10005 ResourceManager
9592 DFSZKFailoverController
9450 JournalNode
9068 NameNode
9212 DataNode
24030 RunJar # metastore 服务进程
14. 启动 Hive 交互式 Shell 客户端
[root@node-01 ~]# hive
Logging initialized using configuration in jar:file:/root/apps/hive-3.1.2/lib/hive-common-3.1.2.jar!/hive-log4j2.properties Async: true
Hive Session ID = 46631073-610a-4242-8d60-3800099daf94
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive (default)> show databases;

Hive 安装和配置的更多相关文章

  1. Hive安装与配置详解

    既然是详解,那么我们就不能只知道怎么安装hive了,下面从hive的基本说起,如果你了解了,那么请直接移步安装与配置 hive是什么 hive安装和配置 hive的测试 hive 这里简单说明一下,好 ...

  2. 【Hive一】Hive安装及配置

    Hive安装及配置 下载hive安装包 此处以hive-0.13.1-cdh5.3.6版本的为例,包名为:hive-0.13.1-cdh5.3.6.tar.gz 解压Hive到安装目录 $ tar - ...

  3. CentOS6安装各种大数据软件 第八章:Hive安装和配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  4. [hive] hive 安装、配置

    一.hive安装 1.官网下载 1.2.2版本 http://apache.fayea.com/hive/hive-1.2.2/ 2. 解压,此处目录为 /opt/hadoop/hive-1.2.2 ...

  5. Hive安装与配置--- 基于MySQL元数据

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过 ...

  6. Hive安装与配置——深入浅出学Hive

    第一部分:软件准备与环境规划 Hadoop环境介绍 •Hadoop安装路径 •/home/test/Desktop/hadoop-1.0.0/ •Hadoop 元数据存放目录 •/home/test/ ...

  7. Hive安装、配置和使用

    Hive概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能. Hive本质是:将HQL转化成MapReduce程序. Hive处理的数据存储 ...

  8. Hive安装与配置——2.3.5版本

    Hive安装配置 Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据.它架构在Hadoop之上,提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行,使查询和分 ...

  9. 基于Hadoop集群搭建Hive安装与配置(yum插件安装MySQL)---linux系统《小白篇》

    用到的安装包有: apache-hive-1.2.1-bin.tar.gz mysql-connector-java-5.1.49.tar.gz 百度网盘链接: 链接:https://pan.baid ...

随机推荐

  1. 用Python爬取网易云音乐热评

    用Python爬取网易云音乐热评 本文旨在记录Python爬虫实例:网易云热评下载 由于是从零开始,本文内容借鉴于各种网络资源,如有侵权请告知作者. 要看懂本文,需要具备一点点网络相关知识.不过没有关 ...

  2. Java 获取Word中的标题大纲(目录)

    概述 Word中的标题可通过"样式"中的选项来快速设置(如图1), 图1 在添加目录时,可将"有效样式"设置为"目录级别"显示(如图2),一 ...

  3. Unity2D项目-平台、解谜、战斗! 0.1 序言:团队、项目提出、初步设计、剧情大纲

    各位看官老爷们,这里是RuaiRuai工作室(以下简称RR社),一个做单机游戏的兴趣作坊. 本文跟大家聊一下社团内第一个游戏项目.算是从萌新项目组长的角度,从第一个里程碑的结点处,往前看总结一下项目之 ...

  4. 【算法笔记】二分图与KM算法(当你试图只看蓝书学算法

    前言 呜,好久没写博客了,DDL 也有好多,一不留神就轮到我了呜. 看了一眼其它同学写的博客,什么数模啊,什么 CTF 啊,什么 Python 爬虫啊,感觉自己真是越来越菜了呜. 然后在我一愁莫展之际 ...

  5. 分库分表之后,id主键如何处理?

    (1)数据库自增id 这个就是说你的系统里每次得到一个id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个id.拿到这个id之后再往对应的分库分表里去写入. 这个方案 ...

  6. Hadoop完整搭建过程(一):本地模式

    1 本地模式 本地模式是最简单的模式,所有模块都运行在一个JVM进程中,使用本地文件系统而不是HDFS. 本地模式主要是用于本地开发过程中的运行调试用,下载后的Hadoop不需要设置默认就是本地模式. ...

  7. Spring Boot 2.x 快速集成Kafka

    1 Kafka Kafka是一个开源分布式的流处理平台,一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据.Kafka由Scala和Java编写,2012年成为Apache ...

  8. 1075 PAT Judge

    The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...

  9. Libraries

    Math.ceil() The Math.ceil() function returns the smallest integer greater than or equal to a given n ...

  10. Python数据类型之字符串类型

    字符串的表示 字符串是Python中最常用的数据类型之一,必须使用成对的引号包围来表示字符串,引号可以是单引号 ' .双引号 " .三引号''' """,格式如 ...