前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >技术干货 | hive安装部署

技术干货 | hive安装部署

作者头像
加米谷大数据
发布2018-04-02 15:08:53
6930
发布2018-04-02 15:08:53
举报
文章被收录于专栏:加米谷大数据

解压hive压缩包

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

配置HADOOP_HOME环境变量

配置HIVE_HOME环境变量

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

代码语言:javascript
复制
<?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目录下:

代码语言:javascript
复制
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服务:

代码语言:javascript
复制
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检查源数据服务是否启动。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加米谷大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档