Hive的意义及其安装部署

1.Hive介绍

1.1什么是Hive

Hive相当于是站在hdfs和MapReduce的肩膀上的工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查
询功能(HQL),其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,hive可以理解为
一个将SQL转换为MapReduce的任务的工具。

1.2为什么使用Hive

面临的问题:
	人员学习成本太高 
	项目周期要求太短 
	MapReduce实现复杂查询逻辑开发难度太大 
为什么要使用Hive 
	操作接口采用类SQL语法,提供快速开发的能力。 
	避免了去写MapReduce,减少开发人员的学习成本。 
	功能扩展很方便。

1.3 Hive特点

1.可扩展 
Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。

2.延展性 
Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

3.容错 
良好的容错性,节点出现问题SQL仍可完成执行。

2.Hive安装部署

2.1 安装和mysql相关的软件包

yum  install  mysql  mysql-server  mysql-devel

2.2永久启动MySQL

/etc/init.d/mysqld start
chkconfig mysqld on

2.3进入mysql的客户端然后进行授权

use mysql;

2.4 配置远程连接

 grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

2.5 刷新

 flush privileges;

2.6设置root用户连接MySQL的密码

update user set password=password('123456') where user='root';

2.7 刷新

 flush privileges;

2.8修改hive-env.sh文件的配置

cd  /export/servers/hive-1.1.0-cdh5.14.0/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh

HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0(在文本中默认是注释掉的,打开即可)
export HIVE_CONF_DIR=/export/servers/hive-1.1.0-cdh5.14.0/conf(这个也是如此)

在这里插入图片描述

2.9新建hive-site.sh

cd /export/servers/hive-1.1.0-cdh5.14.0/conf
vim hive-site.xml		

<?xml-stylesheet-0 type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node03.hadoop.com: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>123456</value>
    </property>
    <property>
            <name>hive.cli.print.current.db</name>
            <value>true</value>
    </property>
    <property>
            <name>hive.cli.print.header</name>
            <value>true</value>
    </property>
    <property>
            <name>hive.server2.thrift.bind.host</name>
            <value>node03.hadoop.com</value>
    </property>

2.10上传mysql的lib驱动包

将mysql的lib驱动包上传到hive的lib目录下

おすすめ

転載: blog.csdn.net/qq_45769990/article/details/109725896