【Hadoop离线基础总结】Hive的安装部署以及使用方式
Hive的安装部署以及使用方式
安装部署
Derby版hive直接使用
cd /export/softwares
将上传的hive软件包解压:tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C ../servers/
cd /export/servers/hive-1.1.0-cdh5.14.0/
启动:bin/hive

缺点:多个地方安装hive后,每一个hive是拥有一套自己的元数据,大家的库、表就不统一;使用mysql共享hive元数据
1.国内下载mysql源:http://mirrors.163.com/mysql/Downloads/

2.下载完成后将tar包解压到/var/cache/yum/x86_64/7/mysql57-community/packages
3.可以用两种方法安装
(1)yum install mysql mysql-server mysql-devel(安装包已经放到指定路径下,就不用再下载了)
(2)rpm -ivh *.rpm(安装前要先cd到上面说的文件夹)
第二种安装时如果出现“公钥未安装”之类的字眼,在后面加 --force --nodeps即可
4.启动mysql的服务
service mysqld start或systemctl start mysqld.service(CentOS 7 之后的版本两个都能用)
5.查看mysql服务是否启动成功
service mysqld status或systemctl status mysql.service

6.初始化mysql并生成随机密码
初始化mysql:mysqld --initialize
查看随机密码:cat /var/log/mysqld.log

7.使用随机密码登录,并修改密码
登录:mysql -uroot -p
修改密码强度:set global validate_password_length=6;
修改密码长度:set global validate_password_policy=LOW;(因为打算设置一个简单的密码,所以需要修改)
修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
8.退出mysql,修改mysql安装配置
修改mysql安装配置:/usr/bin/mysql_secure_installation
需要选择是n/y,我的顺序是n/y/n/y/y
9.进去mysql,修改访问权限
修改访问权限:grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
*.*第一个*表示数据库名称,第二个*表示数据库下面的哪个表
'root'@'%'root表示mysql的用户,%表示ip地址,可以从哪台机器使用那个用户来连接数据库
all privileges所有的权限,这里还可以写insertupdatedeleteselect
identified by远程连接的时候的密码,与mysql的root用户密码无关
实际线上环境,关于mysql的控制比较严格,不同的人分配不同的用户,创建不同的数据库,分配不同的权限
刷新权限表:flush pricileges;
10.修改hive的两个配置文件
修改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

创建hive-site.xml
<?xml-stylesheet 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>
<!--
<property>
<name>hive.metastore.uris</name>
<value>thrift://node03.hadoop.com:9083</value>
</property>
-->
</configuration>
11.上传mysql的lib驱动包
上传到这里:cd /export/servers/hive-1.1.0-cdh5.14.0/lib
参照mysql-connector-java和mysql的对应关系进行选择下载 (图转自CSDN博主「hchhan89」)

使用方式
第一种交互方式
使用hive的bin/hive可以进入hive的客户端,执行sql语句
cd /export/servers/hive-1.1.0-cdh5.14.0
启动:bin/hive
查看所有的数据库:hive (default)> SHOW DATABASES;
创建一个数据库:hive (default)> CREATE DATABASE myhive;
使用该数据库并创建数据库表:hive (default)> USE myhive
hive (default)> CREATE TABLE test(id INT,name STRING)第二种交互方式
Hive JDBC服务
可以前台启动服务端:bin/hive --service hiveserver2在前台就会一直占用一个窗口

也可以把进程挂在后台:nohup bin/hive --service hiveserver2 2>&1 &
再使用beeline进行交互:bin/beeline!connect jdbc:hive2://node03:10000

第三种交互方式
Hive命令
-e参数表示直接执行hql的语句:bin/hive -e "use myhive;select * from test;"
-f参数表示通过指定文本文件来执行hql语句:bin/hive -f hive.sql
更多参数参考

【Hadoop离线基础总结】Hive的安装部署以及使用方式的更多相关文章
- 【Hadoop离线基础总结】oozie的安装部署与使用
目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包 ...
- 【Hadoop离线基础总结】Hue的简单介绍和安装部署
目录 Hue的简单介绍 概述 核心功能 安装部署 下载Hue的压缩包并上传到linux解压 编译安装启动 启动Hue进程 hue与其他框架的集成 Hue与Hadoop集成 Hue与Hive集成 Hue ...
- 【Hadoop离线基础总结】impala简单介绍及安装部署
目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...
- 【Hadoop离线基础总结】Hive调优手段
Hive调优手段 最常用的调优手段 Fetch抓取 MapJoin 分区裁剪 列裁剪 控制map个数以及reduce个数 JVM重用 数据压缩 Fetch的抓取 出现原因 Hive中对某些情况的查询不 ...
- 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发
目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分 ...
- 【Hadoop离线基础总结】Sqoop常用命令及参数
目录 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导出到关系表--expor ...
- 【Hadoop离线基础总结】Hive的基本操作
Hive的基本操作 创建数据库与创建数据库表 创建数据库的相关操作 创建数据库:CREATE TABLE IF NOT EXISTS myhive hive创建表成功后的存放位置由hive-site. ...
- Hadoop(分布式系统基础架构)---Hive与HBase区别
对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用. Hive是什么? Apache Hive是 ...
- 【Hadoop离线基础总结】工作流调度器azkaban
目录 Azkaban概述 工作流调度系统的作用 工作流调度系统的实现 常见工作流调度工具对比 Azkaban简单介绍 安装部署 Azkaban的编译 azkaban单服务模式安装与使用 azkaban ...
随机推荐
- Mysql 错误 Connection is read-only 解决方式
环境Spring+Mybatis <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.s ...
- 如何让一张图片变成二值图像?python+opencv图像处理
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:张熹熹 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自 ...
- work of 1/5/2016
part 组员 今日工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 UI页面切换,词本显示下滑条 6 继续下滑条等增删补 ...
- D - A Game with Traps-- codeforces 1260D A
题目大意: 一共有m个士兵,k个陷阱,时间为t,一个首领,这个首领需要在t时间内尽可能多的将士兵带到boos的面前, 第二行是每个士兵的灵敏度. 紧接着是k个陷阱,每个陷阱有l,,r,,d组成,l代表 ...
- 一道简单的SQL注入题
这是我真正意义上来说做的第一道SQL题目,感觉从这个题目里还是能学到好多东西的,这里记录一下这个题目的writeup和在其中学到的东西 link:https://www.ichunqiu.com/ba ...
- angularjs: draggable js
var startX = 0, startY = 0, x = 0, y = 0, minDragRang = 50; var targetContainer = angular.element(do ...
- 推荐web前端框架bootstrap
bootstrap是基于Jquery而开发的一个前端框架. 全中文的学习网站:http://www.runoob.com/bootstrap/bootstrap-tutorial.html 实际上就是 ...
- spring源码阅读笔记09:循环依赖
前面的文章一直在研究Spring创建Bean的整个过程,创建一个bean是一个非常复杂的过程,而其中最难以理解的就是对循环依赖的处理,本文就来研究一下spring是如何处理循环依赖的. 1. 什么是循 ...
- mac使用brew安装mysql5.7
安装mysql5.7 brew install mysql@5.7 设置环境变量(可能安装完自动生成过了,可以cat ~/.zshrc看一下,有了就不用添加了 ) echo 'export PATH= ...
- 2019-2020-20199303《Linux内核原理与分析》第四周作业
构造一个简单的Linux内核 Linux是一种开源电脑操作系统内核,它是一个用C语言写成.主要子系统: 1.系统调用接口 2.进程管理 3.内存管理 4.虚拟文件系统 qemu是一个开源模拟处理器,在 ...