hadoop之旅7-centerOS7 : Hive环境搭建

以前的文章带你们一块儿从hadoop最开始的搭建,到最终写一个MapReduce结尾,相信你们也基本了解什么是hadoop。固然了现现在的开发,基本少不多有人写MapReduce,由于写起来太麻烦了,又是map,又是reduce,还要写运行的客户端。程序猿们太喜欢偷懒了,因此hive就出现了java

Hive

Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。并提供简单的sql查询功能,能够将sql语句转换为MapReduce任务进行运行.mysql

是的,你没有看错,hive就是把sql语句转换为咱们MapReduce任务的,因此作hive开发彻底能够不懂编程,只须要会写sql语句就能够了。linux

贴一张hive的结构图,你们能够体会如下web

注意

Hive不是为在线事务处理而设计。它最适合用于传统的数据仓库任务sql

接下来就带你们在CenterOS7上搭建一下Hive环境数据库

Hive安装有三种模式

嵌入模式:

元熟悉信息被存储在Hive自带的Derby数据库中编程

只容许建立一个链接api

多用于Demo安全

本地模式:

元数据信息被存储在MySQL数据库中bash

MySQL数据库与Hive运行在同一台物理机器上

多用于开发和测试

远程模式:

Hive与Mysql安装在不一样的操做系统上

在这里就给搭建演示本地模式安装,元数据存在mysql中

第一步

  1. 准备Hive-2.3.3工具包:点击下载
  2. 放入linux本身目录下,经过tar -zxvf xxxxx命令解压,而后经过如下命令建立一个临时目录mkdir hive_tmpdir为后面配置作准备

第二步

  1. 进入conf目录,复制hive-default.xml.templatehive-site.xml文件
cp hive-default.xml.template hive-site.xml
复制代码
  1. 配置hive-site.xml文件

将全部的${system:java.io.tmpdir}替换为第一步建立的临时目录hive_tmpdir 若是后面还接的有相似这样引用的变量${},能够直接删除

如:
<property>
    <name>hive.exec.local.scratchdir</name>
    #<value>${system:java.io.tmpdir}/${system:user.name}</value>
    <value>/home/mmcc/hive_tmpdir</value>
  </property>
 ...
复制代码

而后将hive.metastore.schema.verification的值设置为false,取消metastore验证, 再将datanucleus.schema.autoCreateTables设置为true,自动在数据库里建表。 其次配置咱们的mysql数据库,关于mysql的安装你们能够自行研究。 依然是在hive-site.xml

<property>
  <name>javax.jdo.option.ConnectionURL</name>  #数据库连接
  <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>    #数据库驱动名
  <description>Driver class name for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>  #数据库帐号
  <description>username to use against metastore database</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>123456</value>  #数据库密码
  <description>password to use against metastore database</description>
</property>
复制代码

配置好hive-site.xml以后保存退出。

第三步

  1. 将mysql的驱动包放入hive的lib目录下,mysql-5.1.25驱动下载
  2. 去掉hive里的sl4j的jar包,可能会和hadoop里的冲突(保留log4j-api和log4j-core和log4j-web)

第四步

到这里关于准备配置及一些准备工做就已经完成了,接下来就能够正式进行启动的流程了。首先关闭hadoop的安全模式,避免出现没必要要的错误,执行命令hdfs dfsadmin -safemode leave,而后执行如下命令进行启动。

#启动hive的metastore服务
[root@master bin]# ./hive --service metastore &
#初始化元数据为mysql数据库(只有第一次须要),这一步完成后,在mysql里其实就会生成hive表
[root@master bin]# ./schematool -dbType mysql -initSchema #
#接下来能够直接运行hive了
[root@master bin]# ./hive
复制代码

而后咱们就进入到了hive的命令行模式,就能够作hive的执行操做了。

相关文章
相关标签/搜索