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 所有的权限,这里还可以写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套接字之UDP

    目录 基于UDP的socket 发送消息 接收消息 基于UDP的socket 面向无连接的不可靠数据传输,可以没有服务器端,只不过没有服务器端,发送的数据会被直接丢弃,并不能到达服务器端 发送消息 在 ...

  2. [转载]绕过CDN查找真实IP方法总结

    前言 类似备忘录形式记录一下,这里结合了几篇绕过CDN寻找真实IP的文章,总结一下绕过CDN查找真实的IP的方法 介绍 CDN的全称是Content Delivery Network,即内容分发网络. ...

  3. pytorch seq2seq模型中加入teacher_forcing机制

    在循环内加的teacher forcing机制,这种为目标确定的时候,可以这样加. 目标不确定,需要在循环外加. decoder.py 中的修改 """ 实现解码器 &q ...

  4. springmvc配置数据源方式

    1 阿里巴巴的druid数据源 <!-- 配置数据源 使用的是Druid数据源 -->-<bean destroy-method="close" init-met ...

  5. shll脚本常用格式和规则使用

    shll脚本格式和规则 脚本文件必须已 .sh 结尾(yuan.sh) 脚本第一行必须是:#!/bin/bash 激活脚本的二种方式(sh yuan.sh)(给脚本X权限,以绝对路径执行脚本) 逻辑与 ...

  6. ES6让字符串String增加了哪些好玩的特性呢?

    确实因为现在天气变热了,所以一天天的这么写我也很累.所以如果阅读的时候有什么错误还请大家指出来,不好意思.学习永无止境. OK,今天继续讲解ES6系列知识 学过上一节的解构赋值就知道,ES6确实给我们 ...

  7. centos7.4挂载硬盘

    场景:新网上买了台服务器,有个数据盘需要自己挂载 fdisk -l 能看见有一个85.9g的硬盘 然后mkfs -t ext4 /dev/sdb 格式化硬盘 mkdir /data新建data文件夹用 ...

  8. D3.js 力导向图的显示优化

    D3.js 作为一个前端,说到可视化除了听过 D3.js 的大名,常见的可视化库还有 ECharts.Chart.js,这两个库功能也很强大,但是有一个共同特点是封装层次高,留给开发者可设计和控制的部 ...

  9. 设计模式 - 迭代器模式详解及其在ArrayList中的应用

    基本介绍 迭代器模式(Iterator Pattern)是 Java 中使用最多的一种模式,它可以顺序的访问容器中的元素,但不需要知道容器的内部细节 模式结构 Iterator(抽象迭代器):定义遍历 ...

  10. 第 3 篇:实现博客首页文章列表 API

    作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 此前在讨论基于模板引擎的开发方式和 django-rest-framework 开发 ...