当前位置: 首页 > news >正文

大数据系列之数据仓库Hive安装

Hive系列博文,持续更新~~~

大数据系列之数据仓库Hive原理

大数据系列之数据仓库Hive安装

大数据系列之数据仓库Hive中分区Partition如何使用

大数据系列之数据仓库Hive命令使用及JDBC连接

 

Hive主要分为以下几个部分

⽤户接口
1.包括CLI,JDBC/ODBC,WebUI
元数据存储(metastore)
1.默认存储在⾃带的数据库derby中,线上使⽤时⼀般换为MySQL
驱动器(Driver)
1.解释器、编译器、优化器、执⾏器
Hadoop
1.⽤MapReduce 进⾏计算,⽤HDFS 进⾏存储

 

前提部分:Hive的安装需要在Hadoop已经成功安装且成功启动的基础上进行安装。若没有安装请移步至大数据系列之Hadoop分布式集群部署。

使用包: apache-hive-2.1.1-bin.tar.gz, mysql-connector-java-5.1.27-bin.jar

 云盘,密码:seni

本文将Hive安装在Hadoop Master节点上,以下操作仅在master服务器上进行操作。

1. 切换至普通用户 su mfz

2. 将gz包上传至目录下

  /home/mfz

3.解压

tar -xzvf apache-hive-2.1.1-bin.tar.gz

 4.目录:

5.创建hive-site.xml

<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

    <property>

        <name>hive.metastore.uris</name>

        <value>thrift://localhost:9083</value>

        <description>ThriftURIfor theremotemetastore. Usedbymetastoreclientto connectto remotemetastore.</description>

    </property>

    <property>

        <name>hive.server2.thrift.port</name>

        <value>10000</value>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionURL</name>

        <value>jdbc:mysql://localhost:3306/hive_13?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>hadoop</value>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>hadoop</value>

    </property>

    <property>

        <name>hive.metastore.schema.verification</name>

        <value>false</value>

    </property>

    <property>

        <name>hive.metastore.warehouse.dir</name>

        <value>/user/hive/warehouse</value>

        <description>locationofdefault databasefor thewarehouse</description>

    </property>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://master:9000</value>

    </property>

    <property>

        <name>datanucleus.autoCreateSchema</name>

        <value>true</value>

    </property>

    <property>

        <name>datanucleus.autoStartMechanism</name>

        <value>SchemaTable</value>

    </property>

    <property>

        <name>datanucleus.schema.autoCreateTables</name>

        <value>true</value>

    </property>

    <property>

        <name>beeline.hs2.connection.user</name>

        <value>mfz</value>

    </property>

    <property>

        <name>beeline.hs2.connection.password</name>

        <value>111111</value>

    </property>

</configuration>

   5.1由配置文件可看出,我们需要mysql的数据库hive_13,数据库用户名为hadoop,数据库密码为hadoop.

6.安装mysql 

  6.1 安装参考文章:Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

  6.2 建立mysql数据库、用户、权限 参考文章:使用MySQL命令行新建用户并授予权限的方法

7.启动验证Mysql是否安装配置成功 :使用hadoop用户登录  

 mysql -u hadoop -p 

 

8.配置hive环境变量:

vi /home/mfz/.bash_profile  
#Hive CONFIG
export HIVE_HOME=/home/mfz/apache-hive-2.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin

#wq .bash_profile
#生效配置
source /home/mfz/.bash_profile   
#验证是否生效
echo $HIVE_HOME

[mfz@master apache-hive-2.1.1-bin]$ echo $HIVE_HOME                                                                                  
/home/mfz/apache-hive-2.1.1-bin 

9. 将mysql的java connector复制到依赖库中

cp resources/msyql/mysql-connector-java-5.1.27-bin.jar apache-hive-2.1.1-bin/bin/

10.启动hive,命令: hive;  若出现如下几种错误请参照对应解决方案;

错误1:

  原因:Hive metastore database is not initialized

  解决方案:执行命令

schematool -dbType mysql -initSchema

 错误2:

  原因:hadoop 安全模式打开导致

  解决方案:执行命令

#关闭hadoop安全模式
hadoop dfsadmin -safemode leave

 11.启动hive.

  A.方式1: hive命令

  B.方式2(重要):

  beeline

  !connect jdbc:hive2://master:10000/default mfz 111111

  说明default是database名称,mfz是master服务器用户,111111是用户的登录密码.

  因为beeline是取代hive客户端的新客户端,它访问HS2来发起hive操作,但是别急着敲下命令,继续往下看:这里涉及一个hadoop.proxy的概念:默认HS2是以user=anonymous身份访问Hdfs的,我们称HS2是hadoop的一个代理服务。但是,我们实际上希望以mfz身份去访问hdfs,因为此前创建的hive数据目录都是属于mfz用户的,anonymous是无法访问的,那么此时就需要给hadoop配置一个proxyuser,意思是HS2代理可以支持用户以mfz身份访问hdfs,而不是anonymous用户。

为了实现这个能力,需要修改hadoop项目的core-site.xml配置来实现(记得重启namenode和datanode):

<property>
<name>hadoop.proxyuser.mfz.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.mfz.hosts</name>
<value>*</value>
</property>

10.hive 使用命令.

数据定义语句DDL
Create/Drop/Alter Database
Create/Drop/Truncate Table
Alter Table/Partition/Column
Create/Drop/Alter View
Create/Drop/Alter Index
Create/Drop Function
Create/Drop/Grant/Revoke Roles and Privileges
Show
Describe

完~ 关于Hive的Nosql操作命令与Jdbc访问Hive方式见博文 大数据系列之数据仓库Hive使用

 

转载请注明出处:

作者:mengfanzhu

原文链接:http://www.cnblogs.com/cnmenglang/p/6661488.html

转载于:https://www.cnblogs.com/cnmenglang/p/6661488.html

相关文章:

  • Linux系统下,启动Tomcat有时报Address already in use
  • 间谍网络(tarjan缩点)
  • 测试工程师的明天在哪里
  • 【php技术】PHP错误类型和屏蔽方法
  • JAVA进程占用CPU分析
  • Android - Activity生命周期
  • maven scope使用和理解
  • JavaScript数组
  • freemarker自定义标签
  • [转]使用JQuery读取XML文件数据
  • android安装
  • jQuery 读xml并search
  • IO模型介绍 以及同步异步阻塞非阻塞的区别
  • IDEA的查询引用、调用关系图的功能(转)
  • 【不抱怨21天】第一天 - The First Day
  • Hexo+码云+git快速搭建免费的静态Blog
  • linux学习笔记
  • MySQL的数据类型
  • Odoo domain写法及运用
  • python学习笔记 - ThreadLocal
  • spring + angular 实现导出excel
  • Vue.js 移动端适配之 vw 解决方案
  • vue.js框架原理浅析
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 简单数学运算程序(不定期更新)
  • 前嗅ForeSpider教程:创建模板
  • 如何胜任知名企业的商业数据分析师?
  • 新书推荐|Windows黑客编程技术详解
  • 一份游戏开发学习路线
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # 安徽锐锋科技IDMS系统简介
  • #传输# #传输数据判断#
  • $.ajax,axios,fetch三种ajax请求的区别
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (分布式缓存)Redis持久化
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (十) 初识 Docker file
  • (五)Python 垃圾回收机制
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • ***测试-HTTP方法
  • .cfg\.dat\.mak(持续补充)
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net 简单实现MD5
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NET连接数据库方式
  • .net下简单快捷的数值高低位切换
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • /usr/bin/env: node: No such file or directory
  • @AliasFor注解
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • [ NOI 2001 ] 食物链