上次我们在ubantu上安装了hadoop,那我们现在再进一步,开始我们的学习之旅--hive板块吧!

第一步:准备!

软件:

  I、一个搭建好的hadoop环境

  II、hive的bin文件(前往apache官网,参考链接:http://www.apache.org/dyn/closer.cgi/hive/);

  III、MySQL(在ubantu上通过apt-get命令下载, 命令顺序:apt-get update  >>  apt-get install -y mysql-server)

  IV、MySQL的jar包,下载mysql-connector-java-5.1.10-bin.jar(网上找找)

必要了解:

  hive通过将hadoop结构化的数据文件映射成一张表,将SQL查询解析为mapreduce任务实现统计查询,在大数据中主要干的是数据仓库和离线分析的事儿。hive中的元数据(metastore)存储有多种方式,这里为本地MySQL(hive也有自带的Derby实现)。

第二步:MySQL配置

  下载MySQL,安装时会要求你输入root密码(我们这里设置为1234)。我们需要做的事情有:创建hive访问MySQL的用户名和密码,hive的metastore存储数据库 

  I、登录MySQL:mysql -uroot -p1234

  II、创建hive元数据存放的数据库以及用户名并赋权限

mysql > create database hive;
mysql > GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive';
mysql > FLUSH PRIVILEGES;

  III、将下载的MySQL的jar包(mysql-connector-java-5.1.10-bin.jar)放到/home/shj/hive/lib

第三步:配置HIVE

  我们需要将配置系统文件和hive配置文件。这一步难点就在hive-site.xml文件

  I、将下载的hive解压到指定目录。这里解压到:/home/shj/hive

  II、使用root账号配置/etc/bash.bashrc文件(也可以用普通账号,作用域不同而已)

   sudo su (输入密码)  >> vim /etc/bash.bashrc  >>(添加信息)export HIVE_HOME=/home/shj/hive  export PATH=$PATH:/home/shj/hive/bin:.

  III、配置/home/shj/hive/conf/hive-site.xml和对应参数说明(新建该文件)

   part1:文件内容

   hive.metastore.warehouse.dir:数据在hdfs中的存储位置

   hive.exec.scratchdir:用于存储不同map/reduce阶段的执行计划和这些阶段的中间输出结果

   javax.jdo.option.CoonectionURL:元数据库的URL

   javax.jdo.option.ConnectionDriverName:JDBC的driver,默认org.apache.derby.jdbc.EmbeddedDriver。我们这里使用的MySQL的JDBC

   javax.jdo.option.ConnectionUserName:链接使用的账号,是我们之前在MySQL中创建的那个

   javax.jdo.option.ConnectionPassword:MySQL中对应账号指定的密码

   part2:路径补充+赋权限

   对于配置文件中的路劲要有,创建他们并赋予权限

    hadoop fs -mkdir -p /usr/hive/warehouse   >>  hadoop fs -chmod 766 /usr/hive/warehouse

    hadoop fs -mkdir -p /usr/hive/tmp   >> hadoop fs -chmod 766 /usr/hive/tmp

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/usr/hive/warehouse</value>
</property> <property>
<name>hive.exec.scratchdir</name>
<value>/usr/hive/tmp</value>
<description>Scratch space for Hive jobs</description>
</property> <property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/hive?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>hive</value>
</property> <property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
</configuration>

  VI、配置hive运行环境文件:hive-env.sh

   >>  cp /home/shj/hive/conf/hive-env.sh templete /home/shj/hive/conf/hive-env.sh

   >>  在hive-env.sh中添加:export HADOOP_HOME=/home/shj/hadoop

   V、调整jline文件,hive和hadoop的jline版本不同。我们使用hive的jline替换hadoop

    rm /home/shj/hadoop/share/hadoop/yarn/lib/0.9****

    cp /home/shj/hive/lib/jline-2.12.jar /home/shj/hadoop/share/hadoop/yarn/lib/

第四步:执行hive

   >>启动hive的metastore服务:hive --service metastore &

   >>执行输入hive命令,不出问题的话就会有这个图片了。

 

补充问题说明

  如果执行了hive,报错了,那么肯定是某一步出了问题。以下是我趟过得坑,供参考。

  第一种:执行hive后系统报错,出现问题:Error creating transactional connection factory

    问题是:没有下载MySQL的jar包,需要下载mysql-connector-java-5.1.10-bin.jar,并放在hive安装目录的lib下

  第二种:java.sql.SQLException: Unable to open a test connection to the given database. JDBC url =。。。。name...password

    你在MySQL中设置的用户名和密码与配置文件(hive-site.xml)中的配置存在差异

  第三种:CommunicationsException: Communications link failure

    查看自己的hive-site.xml是否有问题,链接不对。可能和jdbc/mysql/配置文件相关,具体哪一个部分还是要看具体信息

  

结尾:

hive都给你整好了,可以自己玩耍了!

原创博客,转载请注明出处!欢迎邮件沟通:shj8319@sina.com

在ubantu上安装hive的更多相关文章

  1. ubantu上搭建hive环境

    上次我们在ubantu上安装了hadoop,那我们现在再进一步,开始我们的学习之旅--hive板块吧! 第一步:准备! 软件: I.一个搭建好的hadoop环境 II.hive的bin文件(前往apa ...

  2. Ubantu上安装Redis

    Ubantu上安装Redis:Redis(Remote Dictionary Server):远程字典服务器,简称REDIS;Redis数据库产品用C语言编写而成,开源.少量数据存储.高速读写访问,是 ...

  3. CDH5上安装Hive,HBase,Impala,Spark等服务

    Apache Hadoop的服务的部署比較繁琐.须要手工编辑配置文件.下载依赖包等.Cloudera Manager以GUI的方式的管理CDH集群,提供向导式的安装步骤.因为须要对Hive,HBase ...

  4. Hadoop 伪分布式上安装 Hive

    下载地址:点此链接(P.S.下载带bin的安装包) 下载hive后放到虚拟机文件夹内,打开: -bin.tar.gz -C /home/software/ 修改并保存环境配置: gedit /etc/ ...

  5. 在Ubuntu上安装Hive

    1.下载hive2.3.5 解压缩并改名为hive目录,放到/usr/local下(注意权限) sudo mv apache-hive-2.3.5-bin /usr/local/hive 2.修改目录 ...

  6. cloudera manager安装hive注意事项,提示连不上数据库,没有user目录权限

    1.提示连不上数据库,password:null 解决方法:拷贝数据库驱动到hive的lib目录,数据库要使用安装hive机器的本地数据库,远程的可能连不上 2.没有/user目录权限 解决方法:因为 ...

  7. 安装Hive(独立模式 使用mysql连接)

    安装Hive(独立模式 使用mysql连接) 1.默认安装了java+hadoop 2.下载对应hadoop版本的安装包 3.解压安装包 tar zxvf apache-hive-1.2.1-bin. ...

  8. 附录C 编译安装Hive

    如果需要直接安装Hive,可以跳过编译步骤,从Hive的官网下载编译好的安装包,下载地址为http://hive.apache.org/downloads.html . C.1  编译Hive C.1 ...

  9. Spark入门实战系列--5.Hive(上)--Hive介绍及部署

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .Hive介绍 1.1 Hive介绍 月开源的一个数据仓库框架,提供了类似于SQL语法的HQ ...

随机推荐

  1. 基于Python使用SVM识别简单的字符验证码的完整代码开源分享

    关键字:Python,SVM,字符验证码,机器学习,验证码识别 1   概述 基于Python使用SVM识别简单的验证字符串的完整代码开源分享. 因为目前有了更厉害的新技术来解决这类问题了,但是本文作 ...

  2. 模拟实现C库的atoi、atof和itoa

    1.C函数atoi atoi (表示 alphanumeric to integer)是把字符串转换成整型数的一个函数.广泛的应用在计算机程序和办公软件中.atoi( ) 函数会扫描参数 nptr字符 ...

  3. swift 获取文件大小

    //获取文件大小 func getSize(url: URL)->UInt64 { var fileSize : UInt64 = 0 do { let attr = try FileManag ...

  4. 带有WS-Security验证的webservice

    示例用的是spring+CXF来配置webservice 首先是web.xml配置,将spring,CXF的配置文件加载进去,由于我客户端跟服务端在同一个工程里面,所以配置文件在一块. <con ...

  5. <经验杂谈>C#生成条形码

    虽然二维码满天飞,但也不能忘了条形码,本篇介绍可以在C#中使用的1D/2D编码解码器.条形码的应用已经非常普遍,几乎所有超市里面的商品上面都印有条形码: 条形码的标准: 条形码的标准有ENA条形码.U ...

  6. Can not issue data manipulation statements with executeQuery().解决的方法

    query是查询用的,而update是插入和更新,删除修改用的. executeQuery()语句是用于产生单个结果集的语句,如select语句,在什么情况下用,当你的数据库已经保存了数据后,要进行查 ...

  7. Linux操作系统-安装JAVA

    首先准备好jdk文件(例如:本地已下载了jdk-6u33-linux-x64.bin),将它上传到路径 “/home/username/” 这个目录的下面 其次按步骤执行: 1.进入到 “/home/ ...

  8. 化工厂装箱员 洛谷 p2530

    题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须 ...

  9. Java面试题大全

    前言 关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应该说被面试到的几率很大.这里整理挑选出来供大家面试前拿来看一看,所有题目整理自网络,有一 ...

  10. Linux改变语言设置的命令

    --Linux语言设置--------------2013/09/22Linux中语言的设置和本地化设置真是一个很繁琐的事情,时不时的会出现乱码的情况,在这篇文章中讨论的是shell中出现乱码的一些解 ...