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. OSI 七层模型以及TCP/IP模型

    OSI 七层模型 定义 OSI(Open System Interconnection)即开放式系统互联通信参考模型.该模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一 ...

  2. 2020i春秋新春战疫

    简单的招聘系统 登陆这里就可以注入 查询这里也可以注入 从登陆这里注入把 爆破数据库名 爆破表名 列名 flag 就很奇怪跑出来的东西 重开容器跑一遍列,估计是flaaag.后面可能是发生了502 再 ...

  3. SQLServer系统表使用简介(sysobjects、syscolumns、syscomments等)转载

    sysobjects:记录了数据库中每一个表.视图.约束.存储过程等详细内容的表. 表中常用的字段如下 : 列名 数据类型 描述 name sysname 对象名 id int 对象标识号 xtype ...

  4. python进入adb shell交互模式

    import subprocess #方法一:进入某个环境执行语句(adb shell),注意shell内部命令需要带\n,执行完后一定记得执行exit命令退出,否则会阻塞 obj = subproc ...

  5. SeleniumHQ

    下载地址:http://www.seleniumhq.org/download/

  6. 支持向量机SVM知识梳理和在sklearn库中的应用

    SVM发展史 线性SVM=线性分类器+最大间隔 间隔(margin):边界的活动范围.The margin of a linear classifier is defined as the width ...

  7. 22.Java面试学习平台-整合OSS对象存储

    SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. ...

  8. urlencode()和rawurlencode()区别

    urlencode和rawurlencode两个方法在处理字母数字,特殊符号,中文的时候结果都是一样的 ,唯一的不同是对空格的处理,   urlencode处理成“+”,    rawurlencod ...

  9. 2019-2020-1 20199310《Linux内核原理与分析》第四周作业

    1.问题描述 在前面的文章中,已经接触过一些Linux内核的知识,本文将进一步从Linux内核源代码的目录结构入手,在Oracle VM VirtualBox的Linux环境中构造一个简单的操作系统M ...

  10. 设计数据库 ER 图太麻烦?不妨试试这两款工具,自动生成数据库 ER 图!!!

    忙,真忙 点赞再看,养成习惯,微信搜索『程序通事』,关注就完事了! 点击查看更多精彩的文章 这两个星期真是巨忙,年前有个项目因为各种莫名原因,一直拖到这个月才开始真正测试.然后上周又接到新需求,马不停 ...