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. Python的炫技操作:条件语句的七种写法

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: Python极客社区 PS:如有需要Python学习资料的小伙伴可以 ...

  2. 被折磨致死的heroku——herku部署

    最近一直在弄heroku部署上线,但是因为中国墙和英语问题,一直弄不好,,很是烦躁,所有暂时先放弃了,但是因为查询了一些资料,有些文档链接有必要放到下面,方便各位和自己查看: heroku官方网站: ...

  3. 图解Knative核心组件Serving基础设计

    最近闲下来,打算把Knative的核心组件Serving给学习下,会继续采用k8s源码学习的方式,管中窥豹以小击大,学习serving的主要目标: 可观测性基础设施.自动伸缩.流量管理等核心组件的设计 ...

  4. 通过 Swoole\Table 实现 Swoole 多进程数据共享

    第三方存储媒介 前面我们介绍了基于 Swoole 的 Process 及 Process\Pool 模块在 PHP 中实现多进程管理,但是多进程模式下进程间是相互隔离的,无法共享数据和变量,即便是通过 ...

  5. Lesson0423

    ABS计算几何科普讲座 讲个笑话,ABS又来科普简单知识了 %%% STO szO ABS Orz OTZ %%% 之前完全没有接触过计算几何啊...ABS聚聚给我们从最简单的部分讲起,听得还是很爽的 ...

  6. Spring Cloud 系列之 Sleuth 链路追踪(一)

    随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务.互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发.可能使用不同的编程语言来实现.有可能布在了 ...

  7. docker 部署FastDFS

    教程:https://blog.csdn.net/fangchao2011/article/details/103202591 教程:https://www.jianshu.com/p/3f80cba ...

  8. 基于NFS共享存储实现KVM虚拟机动态迁移

    基于NFS共享存储实现KVM虚拟机动态迁移 一:配置环境 二:安装相关的依赖包 三:实现NFS共享存储 四:KVM机配置相同的步骤 五:安装KVM01安装虚拟机 六:实现迁移  实验初始配置:所有主机 ...

  9. 正则表达式(grep,awk,sed)和通配符

    1. 正则表达式 1. 什么是正则表达式? 正则表达式就是为了处理大量的字符串而定义的一套规则和方法. 通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串. Linux正则 ...

  10. 【Linux常见问题】CentOS 6 root用户密码忘记,找回密码方法

    1.Linux的root密码修改不像Windows的密码修改找回,Windows的登录密码忘记需要介入工具进行解决.CentOS6和CentOS7的密码方法也是不一样的,具体如下: 2.centos ...