前言

安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可,安装前需保证Hadoop已启(动文中用到了hadoop的hdfs命令)。

关于如何安装Hadoop集群请参照:CentOS7搭建Hadoop2.8.0集群及基础操作与测试

下载Apache Hadoop

下载

地址:http://hive.apache.org/downloads.html

wget http://mirrors.hust.edu.cn/apache/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz
解压
tar -zxvf apache-hive-2.1.1-bin.tar.gz
移动文件夹
mv apache-hive-2.1.1-bin /usr/local/hadoop/
配置环境变量

立即生效

source ~/.bashrc

修改配置

配置hive-site.xml

进入目录$HIVE_HOME/conf,将hive-default.xml.template文件复制一份并改名为hive-site.xml

#进入hive配置文件目录$HIVE_HOME/conf
cd $HIVE_HOME/conf
#拷贝并重命名
cp hive-default.xml.template hive-site.xml

因为

所以要让hadoop新建/user/hive/warehouse目录,执行命令:

$HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse

给刚才新建的目录赋予读写权限,执行命令:

$HADOOP_HOME/bin/hadoop fs -chmod 777 /user/hive/warehouse 

让hadoop新建/tmp/hive/目录,执行命令:

$HADOOP_HOME/bin/hadoop fs -mkdir -p /tmp/hive/

给刚才新建的目录赋予读写权限,执行命令:

$HADOOP_HOME/bin/hadoop fs -chmod 777 /tmp/hive

检查hdfs目录是否创建成功

检查/user/hive/warehouse目录是否创建成功,执行命令:

$HADOOP_HOME/bin/hadoop  fs  -ls  /user/hive/

如图:

检查/tmp/hive是否创建成功,执行命令:

$HADOOP_HOME/bin/hadoop  fs  -ls /tmp/

如图:

修改hive-site.xml中的临时目录

将hive-site.xml文件中的${system:java.io.tmpdir}替换为hive的临时目录,例如我替换为 /usr/local/hadoop/apache-hive-2.1.1-bin/tmp,该目录如果不存在则要自己手工创建,并且赋予读写权限。

如图:

替换为

将${system:user.name}都替换为root

替换为

切记要全部替换,以上只为示例。

修改hive-site.xml数据库相关的配置

本文使用postgres数据库,如需了解请参照Linux安装postgresql及基础操作

搜索javax.jdo.option.ConnectionURL,将该name对应的value修改为Postgres的地址,例如我修改后是:

     <name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:postgresql://192.168.174.200:5432/postgres?charSet=utf-8</value> 搜索javax.jdo.option.ConnectionDriverName,将该name对应的value修改为MySQL驱动类路径,例如我的修改后是: <name>javax.jdo.option.ConnectionDriverName</name>
<value>org.postgresql.Driver</value> 搜索javax.jdo.option.ConnectionUserName,将对应的value修改为MySQL数据库登录名: <name>javax.jdo.option.ConnectionUserName</name> <value>postgre</value> 搜索javax.jdo.option.ConnectionPassword,将对应的value修改为MySQL数据库的登录密码: <name>javax.jdo.option.ConnectionPassword</name> <value>postgre</value> 搜索hive.metastore.schema.verification,将对应的value修改为false: <name>hive.metastore.schema.verification</name> <value>false</value>
上传postgres驱动包到lib目录

将postgres驱动包上载到Hive的lib目录下,例如我是上载到/usr/local/hadoop/apache-hive-2.1.1-bin/lib目录下。

新建hive-env.sh文件并进行修改

进入到/opt/hive/apache-hive-2.1.1-bin/conf目录,命令:

cd /opt/hive/apache-hive-2.1.1-bin/conf

将hive-env.sh.template文件复制一份,并且改名为hive-env.sh,命令:

cp hive-env.sh.template  hive-env.sh

打开hive-env.sh配置并且添加以下内容:

vim hive-env.sh
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.8.0
export HIVE_CONF_DIR=/usr/local/hadoop/apache-hive-2.1.1-bin/conf
export HIVE_AUX_JARS_PATH=/usr/local/hadoop/apache-hive-2.1.1-bin/lib

启动与测试

对postgres数据库进行初始化

进入到hive的bin目录 执行命令:

cd /usr/local/hadoop/apache-hive-2.1.1-bin/bin

对数据库进行初始化,执行命令:

schematool -initSchema -dbType postgres

如图:

执行成功后,hive数据库里已经有一堆表创建好了

如图:

启动hive

进入到hive的bin目录执行命令:

cd /usr/local/hadoop/apache-hive-2.1.1-bin/bin

执行hive脚本进行启动,执行命令:

./hive

如图:

以上Hive配置完成

Linux基于Hadoop2.8.0集群安装配置Hive2.1.1及基础操作的更多相关文章

  1. CentOS下Hadoop-2.2.0集群安装配置

    对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...

  2. Linux下Hadoop2.6.0集群环境的搭建

    本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安装与配置 现在直接到Oracle官网(http:/ ...

  3. hadoop2.20.0集群安装教程

    一.安装的需要软件及集群描述 1.软件: Vmware9.0:虚拟机 Hadoop2.2.0:Apache官网原版稳定版本 JDK1.7.0_07:Oracle官网版本 Ubuntu12.04LTS: ...

  4. hadoop2.2.0集群安装和配置

    hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等. 注意:apache提供的hadoop-2.2.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C+ ...

  5. hadoop2.2.0集群安装

    位说明. 位).Jdk使用的1.7(1.6也可以).网络配置好,相互可以ping通,java环境安装完毕.   第一部分 Hadoop 2.2 下载 位). 下载地址:http://apache.cl ...

  6. 最新版spark1.1.0集群安装配置

    和分布式文件系统和NoSQL数据库相比而言,spark集群的安装配置还算是比较简单的: 很多教程提到要安装java和scala,但我发现spark最新版本是包含scala的,JRE采用linux内嵌的 ...

  7. Ubuntu 14.04下Hadoop2.4.1集群安装配置教程

    一.环境 系统: Ubuntu 14.04 64bit Hadoop版本: hadoop 2.4.1 (stable) JDK版本: OpenJDK 7 台作为Master,另3台作为Slave. 所 ...

  8. linux 搭建elk6.8.0集群并破解安装x-pack

    一.环境信息以及安装前准备 1.组件介绍 *Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停 ...

  9. Ubuntu12.04-x64编译Hadoop2.2.0和安装Hadoop2.2.0集群

      本文Blog地址:http://www.cnblogs.com/fesh/p/3766656.html   本文对Hadoop-2.2.0源码进行重新编译(64位操作系统下不重新编译会有版本问题) ...

随机推荐

  1. 关了浏览器再开,怎么session还在?

    关了浏览器session当然仍然存在,因为session是储存在服务器端的,而服务器是不可能知道你有没有关掉浏览器. 服务器只是简单的保持session接受用户请求,只有当session一段时间没有被 ...

  2. 事物 @Transactional

    转载:http://www.cnblogs.com/kristain/articles/2038397.html 一.什么是事务 事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库 ...

  3. oracle 11g 卸载 安装10g 成功(卸载oracle+清除注册表信息+清除oracle app文件)

    停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止 2 在开始菜单中,找到Universal Installer,运行Oracle Universal Ins ...

  4. SqlServer2012 File Table文件表

    SQL Server 2012 提供一种特殊的“文件表”,也称为“FileTable”. FileTable 是一种专用的用户表,它包含存储 FILESTREAM 数据的预定义架构以及文件和目录层次结 ...

  5. 深入探究JVM(1) - Java的内存区域解析

    http://blog.csdn.net/sczyh22/article/details/46652901<br>Java 虚拟机在执行Java程序的时候会把它管理的内存区域划为几部分,这 ...

  6. ParaEngine 一个同事的公司的开源引擎

    看说明作者是李西峙,浙大研究生,靠投资研发此引擎,10年了,大概翻了下github里的文件,值得收藏,至少里面有voxelmesh https://github.com/LiXizhi/NPLRunt ...

  7. 深入探讨 Python 的 import 机制:实现远程导入模块

        深入探讨 Python 的 import 机制:实现远程导入模块 所谓的模块导入( import ),是指在一个模块中使用另一个模块的代码的操作,它有利于代码的复用. 在 Python 中使用 ...

  8. shell 操作字符串 变量 数组

    #!/bin/bash name="jack" #使用双引号拼接 #greeting="hello,"$name"!" #greeting_ ...

  9. gc模块

    gc.collect()如何进行垃圾回收 https://www.cnblogs.com/franknihao/p/7326849.html

  10. codeforces#1215E. Marbles(状压DP)

    题目大意:给出一个由N个整数组成的序列,通过每次交换相邻的两个数,使这个序列的每个相同的数都相邻.求最小的交换次数. 比如给出序列:1 2 3 2 1 ,那么最终序列应该是 1 1 2 2 3 ,最小 ...