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

mac2026-06-21  0

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

最新回复(0)