文档章节

Hive 安装

GordonNemo
 GordonNemo
发布于 06/14 11:59
字数 866
阅读 10
收藏 0

Hadoop环境搭建:        

       学习:hadoop-2.8.1 Apache Hadoop

       生产环境建议使用: CDH HDP (兼容性非常好)大数据平台里面会用到非常非常多的框架,也会遇到非常多的兼容性的问题,Jar包冲突【跑不掉】,所以不建议很多组合使用Apache版本,建议使用 CDH HDP

统一软件安装包下载路径:http://archive.cloudera.com/cdh5/cdh/5/

       选择统一的cdh5.7.0尾号 ,一定要选择正确

       hadoop-2.6.0-cdh5.7.0.tar.gz

       hive-1.1.0-cdh5.7.0.tar.gz

机器文件部署建议:

机器目录结构相关: hadoop/hadoop 

hadoop000(192.168.199.151)

hadoop001

hadoop002

.........

 

/home/hadoop/

software  存放安装软件

data 存放测试数据

source 存放源代码 

lib  存放相关开发的jar

app  软件安装目录

   tmp 存放HDFS/Kafka/ZK数据目录

maven_repo  maven本地仓库

shell  存放上课相关的脚本

安装部署

下载hive

 wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz

可以解压hadoop用户tar -zxvf hive-1.1.0-cdh5.7.0.tar.gz -C ~/app

tar -zxvf hive-1.1.0-cdh5.7.0.tar.gz -C ~/app

 

HIVE_HOME到系统环境变量:

[hadoop@hadoop05 app]$ vi ~/.bash_profile

export HIVE_HOME=/home/hadoop/app/hive-1.1.0-cdh5.7.0

export PATH=$HIVE_HOME/bin:$PATH

[hadoop@hadoop05 app]$ source ~/.bash_profile

[hadoop@hadoop05 app]$ echo $HIVE_HOME

配置文件修改

[hadoop@hadoop05 app]$ cd hive-1.1.0-cdh5.7.0/

[hadoop@hadoop05 hive-1.1.0-cdh5.7.0]$ ls

bin  conf  data  docs  examples  hcatalog  lib  LICENSE  NOTICE  README.txt  RELEASE_NOTES.txt  scripts

[hadoop@hadoop05 hive-1.1.0-cdh5.7.0]$ cd conf

[hadoop@hadoop-01 conf]$ cp hive-env.sh.template hive-env.sh

vi hive-env.sh

    HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0

注意:(当数据库不存在的时候,自动创建数据库)

hive-site.xml

<?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <configuration>
        <property>
          <name>javax.jdo.option.ConnectionURL</name>
          <value>jdbc:mysql://localhost:3306/gordon?createDatabaseIfNotExist=true</value>
        </property>
        <property>
          <name>javax.jdo.option.ConnectionDriverName</name>
          <value>com.mysql.jdbc.Driver</value>
        </property>

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

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

拷贝MySQL驱动包到$HIVE_HOME/lib

拷贝 mysql-connector-java-5.1.27-bin.jar

[hadoop@hadoop-01 ~]$ cd $HIVE_HOME

[hadoop@hadoop-01 hive-1.1.0-cdh5.7.0]$ cd lib

[hadoop@hadoop-01 lib]$ rz mysql-connector-java-5.1.27-bin.jar

[hadoop@hadoop-01 lib]$ ll

-rw-r--r--. 1 hadoop hadoop 872303 Dec 19 17:22 mysql-connector-java-5.1.27-bin.jar

如果没有拷贝MySQL驱动包,启动hive会报错:

    The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH.

    Please check your CLASSPATH specification,

    and the name of the driver。

启动hive

[hadoop@hadoop05 bin]$ ./hive

which: no hbase in (/home/hadoop/app/hive-1.1.0-cdh5.7.0/bin:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/bin:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/sbin:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/bin:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/sbin:/home/hadoop/app/jdk1.8.0_45/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin)

 

Logging initialized using configuration in jar:file:/home/hadoop/app/hive-1.1.0-cdh5.7.0/lib/hive-common-1.1.0-cdh5.7.0.jar!/hive-log4j.properties

WARNING: Hive CLI is deprecated and migration to Beeline is recommended.

hive> show tables;

OK

Time taken: 5.125 seconds

 

查看mysql下自动创建了数据库。

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| gordon             |

| mysql              |

| performance_schema |

| test               |

+--------------------+

5 rows in set (0.02 sec)

hive下创建一张表

hive> create table xx(id int);

OK

Time taken: 5.38 seconds

hive> show tables;

OK

xx

Time taken: 0.49 seconds, Fetched: 1 row(s)

创建表失败:

    FAILED: Execution Error,

    return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.

    MetaException(message:For direct MetaStore DB

    connections, we don't support retries at the client

    level.)

    思路:找日志

    日志在哪里:$HIVE_HOME/conf/hive-log4j.properties.template

                hive.log.dir=${java.io.tmpdir}/${user.name}

                hive.log.file=hive.log

                问题:能不能改,如何改?

    日志错误:

        ERROR [main]: Datastore.Schema (Log4JLogger.java:error(115)) - An exception was thrown while adding/validating class(es) :

        Specified key was too long; max key length is 767 bytes

        com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes

 解决方案:

        alter database ruozedata_basic02 character set latin1;

在Hive中,默认的日志路径是在/tmp底下,一般Linux或者CentOS系统会一个月自动清理一次tmp底下的东西,所以要将日志进行更换位置。

首先需要cp一份hive-log4j.properties文件,在默认安装好Hive后是没有的

可以修改路径:

查看日志可以发现Hive的默认底层是MapReduce

 

© 著作权归作者所有

共有 人打赏支持
GordonNemo
粉丝 4
博文 35
码字总数 60946
作品 0
杭州
架构师
安装配置hive

环境: ubuntu 14.04 hadoop 1.0.1 5.5.46-0ubuntu0.14.04.2 hive 0.9.0 安装配置步骤: 安装mysql sudo apt-get install mysql-serve 在安装过程中会让你配置root用户的密码,去设置的是roo...

z_jordon
2015/12/14
130
0
初始Hive —— 深入浅出学Hive(二)

目录: 初始Hive Hive安装与配置 Hive 内建操作符与函数开发 Hive JDBC hive参数 Hive 高级编程 Hive QL Hive Shell 基本操作 hive 优化 Hive体系结构 Hive的原理 第一部分:软件准备与环境规...

东方神剑
2016/01/13
36
0
Linux 下 hive 安装配置

hive和hadoop环境配合运行,所以在安装配置hive之前,需要确保hadoop环境已经搭建好并能正常运行,hadoop安装配置可参考(本文使用的是2.1.0版本):http://my.oschina.net/u/574036/blog/7...

驛路梨花醉美
2016/08/18
45
0
Hive安装与配置

Hive安装配置详解 本文主要是在Hadoop单机模式中演示Hive默认(嵌入式Derby模式)安装配置过程。 1、下载安装包 到官方网站下载最新的安装包,这里以Hive-0.12.0为例: $ tar -zxf hive-0.12...

dreaminthewind
2014/05/15
0
0
【Hive】Hive结合MySQL的配置及操作

1、安装MySQL (1)解压mysql安装包: (2)切换到root用户,查询系统中是否已安装mysql: 如果已安装,删除已安装的mysql文件: (3)进入解压好的mysql-libs目录,对root用户赋予执行权限:...

gongxifacai_believe
04/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
37分钟前
1
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
2
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
1
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
1
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部