fesh个人实践,欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3872872.html

软件环境

操作系统:Ubuntu14.04

JDK版本:jdk1.7.0_51

Hadoop版本:Hadoop-2.2.0

Hive可以理解为在Hadoop和HDFS之上为用户封装一层便于用户使用的接口。Hive需要将元数据存储在RDBMS中,这对于Hive的运行是非常重要的。

(1)安装Hadoop-2.2.0集群

参见《Ubuntu12.04-x64编译Hadoop2.2.0和安装Hadoop2.2.0集群

(2)下载Hive安装包

stable版:apache-hive-0.13.1-bin.tar.gz

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

对于编译Hive0.13.1,使用命令

mvn package -Pdist -DskipTests -Phadoop-

(3)配置环境变量

在/etc/profile或者~/.bashrc中配置

#Set Hive Environment
export HIVE_HOME=/home/fesh/apache-hive-0.13.1-bin
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf

并使配置生效

source /etc/profile

(4)修改Hive配置文档(不修改则使用默认配置文档)

创建hive-site.xml

cd apache-hive-0.13.-bin/conf
cp hive-default.xml.template hive-site.xml

配置hive-site.xml

(4.1)参数hive-metastore.warehourse.dir 指定Hive的数据存储目录,指定的是HDFS上的位置,默认值为/usr/hive/warehouse

(4.2)参数hive.exec.scratchdir 指定Hive的数据临时文件目录,默认位置为/tmp/hive-${user.name}

(4.3)连接数据库配置

在默认情况下,Hive已经配置好了Derby数据库的连接参数,并且集成了Derby数据库及数据库连接驱动jar包。

参数javax.jdo.option.ConnectionURL指定Hive连接的数据库:jdbc:derby:;databaseName=metastore_db;create=true

参数javax.jdo.option.ConnectionDriverName指定驱动的类入口名称:org.apache.derby.jdbc.EmbeddedDriver

参数javax.jdo.option.ConnectionUserName指定数据库的用户名:APP

参数javax.jdo.option.ConnectionPassword指定数据库的密码:mime

Derby数据库驱动在目录$HIVE_HOME/lib/下,Hive-0.13.1默认提供的驱动包:derby-10.10.1.1.jar

创建hive-env.sh (也可以不进行这个创建和修改,因为之前已经在/etc/profile中注册过了)

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

修改

# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/home/fesh/hadoop-2.2. # Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/home/fesh/apache-hive-0.13.-bin/conf

(5)运行Hive

由于Hive使用Hadoop,因此必须在/etc/profile中的PATH路径中设置了Hadoop目录,或者需要在Hive的conf目录hive-env.sh中添加路径  export HADOOP_HOME=<hadoop-install-dir> (这里可以不用管)

另外,在Hive建表之前,(在默认配置文档下)创建 /tmp 和/user/hive/warehouse文件目录,并在HDFS中设置它们chmod g+w  (这一步可以不要,会自动新建)

  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse

必须先启动Hadoop集群

启动连接Hive,在目录$HIVE_HOME下

./bin/hive

退出Hive

hive> exit;

附-配置MySQL存储Hive元数据:

(6)Hive配置

(6.1)修改$HIVE_HOME/conf/hive-site.xml,并配置连接字符串、驱动、数据库用户名、密码参数。修改参数

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property> <property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>

 <property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
  <description>username to use against metastore database</description>
 </property>

 <property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hive</value>
  <description>password to use against metastore database</description>
 </property>

(6.2)JDBC驱动包

下载MySQL的JDBC驱动包,并将其复制到$HIVE_HOME/lib目录。这里是mysql-connector-java-5.1.22-bin.jar   链接: http://pan.baidu.com/s/1sj2lekX 提取密码: kr9b

(7)MySQL配置

(7.1)安装MySQL

sudo apt-get install mysql-server

在安装过程中,会弹出一个界面要求输入mysql的root的密码并确认,然后系统会自动安装mysql直到完成。

通过netstat -tap|grep mysql来查看系统是否已经有了mysql服务

说明安装mysql成功。

(7.2)远程访问

修改/etc/mysql/my.cnf文件,注释掉bind-address,该参数绑定本地用户访问。

#bind-address        = 127.0.0.1

(7.3)登陆

登录数据库命令:mysql -u root -p 回车后,输入我们前面所设的密码,就可以登录成功。

(7.4)创建Hive系统的用户权限

MySQL安装完成后,只拥有root用户。下面创建Hive系统的用户权限(这里的用户需要和之前设置的用户相一致)

创建用户(这里用户名和密码都是 hive)

CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';

赋予权限

GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;

强制写入

flush privileges;

(7.5)重启MySQL

exit退出MySQL,并重启MySQL数据库

sudo /etc/init.d/mysql restart

(8)重新运行Hive,并测试是否成功

在Hive中新建表,并查看

查看HDFS

查看MySQL

至此,安装成功!

参考:

1、官网文档https://cwiki.apache.org/confluence/display/Hive/GettingStarted

2、https://cwiki.apache.org/confluence/display/Hive/AdminManual+SettingUpHiveServer

3、ubuntu下安装mysqlhttp://cycnet.blog.51cto.com/117809/812625/

在Hadoop-2.2.0集群上安装 Hive-0.13.1 with MySQL的更多相关文章

  1. 超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!

    在2018年年初,Jenkins X首次发布,它由Apache Groovy语言的创建者Jame Strachan创建.Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins ...

  2. Istio(二):在Kubernetes(k8s)集群上安装部署istio1.14

    目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.Ge ...

  3. 分布式Hbase-0.98.4在Hadoop-2.2.0集群上的部署

    fesh个人实践,欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3898991.html Hbase 是Apache Hadoop的数据库,能够对大数据提 ...

  4. Hadoop-2.6.0 集群的 安装与配置

    1.  配置节点bonnie1 hadoop环境 (1) 下载hadoop- 2.6.0 并解压缩 [root@bonnie1 ~]# wget http://apache.fayea.com/had ...

  5. 在Hadoop集群上的Hive配置

    1. 系统环境Oracle VM VirtualBoxUbuntu 16.04Hadoop 2.7.4Java 1.8.0_111 hadoop集群master:192.168.19.128slave ...

  6. apache kylin2.10在原生hadoop集群上安装

    Install Kylin Download latest Kylin binaries at http://kylin.apache.org/download Export KYLIN_HOME p ...

  7. 【Spark】---- 在Linux集群上安装和配置Spark

    1 安装JDK   1) 进入JDK官网 2) 下载JDK安装包 3)配置环境变量,在/etc/profile增加以下代码 JAVA_HOME=/home/hadoop/jdk1.6.0_38 PAT ...

  8. redis-3.0.0集群的安装及使用

    redis集群需要至少6个节点(偶数节点),3个主节点,3个从节点.注意:集群模式最好不要keys *查询数据. 1 下载redis,官网下载3.0.0版本,之前2.几的版本不支持集群模式.下载地址: ...

  9. redis 3.0 集群__安装

    参考文档 http://redis.io/topics/cluster-tutorial http://redis.io/topics/cluster-spec http://redis.readth ...

随机推荐

  1. 数论 UVA 11388

    这道题是关于两个数的最大公约数和最小公倍数的题目.给你两个数字g,l,分别表示最大公约数和最小公倍数.要求你找到两个数a,b,要求这两个数的最大公约数和最小公倍数为所给的两个数.如果存在多组数字符合这 ...

  2. 虚拟机VMBox的空间扩展和对加载进来资源的扩展

    来源于:http://www.linuxidc.com/Linux/2015-01/111186.htm 其中有点bug就自己重新复制黏贴下 VirtualBox虚拟机在使用的过程中,有时会遇到磁盘大 ...

  3. LeetCode 【21. Merge Two Sorted Lists】

    Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...

  4. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    因为同样的方法在java中没有问题,放到web工程中就出现了问题.网上查到的资料,说只要把mysql-connector-java-5.1.7-bin.jar放入tomcat中的lib文件夹就可以.很 ...

  5. 信号处理基础概念比较----频谱vs功率谱vs能谱

    频谱: 对动态信号在频率域内进行分析,分析的结果是以频率为坐标的各种物理量的谱线和曲线,可得到各种幅值以频率为变量的频谱函数F(ω).频谱是个很不严格的东西,常常指信号的Fourier变换.频谱分析中 ...

  6. mysql优化思路

    /* mysql优化思路     1.数据库设计     2.sql语句优化     3.数据库参数设置     4.恰当的硬件资源和操作系统        数据库设计         数据的3NF( ...

  7. 禁用sqlserver的锁升级

    锁升级 SQLSERVER.DB2中的锁是内存里面实现的,这就有个资源消耗问题,当锁的数量达到一个阀值或内存有压力时,就会引发锁升级.实际的情况是从row lock直接升级到table lock,而不 ...

  8. SpringMVC学习系列(10) 之 异常处理

    在项目中如何处理出现的异常,在每个可能出现异常的地方都写代码捕捉异常?这显然是不合理的,当项目越来越大是也是不可维护的.那么如何保证我们处理异常的代码精简且便于维护呢?这就是本篇要讲的内容—>异 ...

  9. Delphi ActiveX Form的使用实例

    Delphi ActiveX Form的使用实例 By knityster 1. ActiveX控件简介 ActiveX控件也就是一般所说的OCX控件,它是ActiveX技术的一部分. ActiveX ...

  10. 大师教你<部落冲突>如何切换账号

    前提申请两个谷歌账号,账号一和账号二,想要切换账号,只需清除部落冲突在手机上的数据即可.详情请看下文! 1. 第一次登陆,进入游戏后 2. 没有谷歌商店的童鞋,下载谷歌安装器(一键修复)以及VPNFQ ...