环境准备

  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. 关于C语言解决汉诺塔(hanoi)问题

    C语言解决汉诺塔问题 汉诺塔是典型的递归调用问题: hanoi简介:印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔.不论白天黑夜,总有一个僧侣 ...

  2. HMS Toolkit自动化环境配置,助您高效集成HMS Core

    HMS Toolkit是一个IDE插件,提供包括应用创建.编码和转换.调测和测试.提交上架等多个端到端开发工具,借助HMS Toolkit可提升3倍以上集成开发效率,可以帮助开发者以更高的开发效率.更 ...

  3. Box UVA - 1587

    Ivan works at a factory that produces heavy machinery. He has a simple job - he knocks up wooden box ...

  4. Day01_03_Java名词

    java名词 SDK 软件开发工具包 JDK Java的软件开发工具包,其中包括Java虚拟机(JVM),Java运行环境(即jre),Java工具(编译器,运行工具等)和Java基础类库等. JRE ...

  5. python 函数对象、函数嵌套、名称空间与作用域

    一 函数对象 一 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素二 利用该特性,优雅的取代多分支的if def ...

  6. Oralce注入 bypass waf出数据

    发存货: 探测banner 版本号: ' and (SELECT banner FROM v$version where rownum=1) like 'O%' and '1'like'1 rownu ...

  7. Summary: DOM modification techniques

    Modifying an existing element We covered various ways that you can modify aspects of an existing ele ...

  8. 【SpringBoot】Spring Boot

    Spring Boot是由Pribotal团队提供,设计用来简化新Spring应用的初始搭建和开发过程的开源框架. 随着Spring体系越来越庞大,各种配置也是越来越复杂,Spring Boot就是解 ...

  9. 从苏宁电器到卡巴斯基第28篇:难忘的三年硕士时光 VI

    想要毕业,还需满足一个要求 像我们这种三年制的工科硕士,想要毕业的话,除了需要按照要求完成毕业论文以外,还需要在相关期刊上发表一篇与毕业论文相关的小论文,或者申请软件著作权,或者申请专利.我不知道别的 ...

  10. 一个简单的Android木马病毒的分析

    一.样本信息 文件名称: 一个安卓病毒木马.apk 文件大小:242867 byte 文件类型:application/jar 病毒名称:Android.Trojan.SMSSend.KS 样本MD5 ...