hive on Spark部署

一、环境

1、zk集群

10.10.103.144:2181,10.10.103.246:2181,10.10.103.62:2181

2、metastore数据库

10.10.103.246:3306

二、安装

1、安装配置数据库

yum -y install mysql55-server mysql55
GRANT ALL PRIVILEGES ON metastore.* TO ‘hive‘@‘localhost‘ IDENTIFIED BY ‘hive‘;
GRANT ALL PRIVILEGES ON metastore.* TO ‘hive‘@‘10.10.103.246‘ IDENTIFIED BY ‘hive‘;
GRANT ALL PRIVILEGES ON metastore.* TO ‘hive‘@‘127.0.0.1‘ IDENTIFIED BY ‘hive‘;
CREATE DATABASE IF NOT EXISTS metastore;
USE metastore;
SOURCE /usr/lib/hive/scripts/metastore/upgrade/mysql/hive-schema-1.1.0.mysql.sql;#执行这个会报错,然后在执行下面sql
source  /usr/lib/hive/scripts/metastore/upgrade/mysql/hive-txn-schema-0.13.0.mysql.sql;

2、安装hive

yum -y install hive hive-jdbc hive-metastore hive-server2

3、配置

vim /etc/hive/conf/hive-site.xml 
<?xml version="1.0"?>

<configuration>
<property>
  <name>hive.execution.engine</name>
  <value>spark</value>
</property>

<property>
  <name>hive.enable.spark.execution.engine</name>
  <value>true</value>
</property>

<property>
  <name>spark.master</name>
  <value>yarn-client</value>
</property>
<property>
  <name>spark.enentLog.enabled</name>
  <value>true</value>
</property>
<property>
  <name>spark.enentLog.dir</name>
  <value>hdfs://mycluster:8020/spark-log</value>
</property>
<property>
  <name>spark.serializer</name>
  <value>org.apache.spark.serializer.KryoSerializer</value>
</property>
<property>
  <name>spark.executor.memeory</name>
  <value>1g</value>
</property>
<property>
  <name>spark.driver.memeory</name>
  <value>1g</value>
</property>
<property>
  <name>spark.executor.extraJavaOptions</name>
  <value>-XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"</value>
</property>
<property>
  <name>hive.metastore.uris</name>
  <value>thrift://10.10.103.246:9083</value>
</property>
<property>
  <name>hive.metastore.local</name>
  <value>false</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://10.10.103.246/metastore</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>

<property>
  <name>datanucleus.autoCreateSchema</name>
  <value>false</value>
</property>
<property>
  <name>datanucleus.fixedDatastore</name>
  <value>true</value>
</property>
<property>
  <name>datanucleus.autoStartMechanism</name> 
  <value>SchemaTable</value>
</property> 
<property>
  <name>hive.support.concurrency</name>
  <value>true</value>
</property>
<property>
  <name>hive.zookeeper.quorum</name>
  <value>10.10.103.144:2181,10.10.103.246:2181,10.10.103.62:2181</value>
</property>

<property>
  <name>hive.aux.jars.path</name>
    <value>file:///usr/lib/hive/lib/zookeeper.jar</value>
</property>

<property>
  <name>hive.metastore.schema.verification</name><value>false</value>
</property>

</configuration>

4、启动metastore服务

/etc/init.d/hive-metastore start

5、验证

[[email protected] conf]# hive
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
17/05/12 15:04:47 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist
17/05/12 15:04:47 WARN conf.HiveConf: HiveConf of name hive.enable.spark.execution.engine does not exist

Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j.properties
WARNING: Hive CLI is deprecated and migration to Beeline is recommended.
hive> 
    > 
    > 
    > create table navy1(ts BIGINT,line STRING); 
OK
Time taken: 0.925 seconds
hive> select count(*) from navy1;
Query ID = root_20170512150505_8f7fb28e-cf32-4efc-bb95-6add37f13fb6
Total jobs = 1
Launching Job 1 out of 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
Starting Spark Job = f045ab15-baaa-40e7-9641-d821fa313abe
Running with YARN Application = application_1494472050574_0014
Kill Command = /usr/lib/hadoop/bin/yarn application -kill application_1494472050574_0014

Query Hive on Spark job[0] stages:
0
1

Status: Running (Hive on Spark job[0])
Job Progress Format
CurrentTime StageId_StageAttemptId: SucceededTasksCount(+RunningTasksCount-FailedTasksCount)/TotalTasksCount [StageCost]
2017-05-12 15:05:30,835 Stage-0_0: 0(+1)/1      Stage-1_0: 0/1
2017-05-12 15:05:33,853 Stage-0_0: 1/1 Finished Stage-1_0: 1/1 Finished
Status: Finished successfully in 16.05 seconds
OK
0
Time taken: 19.325 seconds, Fetched: 1 row(s)
hive>

6、遇到的问题

报错:

hive> select count(*) from test;
Query ID = root_20170512143232_48d9f363-7b60-4414-9310-e6348104f476
Total jobs = 1
Launching Job 1 out of 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
        at org.apache.hadoop.hive.ql.exec.spark.HiveSparkClientFactory.initiateSparkConf(HiveSparkClientFactory.java:74)
        at org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionManagerImpl.setup(SparkSessionManagerImpl.java:81)
        at org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionManagerImpl.getSession(SparkSessionManagerImpl.java:102)
        at org.apache.hadoop.hive.ql.exec.spark.SparkUtilities.getSparkSession(SparkUtilities.java:111)
        at org.apache.hadoop.hive.ql.exec.spark.SparkTask.execute(SparkTask.java:99)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:214)
        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1979)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1692)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1424)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1208)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1198)
        at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:220)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:172)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:383)
        at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:775)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:693)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:628)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 24 more
FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. org/apache/hadoop/hbase/HBaseConfiguration

解决:

yum -y install hbase
时间: 2025-01-20 02:27:00

hive on Spark部署的相关文章

Hive on Spark

Hive On Spark 一.概述 Hive 是一种数据仓库,即是一种sql翻译器,hive可以将sql翻译成mapreduce程序在hadoop中去执行,默认支持原生的Mapreduce引擎.从hive1.1版本以后开始支持Spark.可以将sql翻译成RDD在spark里面执行.Hive支持的spark是那种spark-without-hive,即没有编译支持hive包的spark. 二.安装版本及软件 需要安装:scala-2.12.jdk1.8.hive-2.1.1.spark-1.6

伪分布式Spark + Hive on Spark搭建

Spark大数据平台有使用一段时间了,但大部分都是用于实验而搭建起来用的,搭建过Spark完全分布式,也搭建过用于测试的伪分布式.现在是写一遍随笔,记录一下曾经搭建过的环境,免得以后自己忘记了.也给和初学者以及曾经挖过坑的人用作参考. Hive on Spark是Hive跑在Spark上,用的是Spark执行引擎,而不是默认的MapReduce. 可以查阅官网的资源Hive on Spark: Getting Started. 一 .安装基础环境 1.1 Java1.8环境搭建 1) 下载jdk

Hive的安装部署全过程详细版

首先先简单介绍下hive: Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射成一张数据表,并可以使用类似SQL的方式来对数据文件进行读写以及管理.这套Hive SQL 简称HQL.Hive的执行引擎可以是MR.Spark.Tez. 核心架构:   Hive官网地址 http://hive.apache.org/ 下载地址 http://archive.apache.org/dist/hive/ hive的安装部署 Hive常用的安装分三种 (注意:Hive会自动监测Had

新手入门:Spark部署实战入门

Spark简介 整体认识 Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架.最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一. Spark在整个大数据系统中处于中间偏上层的地位,如下图,对hadoop起到了补充作用: 基本概念 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架. 第一步分割任务.首先我们需要有一个fo

Apache Spark源码走读之12 -- Hive on Spark运行环境搭建

欢迎转载,转载请注明出处,徽沪一郎. 楔子 Hive是基于Hadoop的开源数据仓库工具,提供了类似于SQL的HiveQL语言,使得上层的数据分析人员不用知道太多MapReduce的知识就能对存储于Hdfs中的海量数据进行分析.由于这一特性而收到广泛的欢迎. Hive的整体框架中有一个重要的模块是执行模块,这一部分是用Hadoop中MapReduce计算框架来实现,因而在处理速度上不是非常令人满意.由于Spark出色的处理速度,有人已经成功将HiveQL的执行利用Spark来运行,这就是已经非常

Spark部署及应用

在飞速发展的云计算大数据时代,Spark是继Hadoop之后,成为替代Hadoop的下一代云计算大数据核心技术,目前Spark已经构建了自己的整个大数据处理生态系统,如流处理.图技术.机器学习.NoSQL查询等方面都有自己的技术,并且是Apache顶级Project,可以预计的是2014年下半年到2015年Spark在社区和商业应用上会有爆发式的增长. Spark在业界的使用案例 Spark技术在国内外的应用开始越来越广泛,它正在逐渐走向成熟,并在这个领域扮演更加重要的角色.国外一些大型互联网公

关于hive和spark日志问题

在用控制台学习hive和spark的时候,总是打印出来的各种日志烦得不行(对我而言).所以就想把着写我不关心的信息屏蔽掉,只保留错误信息.其实输出的日志信息还是很有用的,因为里面的日志信息可以清楚的描述任务执行的过程和细节.对hive和spark基本运行原理有了了解之后,我觉得完全可以屏蔽掉这些信息. 于是寻找教程,搞了一把.主要就是修改log4j.properties这个文件 没处理之前是这个样子的: 处理之后是这个样子的: 具体的怎么设置,看下面的博文吧,很详细. http://blog.c

hive on spark 编译

前置条件说明 Hive on Spark是Hive跑在Spark上,用的是Spark执行引擎,而不是MapReduce,和Hive on Tez的道理一样. 从Hive 1.1版本开始,Hive on Spark已经成为Hive代码的一部分了,并且在spark分支上面,可以看这里https://github.com/apache/hive/tree/spark,并会定期的移到master分支上面去. 关于Hive on Spark的讨论和进度,可以看这里https://issues.apache

Hive on Spark安装与配置(无数坑)

一.版本如下    注意:Hive on Spark对版本有着严格的要求,下面的版本是经过验证的版本 apache-hive-2.3.2-bin.tar.gz hadoop-2.7.2.tar.gz jdk-8u144-linux-x64.tar.gz mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar mysql-connector-java-5.1.43-bin.jar spark-2.0.0.tgz(spark源码包,需要从源码编译) Redhat Linux