1.Hive
1.1在hadoop生态圈中属于数据仓库的角色。他能够管理hadoop中的数据,同时可以查询hadoop中的数据。
  本质上讲,hive是一个SQL解析引擎。Hive可以把SQL查询转换为MapReduce中的job来运行。
  hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、字段转换为HDFS中的文件(夹)以及文件中的列。
  这套映射工具称之为metastore,一般存放在derby、mysql中。

1.2 hive在hdfs中的默认位置是/user/hive/warehouse,是由配置文件hive-conf.xml中属性hive.metastore.warehouse.dir决定的。

2.hive的安装
  (1)解压缩、重命名、设置环境变量
  (2)在目录$HIVE_HOME/conf/下,执行命令mv hive-default.xml.template  hive-site.xml重命名
      在目录$HIVE_HOME/conf/下,执行命令mv hive-env.sh.template        hive-env.sh重命名

 cd  $HIVE_HOME
mv hive-env.sh.template hive-env.sh
mv hive-default.xml.template hive-site.xml

(3)修改hadoop的配置文件hadoop-env.sh,修改内容如下:
     export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin

export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin

(4)在目录$HIVE_HOME/bin下面,修改文件hive-config.sh,增加以下内容:
     export JAVA_HOME=/usr/local/jdk
     export HIVE_HOME=/usr/local/hive
     export HADOOP_HOME=/usr/local/hadoop

 export JAVA_HOME=/usr/local/jdk
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop

3.安装mysql
  (1)执行命令rpm -qa | grep mysql 检查是否已经安装MySQL软件。若已经安装则删除
      删除linux上已经安装的mysql相关库信息。rpm  -e  xxxxxxx   --nodeps
     执行命令rpm -qa | grep mysql 检查是否删除干净
  (2)安装mysql服务端 : 执行命令  rpm -i   mysql-server-********     
  (3)启动mysql 服务端: 执行命令  mysqld_safe &
  (4)安装mysql客户端 : 执行命令  rpm -i   mysql-client-******** 
  (5)设置root用户密码:  执行命令mysql_secure_installation
   注:MySQL用户名:root
        MySQL密码:  465213a
   启动MySQL:mysql -uroot -p465213a  (注意是连接起来的,不是分开的)

4. 使用mysql作为hive的metastore
  (1)把mysql的jdbc驱动软件放置到hive的lib目录下
  (2)修改hive-site.xml文件,修改内容如下:  
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop:3306/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>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>465213a</value>
    </property>

修改$HIVE_HOME/conf/hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop:3306/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>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>465213a</value>
</property>

为MySQL的远程连接进行设置:在MySQL下执行语句:grant all on hive.* to "root" @"%" identitied by "465213a";

这样就可以使用Windows下的MySQL软件连接虚拟机下的hive表:用户名:root,密码:465213a

实现远程连接。

配置MySQL的metastore
.上传mysql-connector-java-5.1..jar到$HIVE_HOME/lib
.登录MYSQL,创建数据库hive
#mysql -uroot -padmin
mysql>create database hive;
mysql>GRANT all ON hive.* TO root@'%' IDENTIFIED BY '465213a';
mysql>flush privileges;
mysql>set global binlog_format='MIXED';
.把mysql的数据库字符类型改为latin1

5.Hive的metastore
metastore是hive元数据的集中存放地。metastore默认使用内嵌的derby数据库作为存储引擎
Derby引擎的缺点:一次只能打开一个会话
使用Mysql作为外置存储引擎,多用户同时访问

6.Hive运行模式

Hive的运行模式即任务的执行环境
分为本地与集群两种
我们可以通过mapred.job.tracker 来指明
设置方式:
hive > SET mapred.job.tracker=local;

7,Hive的启动方式

(1)、 hive 命令行模式,直接输入#/hive/bin/hive的执行程序,或者输入 #hive --service cli
(2)、 hive web界面的 (端口号9999) 启动方式         #hive --service hwi &
               用于通过浏览器来访问hive           #http://hadoop:9999/hwi/
(3)、 hive 远程服务 (端口号10000) 启动方式   #hive --service hiveserver &

吴超老师课程--Hive的介绍和安装的更多相关文章

  1. 吴超老师课程--Pig的介绍和安装

    1.Pig是基于hadoop的一个数据处理的框架.  MapReduce是使用java进行开发的,Pig有一套自己的数据处理语言,Pig的数据处理过程要转化为MR来运行. 2.Pig的数据处理语言是数 ...

  2. 吴超老师课程--Hive的执行语句

    为什么选择Hive? (1)基于Hadoop的大数据的计算/扩展能力(2)支持SQL like查询语言(3)统一的元数据管理(4)简单编程 一:Hive的数据类型(1)基本数据类型tinyint/sm ...

  3. 吴超老师课程---Hadoop的伪分布安装

    1.1 设置ip地址    执行命令    service network restart    验证:         ifconfig1.2 关闭防火墙    执行命令    service ip ...

  4. 吴超老师课程--HBASE的集群安装

    1.hbase的机群搭建过程(在原来的hadoop上的hbase伪分布基础上进行搭建)1.1 集群结构,主节点(hmaster)是hadoop,从节点(region server)是hadoop1和h ...

  5. 吴超老师课程--Sqoop的安装和介绍

    SQOOP是用于对数据进行导入导出的.    (1)把MySQL.Oracle等数据库中的数据导入到HDFS.Hive.HBase中    (2)把HDFS.Hive.HBase中的数据导出到MySQ ...

  6. 吴超老师课程--Hbase介绍和伪分布式安装

    1.HBase(NoSQL)的数据模型1.1 表(table),是存储管理数据的.1.2 行键(row key),类似于MySQL中的主键.     行键是HBase表天然自带的.1.3 列族(col ...

  7. 吴超老师课程---ZooKeeper介绍和集群安装

    1.ZooKeeper    1.1 zk可以用来保证数据在zk集群之间的数据的事务性一致.2.如何搭建ZooKeeper服务器集群    2.1 zk服务器集群规模不小于3个节点,要求各服务器之间系 ...

  8. 吴超老师课程--Flume的安装和介绍

    常用的分布式日志收集系统

  9. 吴超老师课程--Hbase Shell

    hbase提供了一个shell的终端给用户交互 名称 命令表达式 创建表 create '表名称', '列族名称1','列族名称2','列族名称N' 添加记录 put '表名称', '行名称', '列 ...

随机推荐

  1. npm太慢, 淘宝npm镜像使用方法[转]

    淘宝 npm 地址: http://npm.taobao.org/ 如何使用 有很多方法来配置npm的registry地址,下面根据不同情境列出几种比较常用的方法.以淘宝npm镜像举例: 1.临时使用 ...

  2. flutter datatable

    最后,还是用到了 PaginatedDataTable 我把header改成了最终条件显示. 主要是要有listview之类的scrollview容器,否则会报错. 切换页的时候,记得加入空行,否则会 ...

  3. dedecms安全篇:织梦文件夹目录权限设置

    织梦各个目录安全详解   做织梦(dedecms)网站安全必看1.a  因为是静态目录,并且在要生成HTML的,所以拒绝脚本执行  允许写入2.data   因为是缓存等,所以充许写入,但是因为这里面 ...

  4. iOS开发-你真的会用SDWebImage?

    SDWebImage作为眼下最受欢迎的图片下载第三方框架,使用率非常高.可是你真的会用吗?本文接下来将通过例子分析怎样合理使用SDWebImage. 使用场景:自己定义的UITableViewCell ...

  5. php获取文件后缀的9种方法

    获取文件后缀的9种方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3 ...

  6. 蓝桥杯 第三届C/C++预赛真题(4) 奇怪的比赛(递归)

    某电视台举办了低碳生活大奖赛.题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度.答对的,当前分数翻倍:答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错 ...

  7. poj 2987(最大权闭合图+割边最少)

    题目链接:http://poj.org/problem?id=2987 思路:标准的最大权闭合图,构图:从源点s向每个正收益点连边,容量为收益:从每个负收益点向汇点t连边,容量为收益的相反数:对于i是 ...

  8. [Go语言]从Docker源码学习Go——指针和Structs

    这两天在看reflect这个包在Docker中的使用时,遇到了各种问题,最后虽然知道怎么用了. 但是对于这块的原理还不是太懂,于是把"THE WAY TO GO"中关键的几章看了下 ...

  9. dlut1188(wanghang的迷宫)

    题目链接:传送门 题目大意:从起点到终点需要最少多少步(必须要关掉所有开关才能出去) 题目思路:用一个3维数组   dp[x][y][t]表示到达当前位置x,y,已经关掉了t个开关走的最少步数,然后就 ...

  10. [LintCode] 带重复元素的排列

    递归实现: class Solution { public: /** * @param nums: A list of integers. * @return: A list of unique pe ...