[hive的部署]

1.hive(数据仓库:data warehouse)

	 构建再Hadoop之上的数据仓库
	 	数据:HDFS
	 	执行:MR(2.0过时)Spark Tez
	 	运行:YARN
	 	Hive 是一个使用SQL来操作分布式存储系统上面的大数据集的读写和管理操作的一个客户端,Hive它不是一个集群。
用JDBC去连接Server的话,不应该是走查询统计分析,而是去拿到统计结果,只拿结果,不做计算。

2.有人说Hive不难,就是写SQL实现(这是错误的说法)

	 架构层面,语法层面,底层执行层面,考虑优化

3.install hive

	 wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz
	 上传完以后将文件解压到 app文件夹下

4.配置环境变量

	 vi ~/.bash_profile
	 export HIVE_HOME=/home/hadoop/app/hive-1.1.0-cdh5.7.0
	 export PATH=$HIVE_HOME/bin:$PATH
	 配置完成后不要忘记:source ~/.bash_profile,其他开启的窗口也要执行

5.hive的存储

	 由于hive是构建再Hadoop之上的数据仓库,那么他的存储数据的位置也在hdfs中。
	 但是它的元数据(metadata)信息存储的位置是 mysql中。
	 元数据:描述数据的数据。
	 1、MR编程不便性
	 2、传统的RDBMS人员的需求
    HDFS上面的文件就是普通的文件,它并没有schema的概念
    schema:RDBMS中的表结构
        people.txt <== id name age address
    sql  ===>  搞定海量数据的统计分析
===>  产生Hive

6.安装步骤

	 1)下载
	 2)解压到~/app
	 3)bin添加到环境变量
	 4)拷贝mysql的驱动到lib下
	 5)hive-site.xml配置mysql相关信息(hive-site.xml在conf下)


 <property>
        <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://localhost:3306/ruoze_d6?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8</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>root</value>(这里注意 密码要修改成自己的)
    </property>

7.Hive vs RDBMS

	 都可以使用SQL
	 时效性:Hive底层是使用MR的,主要是做离线任务的,比较慢。

8.单点问题:

	 Hive和mysql的链接中,mysql属于单点,如果mysql挂了,那么元数据也就没了,生产中我们一般需要让运维人员帮我们搭一个主备
	 Hive属于客户端,虽然它没有集群概念,但是在生产中我们也要配备多个,如下图所示,在生产中 比如有三台机器都装有Hive,在这之上会有一个调度系统,调度系统定时的会将你的作业提交到执行机上(Executor),这时如果一个Hive坏了没有关系,可以用别的机器提交。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值