Hive的安装和使用

我的版本:

JAVA_HOME=/usr/local/soft/jdk1.8.0_171

HADOOP_HOME=/usr/local/soft/hadoop-2.7.6

HIVE_HOME=/usr/local/soft/hive-1.2.1

一、离线安装mysql

hive的元数据需要存储在mysql,没安装mysql的可以参考Linux安装MySQL详细步骤(CentOS6、CentOS7),安装过的直接跳过

安装hive前需要先在MySQL中创建hive元数据库

create database hive character set "latin1";

二、安装hive

1、解压hive的安装包:

tar -zxvf apache-hive-1.2.1-bin.tar.gz

我是安装到/usr/local/soft目录下



进入到自己的安装目录下修改目录名称(原来的名称太长):

mv apache-hive-1.2.1-bin hive-1.2.1



2、进入hive-1.2.1/conf目录,复制备份文件并重命名

cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml

3、配置hive的配置文件(hive的配置文件比较大,在linux中查找某项配置比较难,可以先将hive-site.xml文件复制到windows用文本编辑打开,然后ctrl+f查关键字修改,修改之后再放回到hive 的conf目录)

3.1修改hive-env.sh

vim hive-env.sh

加入三行内容(大家根据自己的目录和实际情况来添加)

HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
JAVA_HOME=/usr/local/soft/jdk1.8.0_171
HIVE_HOME=/usr/local/soft/hive-1.2.1



3.2修改hive-site.xml

修改时要细心一点别找错了

文件中涉及到的主机名和路径要根据自己的修改

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?characterEncoding=utf-8</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>123456</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/usr/local/soft/hive-1.2.1/tmp</value>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/usr/local/soft/hive-1.2.1/tmp</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/usr/local/soft/hive-1.2.1/tmp</value>
</property>

3.4拷贝mysql驱动到$HIVE_HOME/lib目录下

cd /usr/local/soft/hive-1.2.1/lib进入到lib目录

我的mysql驱动在/usr/local/soft/module/mysql-connector-java-5.1.49.jar

cp /usr/local/module/mysql-connector-java-5.1.49.jar ./



3.5将hive的jline-2.12.jar拷贝到hadoop对应目录下,hive的 jline-2.12.jar 位置在 :

/usr/local/soft/hive-1.2.1/lib/

将hive的jar拷过去hadoop下(因为我的Hadoop版本里面不包含jline jar包直接拷过去即可,有的hadoop版本自带jar包,这时候需要删除版本低的,不然后面运行时会报错):

cp /usr/local/soft/hive-1.2.1/lib/jline-2.12.jar /usr/local/soft/hadoop-2.7.6/share/hadoop/yarn/lib/



3.6配置环境变量,加上HIVE_HOME

修改/etc/profile

vim /etc/profile

export HIVE_HOME=/usr/local/soft/hive-1.2.1
export PATH=$PATH:$HIVE_HOME/bin

重新加载环境变量

source /etc/profile

3.7启动hive:

hive



3.8 修改mysql元数据库hive,让其hive支持utf-8编码以支持中文

登录mysql(需要先退出hive或者再开一个会话窗口):

mysql -u root -p123456

切换到hive数据库:

use hive;

1).修改字段注释字符集

alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;

2).修改表注释字符集

alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

3).修改分区表参数,以支持分区键能够用中文表示

alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;

4).修改索引注解(报错不用管)

alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

测试hive

1、启动hive

2、在hive中创建test1数据库

create database test1;

3、切换test1数据库:

use test1;

4、创建students表:

create table students(
id bigint comment '学生id',
name string comment '学生姓名',
age int comment '学生年龄',
gender string comment '学生性别',
clazz string comment '学生班级'
) comment '学生信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';



5、创建score表:

create table score(
id bigint comment '学生id',
score_id bigint comment '科目id',
score int comment '学生成绩'
) comment '学生成绩表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

6、查看表信息:

desc students;
desc score;

Hive安装教程的更多相关文章

  1. hive 安装教程

    1. 下载hadoop-1.2.1-bin.tar.gz 解压,修改名称为hive mv 到 /opt/hive 2.配置hive cp hive-default.xml.template hive- ...

  2. hive安装教程本地模式

    1.安装模式介绍: Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景. a.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错) b.本地模式(本地 ...

  3. Hive/Hbase/Sqoop的安装教程

    Hive/Hbase/Sqoop的安装教程 HIVE INSTALL 1.下载安装包:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3 ...

  4. apache-hadoop-1.2.1、hbase、hive、mahout、nutch、solr安装教程

    1 软件环境: VMware8.0 Ubuntu-12.10-desktop-i386 jdk-7u40-linux-i586.tar.gz hadoop-1.2.1.tar.gz eclipse-d ...

  5. HIVE 2.1.0 安装教程。(数据源mysql)

    前期工作 安装JDK 安装Hadoop 安装MySQL 安装Hive 下载Hive安装包 可以从 Apache 其中一个镜像站点中下载最新稳定版的 Hive, apache-hive-2.1.0-bi ...

  6. Hive安装配置指北(含Hive Metastore详解)

    个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...

  7. Hive安装与部署集成mysql

    前提条件: 1.一台配置好hadoop环境的虚拟机.hadoop环境搭建教程:稍后补充 2.存在hadoop账户.不存在的可以新建hadoop账户安装配置hadoop. 安装教程: 一.Mysql安装 ...

  8. Hive入门教程

    Hive 安装 相比起很多教程先介绍概念,我喜欢先动手装上,然后用例子来介绍概念.我们先来安装一下Hive 先确认是否已经安装了对应的yum源,如果没有照这个教程里面写的安装cdh的yum源http: ...

  9. hive的安装,一般不容易察觉的hdfs的配置问题导致hive安装的失败

    在安装hive的过程中,一般需要的准备环境就是hadoop集群的正常启动,要装有mysql,zookeeper. 具体怎么安装配置我在这里不多说,安装教程网上有挺多的. 我这里说下我遇到的问题,首先从 ...

随机推荐

  1. 51Nod 1264:线段相交(计算几何)

    51Nod 1264:线段相交 Decision 给出平面上两条线段的两个端点,判断这两条线段是否相交(有一个公共点或有部分重合认为相交). 如果相交,输出"Yes",否则输出&q ...

  2. element 表格行内进行编辑

    <template> <div class="process_manage"> <el-card class="box-card" ...

  3. 如何优雅地读写HttpServletRequest和HttpServletResponse的请求体

    最近很多交互要同原生的HttpServletRequest和HttpServletResponse打交道.从HttpServletRequest中读取body数据封装成某种数据结构:向HttpServ ...

  4. 搞一下vue生态,从vuex开始

    Vuex vuex 是专门帮助vue管理的一个js库,利用了vue.js中细粒度数据响应机制来进行高效的状态更新. vuex核心就是store,store就是个仓库,这里采用了单一的store状态树, ...

  5. Java工程编码格式由GBK转化成utf-8(编码格式互转)

    在写项目的过程中我发现有的地方编码格式被设置成了 gbk 如果用eclipse等工具直接改回utf-8编码格式则会出现乱码. 下载:https://download.csdn.net/download ...

  6. Java,JDK安装及环境配置

    jdk安装及环境配置 一.jdk安装 1.找到jdk安装包 2.安装jdk 3.安装jre 二.环境变量配置          1.JAVA_HOME JAVA_HOME C:\Program Fil ...

  7. HTML网页设计基础笔记 • 【第4章 CSS3基础】

    全部章节   >>>> 本章目录 4.1 CSS 概述 4.1.1 CSS 简介 4.1.2 CSS3 基本语法 4.1.3 样式表的分类 4.2 CSS 基本选择器 4.2. ...

  8. Pycharm_关闭PEP8函数名不能包含大写字母的规范

    屏蔽PEP8告警 全是小写字母,可能与以往的习惯不大一样,将这样的警告忽略的方法如下: File →Settings→Editor→Inspections→Python→PEP 8 naming co ...

  9. 不用find,怎样递归地给目录设置700,给文件设置600权限?

    https://stackoverflow.com/questions/36553701/how-to-set-permissions-recursively-700-for-folders-and- ...

  10. HTTP 408 问题 - Koa body parser

    环境描述: 1.nodejs 作为 api 服务器,转发请求给 nginx 2.用 curl 测试,返回 408 找了很久没有找到原因,发现了一篇文章: https://lujunda.cn/2016 ...