环境准备

  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. Cloudreve 自建云盘实践,我说了没人能限得了我的容量和速度!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 为啥要用自建网盘,市面上的云盘不香了? 每一个用户需求的背后都是因为有场景存在,而这 ...

  2. 201871030117-李亚楠 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 课程班级 这个作业要求链接 作业要求 我的课程学习目标 1.体验软件项目开发中的两个人合作.练习结对编程:2.掌握Github协作开发程序的操作方法:3.熟悉编程语言的综 ...

  3. 10. Vue-Vue 的{{}}、v-html、v-text

    {{ }} 将元素当成纯文本输出 v-html v-html会将元素当成HTML标签解析后输出 v-text v-text会将元素当成纯文本输出 代码: <!DOCTYPE html> & ...

  4. 算法、数据结构、与设计模式等在游戏开发中的运用 (一):单例设计(Singleton Design)

    算法.数据结构.与设计模式等在游戏开发中的运用 (一):单例设计(Singleton Design) 作者: Compasslg 李涵威 1. 什么是单例设计(Singleton Design) 在学 ...

  5. Day11_56_在SortedSet中使用泛型

    在SortedSet中使用泛型 import java.util.SortedSet; import java.util.TreeSet; //主类 public class GenericTest0 ...

  6. 17- web测试面试题

  7. ART模式下基于Xposed Hook开发脱壳工具

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78092365 Dalvik模式下的Android加固技术已经很成熟了,Dalvik ...

  8. hdu1024 最大m子序列和

    题意:      给你一个序列n个数组成,然后让你在里面找到m个子序列,让这m个子序列的和最大. 思路:       dp[i][j]表示的是第j个数字在第i个子序列时的当前最优值. dp[i][j] ...

  9. Windows PE 第十二章 PE变形技术

    PE变形技术 这章东西太多,太细了.这里我只记录了一些重点概念.为后面学习做铺垫. PE变形:改变PE结构之后,PE加载器依然可以成功加载运行我们的程序. 一 变形常用技术: 结构重叠技术.空间调整技 ...

  10. cmake VTK visual studio 2010

    使用cmake在configure之后,出现了以下错误,导致编译无法进行 The C compiler "cl" is not able to compile a simple t ...