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 startsystemctl start mysqld.service(CentOS 7 之后的版本两个都能用)



    5.查看mysql服务是否启动成功

    service mysqld statussystemctl 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 所有的权限,这里还可以写insert update delete select

    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的安装部署以及使用方式的更多相关文章

  1. 【Hadoop离线基础总结】oozie的安装部署与使用

    目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包 ...

  2. 【Hadoop离线基础总结】Hue的简单介绍和安装部署

    目录 Hue的简单介绍 概述 核心功能 安装部署 下载Hue的压缩包并上传到linux解压 编译安装启动 启动Hue进程 hue与其他框架的集成 Hue与Hadoop集成 Hue与Hive集成 Hue ...

  3. 【Hadoop离线基础总结】impala简单介绍及安装部署

    目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...

  4. 【Hadoop离线基础总结】Hive调优手段

    Hive调优手段 最常用的调优手段 Fetch抓取 MapJoin 分区裁剪 列裁剪 控制map个数以及reduce个数 JVM重用 数据压缩 Fetch的抓取 出现原因 Hive中对某些情况的查询不 ...

  5. 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发

    目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分 ...

  6. 【Hadoop离线基础总结】Sqoop常用命令及参数

    目录 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导出到关系表--expor ...

  7. 【Hadoop离线基础总结】Hive的基本操作

    Hive的基本操作 创建数据库与创建数据库表 创建数据库的相关操作 创建数据库:CREATE TABLE IF NOT EXISTS myhive hive创建表成功后的存放位置由hive-site. ...

  8. Hadoop(分布式系统基础架构)---Hive与HBase区别

    对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用.  Hive是什么? Apache Hive是 ...

  9. 【Hadoop离线基础总结】工作流调度器azkaban

    目录 Azkaban概述 工作流调度系统的作用 工作流调度系统的实现 常见工作流调度工具对比 Azkaban简单介绍 安装部署 Azkaban的编译 azkaban单服务模式安装与使用 azkaban ...

随机推荐

  1. Laravel 分页 数据丢失问题解决

    问题: to do list 中有32条数据,每页10条,共3页. 做完了一个事项之后,准备打卡,发现找不到这个事项. 数据库查询正常,有这一条数据. 原因: 发现是分页出了问题,第1页的数据和第2页 ...

  2. 详解 继承(下)—— super关键字 与 多态

    接上篇博文--<详解 继承(上)-- 工具的抽象与分层> 废话不多说,进入正题: 本人在上篇"故弄玄虚",用super();解决了问题,这是为什么呢? 答曰:子类中所有 ...

  3. C#开发BIMFACE系列31 服务端API之模型对比2:获取模型对比状态

    系列目录     [已更新最新开发文章,点击查看详细] 在上一篇<C#开发BIMFACE系列30 服务端API之模型对比1:发起模型对比>中发起了2个模型对比,由于模型对比是在BIMFAC ...

  4. Spring5:控制反转

    二.Spring IOC控制反转 1:IOC推导 >传统业务调用编程 定义一个userDao接口:UserDao package com.spring; public interface Use ...

  5. Java 集合框架总结--导图

    java的集合导图总结:

  6. Java Web教程——检视阅读

    Java Web教程--检视阅读 参考 java web入门--概念理解.名词解释 Java Web 教程--w3school 蓝本 JavaWeb学习总结(一)--JavaWeb开发入门 小猴子mo ...

  7. PHP生成桌面快捷方式,保存一个网页至桌面上成为快捷方式

    header("Content-Type: application/octet-stream; charset=utf8"); header("Content-Dispo ...

  8. Qt 正则表达式检查 IP 格式

    KillerSmath 2018年6月29日 下午10:41 @Pranit-Patil Hi there. Like @jonB says above, you should to replace\ ...

  9. QT 的 parent 该如何理解

    对话框是GUI程序和用户进行简短交互的顶层窗口,所谓顶层窗口即始终在主窗口之上显示.QDialog是Qt所有类型的对话框窗口的基类,它继承于QWidget,是一种容器类型组件. QWidget是所有窗 ...

  10. SpringBoot应用操作Rabbitmq(topic交换器高级操作)

    一.topic交换器为主题交换器,可以根据路由key模糊匹配 实现模型图 二.实战 1.引入maven <dependency> <groupId>org.springfram ...