Hive安装,基于版本2.1.0,

使用apache-hive-2.1.0-bin.tar.gz安装包。

1.安装规划

角色规划 IP/机器名 安装软件 运行进程
hive zdh-9 hive RunJar(metastore),RunJar(hiveserver2)

2.安装用户

hive/zdh1234

3.配置hosts

10.43.159.9 zdh-9

4.安装依赖

4.1.JDK配置

export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

4.2.Hadoop集群

hdfs://gagcluster
NameNode1:hdfs://10.43.159.7:9000
NameNode2:hdfs://10.43.159.9:9000

4.3.Mysql数据库

Unix:mysql/zdh1234
mysql:root/zdh1234
Link: zdh-9:3306

5.在zdh-9上面创建hive用户

useradd -g hadoop -s /bin/bash -md /home/hive hive

6.上传并且解压安装包

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

7.配置环境变量

安装并且配置JDK

export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

配置Hive环境变量和别名,方便操作

export HIVE_HOME=~/apache-hive-2.1.0-bin
export PATH=$PATH:$HIVE_HOME/bin
alias logs='cd $HIVE_HOME/logs'
alias conf='cd $HIVE_HOME/conf'

8.拷贝相关jar包

拷贝mysql的jdbc驱动包到hive的lib目录下面,mysql的驱动包需要自己下载

cp /usr/share/java/mysql-connector-java.jar ~/apache-hive-2.1.0-bin/lib/

拷贝hive的jdbc目录下hive-jdbc-2.1.0-standalone.jar到lib目录下,否则执行beeline报错

cp hive-jdbc-2.1.0-standalone.jar ../lib/

9.从模板获得配置文件

进入conf目录把所有带template后缀的文件,移除后缀:

rename .template "" *.template

再把hive-default.xml重命名为hive-site.xml:

mv hive-default.xml hive-site.xml

10.修改hive-env.sh配置项

export HADOOP_HOME=/home/hdfs/hadoop-2.7.1

export HIVE_CONF_DIR=/home/hive/apache-hive-2.1.0-bin/conf

主要是配置hadoop的目录,且hive启动前hdfs需要已经启动。

11.修改hive-site.xml的配置项

<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/hive/apache-hive-2.1.0-bin/tmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/hive/apache-hive-2.1.0-bin/tmp/resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/home/hive/apache-hive-2.1.0-bin/warehouse</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://zdh-9:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>zdh1234</value>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>true</value>
<description>creates necessary schema on a startup if one doesn't exist. set this to false, after creating it once</description>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>

上面主要是配置hive的元数据使用mysql存储,配置mysql的一些连接。

12.在mysql预先创建数据库以及用户

创建一个数据库

CREATE DATABASE hive;

使用已经存在的root@zdh-9用户,并且设置相应的密码

update mysql.user set password=password("zdh1234") where user="root" and host='zdh-9';

或者使用root用户新建hive用户,

注意修改hive-site.xml中的数据库用户名密码,

保证配置项正确。

13.执行脚本,初始化数据库schema如下:

schematool -initSchema -dbType mysql

14.启动hive

hive

通过jps可以看到新进程RunJar

15.执行测试命令

测试hive创建表格,使用hive命令行:

hive

create table student(name string,sex string,age int);

show tables;

desc student;

exit;

查看mysql数据库hive中创建的表格在元数据库中有相应更新

select * from TBLS;

若查询到TBLS表中TBL_NAME的内容有student,

则说明刚才在hive命令行中创建的表格student的元数据更新到MySql中了。

16.启动hive server2

后台启动metastore服务和hiveserver2服务

hive --service metastore > metastore.log 2>&1 &

hive --service hiveserver2 > hiveserver2.log 2>&1 &

或者

nohup hive --service metastore&

nohup hive --service hiveserver2&

17.使用beeline命令行测试

beeline

!connect jdbc:hive2://zdh-9:10000/default

用户名和密码都为空,直接回车;

成功进入beeline连接jdbc数据库,

执行命令查看default默认数据库和库中的表,

以及查看student表结构:

show databases;
show tables;
desc student;

退出连接:

!q

18.报错处理

User: hive is not allowed to impersonate anonymous (state=,code=0)

修改hadoop的core-site.xml中的配置文件如下,里面需要设置hive用户的代理,并且重启hdfs。

<property>
<name>hadoop.proxyuser.hive.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hive.groups</name>
<value>*</value>
</property>

Hive安装Version2.1.0的更多相关文章

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

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

  2. hive安装--设置mysql为远端metastore

    作业任务:安装Hive,有条件的同学可考虑用mysql作为元数据库安装(有一定难度,可以获得老师极度赞赏),安装完成后做简单SQL操作测试.将安装过程和最后测试成功的界面抓图提交 . 已有的当前虚拟机 ...

  3. CentOS7安装hive-2.1.0

    环境: CentOS7 Hadoop-2.6.4,配置两个节点:master.slave1 mysql-server 过程: 下载.解压hive-2.1.0到/usr/hadoop-2.6.4/thi ...

  4. Hive安装与部署集成mysql

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

  5. 【转】 hive安装配置及遇到的问题解决

    原文来自: http://blog.csdn.net/songchunhong/article/details/51423823 1.下载Hive安装包apache-hive-1.2.1-bin.ta ...

  6. Hadoop之hive安装过程以及运行常见问题

    Hive简介 1.数据仓库工具 2.支持一种与Sql类似的语言HiveQL 3.可以看成是从Sql到MapReduce的映射器 4.提供shall.Jdbc/odbc.Thrift.Web等接口 Hi ...

  7. HIVE安装配置

    Hive简介 Hive 基本介绍 Hive 实现机制 Hive 数据模型 Hive 如何转换成MapReduce Hive 与其他数据库的区别 以上详见:https://chu888chu888.gi ...

  8. Hive安装与配置详解

    既然是详解,那么我们就不能只知道怎么安装hive了,下面从hive的基本说起,如果你了解了,那么请直接移步安装与配置 hive是什么 hive安装和配置 hive的测试 hive 这里简单说明一下,好 ...

  9. hive安装详解

    1.安装MYSQL simon@simon-Lenovo-G400:~$ sudo apt-get install mysql-server simon@simon-Lenovo-G400:~$ su ...

随机推荐

  1. echo -e "\033[字背景颜色;字体颜色m字符串\033[0m

    格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033 ...

  2. solr8.2

    https://www.cnblogs.com/carlosouyang/p/11352779.html

  3. 【简】题解 AWSL090429 【原子】

    预处理出每个原子最近的不能合并的位置 枚举当前位置和前面断开的位置合并 发现还是不能过 考虑用选段树优化 但是因为每次转移的最优点是在前面可以合并的范围内 dp值加上当前的到该点的最大值 因为每个位置 ...

  4. IM即时通讯设计 高并发聊天服务:服务器 + qt客户端(附源码)

    来源:微信公众号「编程学习基地」 目录 IM即时通信程序设计 IM即时通讯 设计一款高并发聊天服务需要注意什么 如何设计可靠的消息处理服务 什么是粘包 什么是半包 解决粘包和半包 IM通信协议 应用层 ...

  5. Mysql-5.6 二进制多实例部署

    目录 一.简介 二.环境声明 三.程序部署 一.简介 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务 ...

  6. IO中同步异步,阻塞与非阻塞 -- 通俗篇

    一.同步与异步 同步/异步, 它们是消息的通知机制 1. 概念解释 A. 同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回. 按照这个定义,其实绝大多数函数都是同步调用(例 ...

  7. 数据脱敏 t-closeness介绍与实现

    数据脱敏 t-closeness介绍与实现 本文主要基于t-closeness的首次提出团队Ninghui Li, Tiancheng Li, Suresh Venkatasubramanian发表的 ...

  8. CF200B Drinks 题解

    Content 有 \(n\) 杯饮料,第 \(i\) 杯饮料中橙汁占 \(a_i\%\).现在请求出这 \(n\) 杯饮料混合成一杯饮料后的橙汁所占百分比. 数据范围:\(1\leqslant n\ ...

  9. java 常用类库:格式化NumberFormat;SimpleDataFormat类(转换Data()对象);DateTimeFormatter 转换LocalDateTime时间对象

    NumberFormat类 该类是一个做数字格式化的类,它是一个抽象类,无法实例化.它提供了parse()和format()方法,其中format用于将数值,格式转化成字符串,parse()用于把字符 ...

  10. TURN协议(RFC5766详解)

    如果一台主机处于NAT后面,那么在一定条件下两台主机无法之间进行通讯.在这种条件下,那么使用中继服务提供通讯是有必要的. 这个规范定义了一个名为TURN(使用中继穿越NAT)的协议,它允许一台主机使用 ...