技术干货 | hive安装部署

解压hive压缩包

apache-hive-2.1.0-bin.tar.gz(官网下载)

配置HADOOP_HOME环境变量

配置HIVE_HOME环境变量

在$HIVE_HOME/conf下创建hive-site.xml,并输入增加以下配置:

<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl" ?>
<configuration>
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
  </property>
  <property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
  </property>
  <property>
    <name>hive.server2.logging.operation.log.location</name>
    <value>/tmp/hive/operation_logs</value>
    <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
  </property>
  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/hive</value>
    <description>Local scratch space for Hive jobs</description>
  </property>
  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/tmp/hive/resources</value>
    <description>Temporary local directory for added resources in the remote file system.</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.ConnectionURL</name>
    <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>bigdata</value>
    <description>password to use against metastore database</description>
  </property>
<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>0.0.0.0</value>
    <description>Bind host on which to run the HiveServer2 Thrift interface.
  Can be overridden by setting $HIVE_SERVER2_THRIFT_BIND_HOST</description>
</property>
<property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    <description>Port number of HiveServer2 Thrift interface.
  Can be overridden by setting $HIVE_SERVER2_THRIFT_PORT</description>
</property>
<property>
    <name>hive.server2.enable.doAs</name>
    <value>false</value>
    <description>Set true to use user who login hiveserver2 for executing hadoop job.Otherwise, use the user who run hiveserver2.</description>
</property> 
</configuration>

安装mysql,创建指定主机能访问的用于hive的的用户及密码,并授予所有权限,如果javax.jdo.option.ConnectionURL属性没有加createDatabaseIfNotExist=true,那么需要手动创建用于hive的数据库

拷贝mysql驱动JAR包到$HIVE_HOME/lib目录下:

cp mysql-connector-java-5.1.39-bin.jar $HIVE_HOME/lib/

执行schematool -initSchema -dbType mysql

下载hive-jdbc-2.1.0-standalone.jar并放入$HIVE_HOME/lib下。(因为使用beeline方式连接hive时需要)

使用以下命令启动hive服务:

hive --service hiveserver2 >/dev/null 2>/dev/null &

检查HiveServer是否启动成功的最快捷的方法就是使用netstat命令查看10000端口是否打开并监听连接:netstat -nl|grep 10000

Hive提供了配置变量hive.start.cleanup.scratchdir,默认值是false,将这个属性设置为true的话,那么就会在每次重启HiveServer服务时清理掉临时目录。

如果metastore不在server同一台主机上,需要配置:

hive.metastore.local为false

hive.metastore.uris为远程metastore服务地址,如:thrift://metastore_server:9083

且需要手动在远程主机上执行hive --service metastore >/dev/null 2>/dev/null & 来启动metastore,可以用netstat -an|grep 9083检查源数据服务是否启动。

原文发布于微信公众号 - 加米谷大数据(DtinoneBD)

原文发表时间:2017-12-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JavaEE

springboot快速入门前言:一、springboot简介:二、springboot常用知识点:总结:

正所谓,天下武功,唯快不破,在当今生活节奏越来越快的时代,我们也要讲求效率,也要追求一个快字(不过有些方面还是不能快的,不要当快男哦)。springboot就是...

1081
来自专栏杨建荣的学习笔记

crontab导致CPU异常的问题分析及处理(r3笔记第100天)

今天查看数据库负载没有发现问题,但是当我使用top命令的时候,发现有一个进程占用了大量的cpu资源而且已经执行很长时间了。这一下子引起了我的注意。 PID ...

3837
来自专栏bboysoul

开源堡垒机jumpserver搭建

之前说了国产良心kodexplorer,今天再说一个国内比较好的开源项目jumpserver,除此之外还可以的国内开源项目我觉得就是宝塔面板了。废话不多说上教程...

7963
来自专栏技术博文

Linux下ps命令详解

linux上进程有5种状态:  1. 运行(正在运行或在运行队列中等待)  2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)  3. 不可中断(...

4064
来自专栏散尽浮华

Linux下部署Samba服务环境的操作记录

关于Linux和Windows系统之间的文件传输,很多人选择使用FTP,相对较安全,但是有时还是会出现一些问题,比如上传文件时,文件名莫名出现乱码,文件大小改变...

4598
来自专栏Jaycekon

Spring-boot:快速搭建微框架服务

前言: Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配...

54312
来自专栏mantou大数据

【大数据安全】Apache Kylin 安全配置(Kerberos)

本文首先会简单介绍Kylin的安装配置,然后介绍启用Kerberos的CDH集群中如何部署及使用Kylin。

3103
来自专栏个人分享

spark on hive 配置hive的metastore为mysql

<property> <name>hive.metastore.uris</name> <value></value> <description>Thrift ...

2181
来自专栏互扯程序

spring Boot 整合mybatis 如何使用多数据源

前言 本篇教程偏向实战,程序猿直接copy代码加入到自己的项目中做简单的修修改改便可使用,而对于springboot以及mybatis不在此进行展开介绍...

4389
来自专栏北京马哥教育

linux 内存耗尽的分析

在测试NAS性能,用fstest长时间写,分析性能变差的原因,发现server主机内存使用率很高。 1.首先查看内存 # top -M top - 14:...

7696

扫码关注云+社区

领取腾讯云代金券