简介:

简介:

Hive
作为基于Hadoop的一个数据货仓工具,可将sql语句转变为MapReduce职分张开运维。
通过类SQL语句火速完毕轻巧的MapReduce计算,不用支付特地的MapReduce应用

Hive是基于Hadoop的叁个数据旅馆工具,能够将结构化的数据文件映射为一张数据库表,并提供轻松的sql查询功用,能够将sql语句转变为MapReduce任务张开运维。
其优点是读书花销低,能够因此类SQL语句急迅完成轻松的MapReduce总计,不必支付特地的MapReduce应用,拾叁分合乎数据旅舍的计算分析。

HStore存款和储蓄是HBase存款和储蓄的主干了,在那之中由两有的构成,风流倜傥部分是MemStore,生机勃勃部分是StoreFiles。MemStore是Sorted
Memory
Buffer,客户写入的数量首先会放入MemStore,当MemStore满了之后会Flush成多个StoreFile(底层达成是HFile卡塔 尔(英语:State of Qatar),当StoreFile文件数量升高到一定阈值,会触发Compact合併操作,将多少个StoreFiles合并成贰个StoreFile,合併进度中会进行版本合并和数据删除,因而得以看看HBase其实只有增扩展少,全数的更新和删除操作都以在继续的compact进度中张开的,那使得用户的写操作只要踏向内存中就足以顿时重回,保障了HBase
I/O的高质量。

适合数据酒馆的计算解析。基本上Hadoop应用时,都有Hive的黑影,上边说下基本Hadoop怎么样设置配备Hive

1, 适用项景

当StoreFiles
Compact后,会慢慢变成越来越大的StoreFile,当单个StoreFile大小抢先一定阈值后,会触发Split操作,相同的时候把当下Region
Split成2个Region,父Region会下线,新Split出的2个子女Region会被HMaster分配到对应的HRegionServer上,使得本来1个Region的压力得以分流到2个Region上。

风流罗曼蒂克、筹算专门的工作

Hive 营造在依据静态批管理的Hadoop 之上,Hadoop
平时都有较高的延期并且在作业提交和调节的时候须求大量的费用。由此,Hive
并不可能在广大数据集上实现低顺延快捷的查询,比如,Hive 在几百MB
的数目集上实行查询平时有分钟级的时光推迟。由此,

1,HBase的架构:

设置Hive从前,须要有情状与相应软件的支撑,首先需求安装好Hadoop

安装与配置,13架构中Hive的安装部署配置以及数据测试。Hive 并不适合那一个需求低顺延的采用,举例,联机事务管理(OLTP卡塔尔。Hive
查询操作进程严苛依照Hadoop MapReduce 的课业奉行模型,Hive
将客商的HiveQL语句通过解释器转变为MapReduce 作业提交到Hadoop
集群上,Hadoop 监察和控制作业实行进度,然后重回作业施行结果给客户。Hive
实际不是为协同事务管理而设计,Hive
并不提供实时的询问和依靠行级的数额更新操作。Hive
的顶级使用处所是时局据集的批管理作业,例如,网络日志深入分析。

LSM – 解决磁盘随机写题目(顺序写才是王道);

(参考上篇博文卡塔 尔(英语:State of Qatar),接下去我们供给设置Mysql 数据库,为啥要装Mysql,

2,下载安装
最早Hadoop安装筹算,参照他事他说加以考察CentOS
6.4下Hadoop2.3.0详实安装进程:http://www.linuxidc.com/Linux/2014-08/105915.htm

HFile – 湮灭多少索引难点(独有索引技艺高效读);

Hive有二种情势,内嵌情势是将将元数据保存在该地内嵌的 Derby
数据库中,这种措施劣势是内嵌的 Derby
数据库每一趟只好访谈三个数据文件,即不扶助多会话总是。所以日常

下载地址

WAL – 消除多少悠久化(面前遇到故障的持久化施工方案);

咱们采取将元数据保存在Mysql数据库中,能够献身地面hive
server上或远程某生龙活虎台server上,这里大家在本土创造Mysql数据库

wget

zooKeeper – 消除宗旨数据的一致性和集群恢复生机;

Mysql常常在linux系统中暗中同意自带,我们只需安装运行相应服务就能够,当然也足以友善下载相应的安装包,这里我们用centos自带的mysql版本,

解压安装

Replication – 引进形似MySQL的数量复制方案,解决可用性;

运营服务

tar zxvf apache-hive-0.13.1-bin.tar.gz  -C /home/hadoop/src/

其余还应该有:自动分拆Split、自动减削(compaction,LSM的伴生技艺)、自动负载均衡、自动region迁移。

图片 1

PS:Hive只需求在多少个节点上安装就能够,本例安装在name节点上边的虚拟机上边,与hadoop的name节点复用风流倜傥台虚构机器。

HBase集群要求依据于多个Zookeeper
ensemble。HBase集群中的全体节点以致要访问HBase

mysql私下认可密码是空即未有密码,可和睦修正

3,配置hive意况变量

的顾客端都供给能够访问到该Zookeeper
ensemble。HBase自带了Zookeeper,但为了有扶助

1、能够用以下命令给root用户安装密码:
mysql_secure_installation

vim hive-env.sh

其余应用程序使用Zookeeper,最棒使用单独安装的Zookeeper
ensemble。其余,Zookeeper
ensemble日常配备为奇数个节点,並且Hadoop集群、Zookeeper
ensemble、HBase集群是八个相互独立的集群,并无需安排在长期以来的轮廓节点上,他们之间是通过互连网通讯的。

图片 2

export HIVE_HOME=/home/hadoop/src/hive-0.13.1

Hbase和hadoop的涉嫌能够如下图所示:

2、依照提醒先输入原本的密码,直接回车,输入2次新密码,就安装成功了。
只顾,在设置进度中,会提醒删除是否anonymous客户,是或不是不肯root的长间隔访问,是或不是删除测验用的数据库,是不是再次使设置生效,依照真实情形选取y
或 n就可以,

export PATH=$PATH:$HIVE_HOME/bin

 

图片 3

4,配置hadoop以及hbase参数

图片 4

改完后重启mysql: /etc/init.d/mysqld restart

vim hive-env.sh

HBase 系统架构 
http://www.linuxidc.com/Linux/2014-12/110077.htm

二、下载安装Hive

# Set HADOOP_HOME to point to a specific hadoop install directory

Hadoop+HBase搭建云存款和储蓄总括 PDF
http://www.linuxidc.com/Linux/2013-05/83844.htm

1、  下载hive安装包

HADOOP_HOME=/home/hadoop/src/hadoop-2.3.0/

HBase 结点之间时间不相似导致regionserver运营战败
http://www.linuxidc.com/Linux/2013-06/86655.htm

apache-hive-2.1.1-bin.tar.gz

 

Hadoop+ZooKeeper+HBase集群配置
http://www.linuxidc.com/Linux/2013-06/86347.htm

上传到服务器,内定目录

# Hive Configuration Directory can be controlled by:

Hadoop集群安装&HBase实验情况搭建
http://www.linuxidc.com/Linux/2013-04/83560.htm

图片 5

export HIVE_CONF_DIR=/home/hadoop/src/hive-0.13.1/conf

基于Hadoop集群的HBase集群的配置
http://www.linuxidc.com/Linux/2013-03/80815.htm‘

2、安装hive

 

Hadoop安装配备笔记之-HBase完全遍及格局安装
http://www.linuxidc.com/Linux/2012-12/76947.htm

tar –zxvf apache-hive-2.1.1-bin.tar.gz

# Folder containing extra ibraries required for hive
compilation/execution can be controlled by:

单机版搭建HBase境遇图像和文字化教育程详细明白
http://www.linuxidc.com/Linux/2012-10/72959.htm

图片 6

export HIVE_AUX_JARS_PATH=/home/hadoop/src/hive-0.13.1/lib

2,Hadoop和Hbase的版本相称

三、设置配置项

 

上面在给列出官方网址音信:
上面面符号的含义:
S =帮忙并且测量检验,
X = 不支持,
NT =应该能够,可是从未测试。如下图所示:

1、改革蒙受变量

5,验证安装:

图片 7

Vi  /etc/profile

开发银行hive命令行格局,现身hive,表达安装成功了

3,下载地址

图片 8

[hadoop@name01 lib]$ hive –service cli

从Step2的图中看出,由于自个儿设置的hadoop是2.3.0,所以能够选择0.96上述的hbase版本,这里选用比很细心的0.98版本的hbase下载。

使变量立时生效

15/01/09 00:20:32 WARN conf.HiveConf: DEPRECATED:
hive.metastore.ds.retry.* no longer has any effect.  Use
hive.hmshandler.retry.* instead

进hbase官网

source /etc/profile

 

2、  配置hive-env.sh

Logging initialized using configuration in
jar:file:/home/hadoop/src/hive-0.13.1/lib/hive-common-0.13.1.jar!/hive-log4j.properties

跻身,找到下载,进去

Hive目录下的/conf/hive-env.sh
文件,该公文私下认可也不设有,相符是拷贝它的沙盘来校正:

始建表,推行create命令,现身OK,表达命令实践成功,也证实hive安装成功。

[hadoop@kencentos01 conf]$ cp hive-env.sh.template hive-env.sh

hive> create table test(key string);

再步向,选取HTTP,第一个mirrors,找到下载地址如下:

配置相关变量

OK

export HADOOP_HOME=/home/hadoop/hadoop-2.7.3
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export HIVE_CONF_DIR=/usr/hive/apache-hive-2.1.1-bin/conf 
export JAVA_HOME=/usr/java/jdk1.7.0_80

Time taken: 8.749 seconds

 

 3、校正 Hive 配置文件

hive>

 

Hive工程的配置文件为
hive-site.xml,暗中同意景况下,该文件并一纸空文,须求拷贝它的模版来贯彻,此计划文件充裕主要,若有生机勃勃项配置错误,则hive将运转不了

 

 

[hadoop@kencentos01 conf]$ cp hive-default.xml.template
hive-site.xml  

6,验证可用性

 

复制模版文件生成hive-site.xml

启动hive

 

<property>
      <name>hive.metastore.warehouse.dir</name>
      <value>/user/hive/warehouse</value>
      <description>数据存储目录,默认位置在 HDFS 上面的 /user/hive/warehouse 路径下
</description>
</property>
..
<property>
       <name>hive.exec.scratchdir</name>
       <value>/tmp/hive</value>
       <description>数据临时文件目录,默认位置为 HDFS 上面的 /tmp/hive 路径下</description> </property>
   //配置 jdbc
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:mysql://192.168.52.128:3306/hive?createDatabaseIfNotExist=true&amp;
characterEncoding=UTF-8&amp;useSSL=false</value>
    <description>
      //Jdbc 方式连接数据库
    </description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore 指定jdo驱动相关类</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
    <description>访问数据库的用户名</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
    <description>连接hive数据库对应用户的密码</description>
  </property>

[hadoop@name01 root]$hive –service metastore &

4 ,开头设置

反省上面目录是还是不是存在(hadoop系统中),创设如下目录

翻看后台hive运营进程

tar zxvf hbase-0.98.9-hadoop2-bin.tar.gz -C /home/hadoop/src/

[hadoop@kencentos01 bin]$ hdfs dfs -mkdir -p /user/hive/warehouse
[hadoop@kencentos01 bin]$ hdfs dfs -mkdir /tmp/hive
[hadoop@kencentos01 bin]$ hdfs dfs -chmod 777 /user/hive/warehouse
[hadoop@kencentos01 bin]$ hdfs dfs -chmod 777 /tmp/hive

[hadoop@name01 root]$ ps -eaf|grep hive

 

4、配置jdbc驱动包

hadoop    4025  2460  1 22:52 pts/0    00:00:19
/usr/lib/jvm/jdk1.7.0_60/bin/java -Xmx256m
-Djava.net.preferIPv4Stack=true
-Dhadoop.log.dir=/home/hadoop/src/hadoop-2.3.0/logs
-Dhadoop.log.file=hadoop.log
-Dhadoop.home.dir=/home/hadoop/src/hadoop-2.3.0 -Dhadoop.id.str=hadoop
-Dhadoop.root.logger=INFO,console
-Djava.library.path=/home/hadoop/src/hadoop-2.3.0/lib/native
-Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true
-Xmx512m -Dhadoop.security.logger=INFO,NullAppender
org.apache.hadoop.util.RunJar
/home/hadoop/src/hive-0.13.1/lib/hive-service-0.13.1.jar
org.apache.hadoop.hive.metastore.HiveMetaStore

5,配置

下载mysql的jdbc驱动包mysql-connector-java-5.1.6-bin.jar

相关文章