Hadoop从入门到进阶 Hive安装与入门(五)

1 什么是HIVE

1)Hive 由 Facebook 实现并开源
2)是基于 Hadoop 的一个数据仓库工具
3)可以将结构化的数据映射为一张数据库表
4)并提供 HQL(Hive SQL)查询功能
5)底层数据是存储在 HDFS 上
6)Hive的本质是将 SQL 语句转换为 MapReduce 任务运行
7)使不熟悉 MapReduce 的用户很方便地利用 HQL 处理和计算 HDFS 上的结构化的数据,适用于离线的批量数据计算。

在这里插入图片描述

2 为什么要用Hive

直接使用 MapReduce 所面临的问题:
  1)人员学习成本太高
  2)项目周期要求太短
  3)MapReduce实现复杂查询逻辑开发难度太大
为什么要使用 Hive:
  1)更友好的接口:操作接口采用类 SQL 的语法,提供快速开发的能力
  2)更低的学习成本:避免了写 MapReduce,减少开发人员的学习成本
  3)更好的扩展性:可自由扩展集群规模而无需重启服务,还支持用户自定义函数

3 Hive 特点

优点:
  1)可扩展性,横向扩展,Hive 可以自由的扩展集群的规模,一般情况下不需要重启服务。
  2)延展性,Hive 支持自定义函数,用户可以根据自己的需求来实现自己的函数
  3)良好的容错性,可以保障即使有节点出现问题,SQL 语句仍可完成执行
缺点:
       1)Hive 的查询延时很严重
       2)Hive 不支持事务

在这里插入图片描述

4 Hive的安装

环境准备:

192.168.0.38 node1 hive  mysql   namenode    resourcemanager  
192.168.0.39 node2               datanode    nodemanager
192.168.0.40 node2               datanode    nodemanager
192.168.0.41 node3               datanode    nodemanager

4.1 安装mysql

1)上传包解压

tar -xvf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar

2)只装server和client删除其它没用的rpm
在这里插入图片描述
3)安装server

rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
#如果冲突,卸载
rpm -e mariadb-libs-1:5.5.60-1.el7_5.x86_64 --nodeps
#卸载后重新安装
rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm

在这里插入图片描述
在这里插入图片描述
4)安装客户端

rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm

在这里插入图片描述
5)记住随机密码

cat /root/.mysql_secret
q2IoRdyJAvHnp8fL

6)启动mysql

#命令
service mysql start

在这里插入图片描述
7)修改密码

#命令,用上文密码登陆
/usr/bin/mysql_secure_installation
#几个重要的选择
#是否禁用远程登录,除此之外可以全y
Disallow root login remotely? [Y/n]   n
#是否重新加载权限表
Reload privilege tables now? [Y/n] y

8)设置权限

#登录
mysql -uroot -p123456
#设置
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'  IDENTIFIED BY '123456' WITH GRANT OPTION;

在这里插入图片描述

4.2 安装hive

1)上传包解压

#解压
tar -zxvf apache-hive-1.2.1-bin.tar.gz
#改名
mv apache-hive-1.2.1-bin hive

2)修改配置文件

cd  /usr/local/hive/conf
vim hive-site.xml

<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.0.38:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
</configuration>

3)放入jdbc驱动包

cd /usr/local/hive/lib

在这里插入图片描述
4)启动前需要HDFS集群环境和HADOOP_HOME
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5)启动hive

cd /usr/local/hive/bin
./hive

在这里插入图片描述
在这里插入图片描述

发布了140 篇原创文章 · 获赞 47 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_34125999/article/details/102872013