`
qindongliang1922
  • 浏览: 2171195 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117078
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125423
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59493
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71017
社区版块
存档分类
最新评论

Apache Hive2.1.0安装笔记

    博客分类:
  • Hive
阅读更多


Hive2.x已经足够稳定了,前面也安装过hive0.x和Hive1.x的版本,今天我们来看下hive2.x如何安装使用。

环境:

centos7.1

Hadoop2.7.3

JDK8

Hive2.1.0

1,首先需要下载hive最新的稳定版本的包,并保证的你Hadoop集群已经是能够正常运行的

http://ftp.kddilabs.jp/infosystems/apache/hive/

2,解压到指定目录

首先进入conf目录把所有带template后缀的文件,给移除后缀,只有hive-default.xml移除后缀后,需要修改名为hive-site.xml。

3,配置hive的log


vi conf/hive-log4j2.properties 

配置下面的2个参数:
property.hive.log.dir = /home/search/hive/logs 
property.hive.log.file = hive.log



4,配置使用MySQL作为元数据存储

关于安装mysql以及分配权限的请参考散仙之前的文章:http://qindongliang.iteye.com/blog/2337865

vi hive-site.xml

配置下面的几项参数
javax.jdo.option.ConnectionURL= jdbc:mysql://192.168.10.40:3306/hive?createDatabaseIfNotExist=true&characterEncoding=utf-8
javax.jdo.option.ConnectionUserName=root
javax.jdo.option.ConnectionPassword=pwd
javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver
hive.metastore.warehouse.dir=hdfs://192.168.10.38:8020//user/hive/warehouse

其他的凡是包含 ${system:java.io.tmpdir}变量的统一替代成绝对路径,目录可以在
hive的根目录下建一个tmp目录,统一放进去



最后切记添加mysql的jdbc驱动包到hive/lib的目录下面

说明下上面的jdbc的url里面驱动字符串设置为数据库编码为utf-8此外&符号需要转义
  jdbc:mysql://192.168.10.40:3306/hive?createDatabaseIfNotExist=true&characterEncoding=utf-8




此外默认hive读取Hbase的lib如果没有安装hbase则会启动不起来:
需要下载hbase然后配置对应的HBASE_HOME,文末会给出所有的环境变量




5,在hive2.x之后,需要先初始化schema如下:
$HIVE_HOME/bin/schematool -initSchema -dbType mysql


注意不执行这个,直接执行hive会报错:
Caused by: MetaException(message:Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, don't forget to include the option to auto-create the underlying database in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for mysql))
        at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3364)
        at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3336)
        at org.apache.hadoop.hive.ql.metadata.Hive.getAllFunctions(Hive.java:3590)
        


执行成功打印结果如下:
[search@es1 ~]$ $HIVE_HOME/bin/schematool -initSchema -dbType mysql
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/search/hive/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/search/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Metastore connection URL:        jdbc:mysql://192.168.10.40:3306/hive?createDatabaseIfNotExist=true&characterEncoding=utf-8
Metastore Connection Driver :    com.mysql.jdbc.Driver
Metastore connection User:       root
Starting metastore schema initialization to 2.1.0
Initialization script hive-schema-2.1.0.mysql.sql
Initialization script completed
schemaTool completed


6,测试集群是否正常

在本地磁盘上新建一个文件a,写入内容如下
1,a
2,b
3,c
4,a
5,a
2,a
4,2
1,a
1,a

编写的create_sql如下:
sql
  -- 存在就删除
  drop table if exists info ; 
-- 建表
CREATE TABLE info(id string, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;
 -- 加载数据
load data local inpath '/home/search/test_hive/a' into table info;

最后执行脚本,不报错就代表通过了:
hive -f create_sql


Hive2.x之后不推荐使用MR的方式运行任务了,推荐使用Tez或者Spark引擎运行job,但是mr还是支持的

执行下面的语句进行测试
hive -e "select count(*) from info"

运行成功,就代表Hive+Hadoop集成成功。

关于Hive On Tez 集成我下篇文章会介绍。


7,一些环境变量如下:

#JDK
export JAVA_HOME=/home/search/jdk1.8.0_102/
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

#Maven
export MAVEN_HOME=/home/search/apache-maven-3.3.9
export CLASSPATH=$CLASSPATH:$MAVEN_HOME/lib
export PATH=$PATH:$MAVEN_HOME/bin

#Ant
export ANT_HOME=/home/search/ant
export CLASSPATH=$CLASSPATH:$ANT_HOME/lib
export PATH=$PATH:$ANT_HOME/bin

#Hadoop
export HADOOP_HOME=/home/search/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export CLASSPATH=.:$CLASSPATH:$HADOOP_COMMON_HOME:$HADOOP_COMMON_HOME/lib:$HADOOP_MAPRED_HOME:$HADOOP_HDFS_HOME:$HADOOP_HDFS_HOME

#Hbase
export HBASE_HOME=/home/search/hbase
export CLASSPATH=$CLASSPATH:$HBASE_HOME/lib
export PATH=$HBASE_HOME/bin:$PATH

#Pig
export PIG_HOME=/home/search/pig
export PIG_CLASSPATH=$PIG_HOME/lib:$HADOOP_HOME/etc/hadoop
export PATH=/ROOT/server/bigdata/pig/bin:$PATH

#Zookeeper
export ZOOKEEPER_HOME=/home/search/zookeeper
export CLASSPATH=.:$ZOOKEEPER_HOME/lib
export PATH=$PATH:$ZOOKEEPER_HOME/bin

#Hive
export HIVE_HOME=/home/search/hive
export HIVE_CONF_DIR=$HIVE_HOME/conf
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf

#JStorm
export JSTORM_HOME=/home/search/jstorm-2.1.1
export CLASSPATH=$CLASSPATH:$JSTORM_HOME/lib
export PATH=$PATH:$JSTORM_HOME/bin:$PATH

#Scala
export SCALA_HOME=/home/search/scala
export CLASSPATH=.:$SCALA_HOME/lib
export PATH=$PATH:$SCALA_HOME/bin

#Spark
export SPARK_HOME=/ROOT/server/spark
export PATH=$PATH:$SPARK_HOME/bin




有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。

0
1
分享到:
评论

相关推荐

    apache-hive-2.1.0-bin.tar.zip

    在"apache-hive-2.1.0-bin.tar.zip"这个压缩包中,我们找到了 Apache Hive 2.1.0 版本的二进制发布版。 在了解 Hive 的具体功能和特点之前,先来看看这个版本的组成部分。"apache-hive-2.1.0-bin"通常包含以下几...

    hive-2.1.0.rar

    在“hive-2.1.0.rar”这个压缩包中,包含了Apache Hive 2.1.0版本的所有组件和文件。这个版本相对于早期的版本在性能、稳定性和功能上都有所提升,特别是引入了更高效的执行引擎Tez和Spark,以及改进的元数据管理和...

    apache-hive-2.1.0-bin.tar.gz

    `apache-hive-2.1.0-bin.tar.gz` 是Apache Hive 2.1.0版本的二进制发行版,包含了运行和使用Hive所需的所有组件和文件。 在Hive 2.1.0中,主要包含以下几个关键组件和特性: 1. **Hive Metastore**:这是Hive的...

    hive-jdbc-2.1.0.jar

    hive-jdbc-2.1.0.jar

    apache atlas2.1.0 整合CDH6.3.2编译安装包

    然后,你可以按照以下步骤来安装和配置Apache Atlas 2.1.0: 1. **解压文件**:首先,将下载的`apache-atlas-2.1.0`压缩包解压到一个合适的目录。 2. **配置环境**:修改`atlas/conf/atlas-env.sh`文件,设置ATLAS...

    Apache Hive(apache-hive-3.1.3-bin.tar.gz)

    Apache Hive(apache-hive-3.1.3-bin.tar.gz、apache-hive-3.1.3-src.tar.gz)是一种分布式容错数据仓库系统,支持大规模分析,并使用 SQL 促进读取、写入和管理驻留在分布式存储中的 PB 级数据。Hive 构建在 Apache...

    apache-sentry-2.1.0-src.tar.gz

    在Apache Sentry 2.1.0版本中,它提供了精细的权限控制,使得用户可以对Hive、HBase等数据存储系统进行细粒度的权限设定,从而保护数据资产的安全。 源码包"apache-sentry-2.1.0-src.tar.gz"包含了Sentry的所有源...

    Apache Hive Essentials

    Apache Hive Essentials,2015,第一版,Packt Publishing

    apache-hive-2.1.1-bin.tar

    apache-hive-2.1.1-bin.tar apache-hive-2.1.1-bin.tar apache-hive-2.1.1-bin.tarapache-hive-2.1.1-bin.tar apache-hive-2.1.1-bin.tar apache-hive-2.1.1-bin.tarapache-hive-2.1.1-bin.tar apache-hive-2.1.1-...

    Apache Hive(apache-hive-1.2.2-bin.tar.gz)

    Apache Hive(apache-hive-1.2.2-bin.tar.gz、apache-hive-1.2.2-src.tar.gz)是一种分布式容错数据仓库系统,支持大规模分析,并使用 SQL 促进读取、写入和管理驻留在分布式存储中的 PB 级数据。Hive 构建在 Apache...

    apache-hive-3.1.2.bin.tar 资源 权威官网下载!

    Apache Hive 是一个基于Hadoop的数据仓库工具,它允许用户使用SQL-like语言(称为HQL,Hive Query Language)来查询、管理和处理大数据集。在大数据领域,Hive扮演着重要的角色,因为它为非结构化和半结构化数据提供...

    Apache Atlas 2.1.0 集成CDH6.3.2 编译包

    这个"apache-atlas-2.1.0"压缩包文件可能包含Apache Atlas的源码、编译好的二进制文件、配置示例、安装指南等相关资料,用户可以通过这些资源在CDH 6.3.2环境下搭建和运行Apache Atlas服务。集成后,用户将能够更好...

    apache-atlas-2.1.0-hive-hook.tar.gz

    安装和配置 Apache Atlas 的 Hive Hook 需要遵循以下步骤: 1. **解压文件**:首先,你需要将 "apache-atlas-hive-hook-2.1.0" 解压到一个合适的位置。 2. **配置 Atlas**:在 Atlas 的配置文件(如 `atlas-env.sh`...

    Transactional Operations in Apache Hive: Present and Future

    Apache Hive事务操作设计及未来发展 Apache Hive是一款基于Hadoop的数据仓库工具,支持对大规模数据的存储、查询和分析。随着大数据时代的到来,Apache Hive的事务操作设计变得越来越重要。本文将对Apache Hive的...

    apache-atlas-2.1.0-bin.tar.gz

    - **配置步骤**:解压"apache-atlas-2.1.0"后,需要根据CDH 6.3.0的配置进行适当的调整,例如设置HBase、Zookeeper、Hive等服务的连接信息。 - **数据库配置**:Apache Atlas通常依赖于一个关系型数据库来存储元...

    第7集-Hadoop环境搭建 - linux(centos7) - 安装配置hive2.1.1.pdf

    在构建大数据处理环境时,Apache Hive 是一个重要的组件,它提供了SQL查询功能,使用户能够方便地对存储在Hadoop文件系统(HDFS)中的大规模数据集进行数据汇总与查询。本篇文章将详细介绍如何在CentOS 7环境下安装...

    apache-hive-2.3.3-bin.tar.gz

    Apache Hive 是一个基于Hadoop的数据仓库工具,它允许用户通过SQL-like语言(称为HQL,Hive Query Language)对大规模数据集进行分析和查询。在Hadoop生态系统中,Hive扮演着数据仓库和数据分析的重要角色,尤其适用...

    Apache Hive Essentials-Packt Publishing(2015).pdf

    《Apache Hive Essentials》是Packt Publishing在2015年发布的一本专著,全面介绍了Apache Hive这一大数据处理的重要工具。Hive是由Facebook开源的,主要用于处理和存储大规模的结构化数据,它提供了SQL(HQL)接口...

    Apache Hive(hive-storage-2.8.1.tar.gz)

    Apache Hive(hive-storage-2.8.1.tar.gz、hive-storage-2.7.3.tar.gz)是一种分布式容错数据仓库系统,支持大规模分析,并使用 SQL 促进读取、写入和管理驻留在分布式存储中的 PB 级数据。Hive 构建在 Apache ...

Global site tag (gtag.js) - Google Analytics