节点信息
dockerapache-01
dockerapache-02 #master
dockerapache-03

1.首先你需要先安装一个mysql

https://downloads.mysql.com/archives/community/
hive需要采用MySQL数据库保存Hive元数据。因为Hive自带的derby存储元数据不能支持多个用户连接,实际上derby只能允许一个会话连接。
安装教程在以下链接:
https://blog.csdn.net/gulugulu_gulu/article/details/105727581

2. 下载hive安装包

https://mirror.bit.edu.cn/apache/hive/hive-3.1.2/

以下在master上进行操作
3. 配置环境变量,hive
vim /etc/profile.d/hive.sh
export HIVE_HOME=/usr/local/apache-hive-3.1.2-bin
export HIVE_CONF_DIR=${HIVE_HOME}/conf
export PATH=$PATH:$JAVA_HOME/bin:$HIVE_HOME/bin:$HIVE_HOME/sbin

之后在 source /etc/profile 一下

4. 配置hive-env.sh
cp hive-env.sh.template hive-env.sh
HADOOP_HOME=/usr/local/hadoop-3.1.3
JAVA_HOME=/usr/local/jdk1.8.0_161
HBASE_HOME=/usr/local/hbase-2.2.4
SPARK_HOME=/SPARK/HOME
5.conf 下新建 hive-site.xml
<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://DockerApache-01: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>
</configuration>

如果报错Public Key Retrieval is not allowed,可以使用以下url:

<value>jdbc:mysql://apache03:3306/hive?createDatabaseIfNotExist=true&amp;allowPublicKeyRetrieval=true</value>
6. 上传mysql jdbc驱动至hive/lib
 cp mysql-connector-java-8.0.17.jar /usr/local/apache-hive-3.1.2-bin/lib/
7. 初始化
schematool -initSchema -dbType mysql

./hive --service metastore
8. 启动和使用hive
hive
9. mysql中发生了什么?

1.新增database hive

10.hdfs 目录

不需要自己在hdfs上新建目录
在hive中新建表:

create table test_tmp(
id int,
name string,
age int,
tel string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;

查看表

hive> show tables;


再去查看hdfs目录会发现,hdfs上已经自动创建了对应的目录 (default)

接着,对于其他节点
1. 将master节点上的hive安装包拷贝至其他节点
 scp -r /usr/local/apache-hive-3.1.2-bin/ DockerApache-01:`pwd`scp -r /usr/local/apache-hive-3.1.2-bin/ DockerApache-03:`pwd`
2. 分别配置从节点hive-site.xml
 <property><name>hive.metastore.uris</name><value>thrift://dockerapache-02:9083</value></property>
3.直接运行 ./hive

有问题可以试试master节点上重启一下

./hive --service metastore &
配置spark

1.拷贝spark/jars的三个包到 $HIVE_HOME/lib:

scala-library-2.12.10.jar
spark-core_2.12-3.0.0-preview2.jar
spark-network-common_2.12-3.0.0-preview2.jar

cp spark-network-common_2.12-3.0.0-preview2.jar /usr/local/apache-hive-3.1.2-bin/lib/
cp spark-core_2.12-3.0.0-preview2.jar scala-library-2.12.10.jar /usr/local/apache-hive-3.1.2-bin/lib/

2.在hdfs上新建spark的文件夹,将【/usr/local/spark-3.0.0-preview2-bin-hadoop3.2/jars】下所有的包上传至spark目录下。

hadoop fs -mkdir /user/spark
hadoop fs -put * /user/spark
  1. 配置hive-site.xml,增加以下内容
<property><name>yarn.resourcemanager.scheduler.class</name>    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>
<property><name>spark.yarn.jars</name><value>hdfs://dockerapache-02:9000 /user/spark/*</value>
</property>
<property><name>spark.home</name><value>/usr/local/spark-3.0.0-preview2-bin-hadoop3.2</value>
</property>
<property><name>spark.master</name><value>yarn</value>
</property>
<property><name>spark.executor.memory</name><value>8g</value>
</property>
<property><name>spark.executor.cores</name><value>2</value>
</property>
<property><name>spark.executor.instances</name><value>32</value>
</property>
<property><name>spark.driver.memory</name><value>8g</value>
</property>
<property><name>spark.driver.cores</name><value>2</value>
</property>
<property><name>spark.serializer</name><value>org.apache.spark.serializer.KryoSerializer</value>
</property>
错误及solution
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V

这可能是因为hive内依赖的guava.jar和hadoop内的版本不一致造成的。 检查:
查看hadoop安装目录下share/hadoop/common/lib内guava.jar版本
查看hive安装目录下lib内guava.jar的版本 如果两者不一致,删除版本低的,并拷贝高版本的。

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
Underlying cause: java.sql.SQLNonTransientConnectionException : Public Key Retrieval is not allowed

再检查一下hive-site.xml 中jdbc配置信息,是否出现类似‘&amp’乱码?有的话删掉
参考:http://www.mamicode.com/info-detail-2854343.html

Underlying cause: java.sql.SQLException : Access denied for user 'hive'@'dockerapache-02' (using password: YES)

用户权限问题。
注意hive-site.xml中用户名和密码,和安装教程https://blog.csdn.net/gulugulu_gulu/article/details/105727581步骤6中都对应

  <property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>qwe123</value></property>

hive3.1.2 分布式安装 (基于hadoo3.1.3+spark)相关推荐

  1. 基于Docker的Hadoop完全分布式安装

    之前安装Hadoop是用VMWare创建虚拟机,然后安装伪分布式,因为虚拟机太慢,太卡,实在没有玩下去的心情了,现在想到Docker可以实现虚拟化,看看能不能安装Hadoop,网上查了查,果然可以,并 ...

  2. Hive、Hadoop完全分布式安装,基本SQL,基本SQL,基本表结构,数据类型,函数,窗口函数,jion,查询和排序,beeline,文件格式及基本架构汇总

    目录 Hive简介 一.概述 二.Hive和数据库的比较 三.特点 Hadoop完全分布式安装 一.配置 二.安装步骤 Hive安装 一.概述 二.安装步骤 其他 一.Hive运行日志 二.Hive的 ...

  3. ZooKeeper:win7上安装单机及伪分布式安装

    zookeeper是一个为分布式应用所设计的分布式的.开源的调度服务,它主要用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用,协调及其管理的难度,提高性能的分布式服务. 本章的目的:如何 ...

  4. Hadoop完全分布式安装

    Hadoop 博客链接:http://hphblog.cn/2018/12/17/Hadoop简介与分布式安装/ 简介 Hadoop 是Apache Lucene创始人道格·卡丁(Doug Cutti ...

  5. Hadoop简介与分布式安装

    Hadoop的基本概念和分布式安装: Hadoop 简介 Hadoop 是Apache Lucene创始人道格·卡丁(Doug Cutting)创建的,Lucene是一个应用广泛的文本搜索库,Hado ...

  6. hadoop hbase java_Hadoop、Hbase伪分布式安装

    环境 本文介绍Hadoop.Hbase的伪分布式安装. 操作系统: Centos7 Hadoop: 2.7.3 Hbase: 1.2.3 Hadoop安装 JAVA_HOME环境变量配置 由于Hbas ...

  7. 单机版安装,伪分布式安装

    单机版安装,伪分布式安装 单机版安装:适合做一些调试,mapreduce调试(debug),实际开发中不用 伪分布式安装:在一台服务器上模拟出来多台服务器的效果(模拟多服务的启动方式) 官网地址 单机 ...

  8. 第六天 - 安装第二、三台CentOS - SSH免密登陆 - hadoop全分布式安装、配置、集群启动

    第六天 - 安装第二.三台CentOS - SSH免密登陆 - hadoop全分布式安装.配置.集群启动 第六天 - 安装第二.三台CentOS - SSH免密登陆 - hadoop全分布式安装.配置 ...

  9. hadoop伪分布式安装

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq1010885678/article/details/43447733 首先需要有一台linux的 ...

  10. 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)...

    不多说,直接上干货! 这个很简单,在集群机器里,选择就是了,本来自带就有Impala的. 扩展博客 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解) 欢迎大 ...

最新文章

  1. IOS中Cell自定义
  2. python小游戏开发,使用python实现英语打字游戏
  3. API for org.eclipse.paho.client.mqttv3
  4. ubuntu 下解锁华为8812并刷入recovery.img
  5. 内存首地址为1000h_C++虚继承,菱形继承,内存分布
  6. mysql表操作_MySQL表操作语句用法百科
  7. 打破“创新困局”,让你的企业创意盎然的六个新角色
  8. DebugView输出调试信息
  9. NETBACKUP error 90
  10. 内存分析_Redis内存爆炸增长?你需要知道这一套Redis内存分析方法
  11. SAP License:搽皮鞋的提示
  12. 一个人开始变富时,会有这4个征兆,坚持下去,路越走越宽
  13. 【Python-3.3】使用while循环实现列表间数据移动
  14. eclipse实用编辑快捷键
  15. AutoForm Master v4.04-ISO 1CD(专业板金优化分析软件,好用!)/
  16. 千月影视选集前端,这个可以H5多端
  17. Python常用的软件包
  18. jq追加html点击事件,jq增加点击事件 Jquery为DIV添加点击事件
  19. Liang-Barsky直线段裁剪
  20. 大数据告诉你——垃圾围城,现行的垃圾分类制度,作用到底能有多大?

热门文章

  1. DOS窗口打开本地应用,打开chrome浏览器
  2. 怎么让模糊的数字变清楚_Re: 请问将模糊的图片中数字变的清晰方法是?多谢!!!...
  3. LM5017原理图PCB设计要点
  4. android简繁体切换快捷键,我的Android进阶之旅------Android中如何高效率的进行简繁体转换...
  5. 无人机协同搜索matlab,一种多无人机协同目标搜索方法与流程
  6. 单元格下拉全选快捷键_excel下拉全选快捷键是什么
  7. java 右对齐_Java中如何控制右对齐输出?
  8. 【js】自爆脚本,我抢了124盒月饼,马云看了也很惊讶
  9. jQuery 梁桐老师笔记 - 属性,CSS,文档处理
  10. Buck电路工作原理