Hive的配置安装教程

下载链接:https://downloads.apache.org/hive/

1. 环境要求

  1. jdk,安装目录:/usr/local
  2. hadoop,安装目录:/usr/local

2. Hive安装模式

  1. 内嵌模式

使用Hive自带默认元数据库derby来进行存储,一般用于测试。

  1. 优点:使用简单,不需要配置
  2. 缺点:只支持单session
  1. 本地模式

使用mysql替换derby进行元数据的存储,hive的相关进程都是在同一台机器上,即本地模式。mysql因为是 独立的进程,所以mysql可以和hive在同一机器上,也可以在其他机器上。
通常使用关系型数据库进行元数据存储(mysql、oracle等执行带jdbc驱动的数据库)

  1. 优点:支持多session
    需要安装MySQL数据库
  1. 远程模式

将hive中的相关进程比如hiveserver2或者metastore这样的进程单独开启,使用客户端工具或者命令行进行远程连接这样的服务,即远程模式。客户端可以在任何机器上,只要连接到这个server,就可以进行操作。客户端可以不需要密码。

3. 安装步骤

3.1 内嵌模式
  1. 解压并配置环境变量
解压

tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/local
cd /usr/local

更名

mv apache-hive-2.1.1-bin/ hive

配置环境变量

vi /etc/profile
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH

让profile生效

source /etc/profile

  1. 配置hive-env.sh
    进入HIVE_HOME/conf中配置hive-env.sh
export HIVE_CONF_DIR=/usr/local/hive/conf 
export JAVA_HOME=/usr/local/jdk 
export HADOOP_HOME=/usr/local/hadoop 
export HIVE_AUX_JARS_PATH=/usr/local/hive/lib

如果没有hive-env.sh,复制hive.env.sh.template

cp hive.env.sh.template hive-env.sh

  1. 配置hive-site.xml
    把hive-site.xml 中所有包含 ${system:Java.io.tmpdir}替换成/usr/local/hive/iotmp. 如果系统默认没有指定系统用户名,那么要把配置${system:user.name}替换成当前用户名root
    如果没有,将conf/hive-default.xml.template拷贝过来使用

cp hive-default.xml.template hive-site.xml

  1. 启动hadoop

start-dfs.sh
start-yarn.sh

  1. 初始化Hive
    进入HIVE_HOME/bin

schematool –initSchema –dbType derby

  1. 启动Hive

hive

3.2 本地模式
  1. 安装MySQL数据库(进行远程授权)
  2. 解压配置环境变量(Hive)
  3. 配置hive-env.sh
  4. 配置hive-site.xml
    2,3,4和内嵌模式一样
    找到下面四个属性修改对应的值
<!--配置mysql的连接字符串-->
<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> 
<!--配置mysql的连接驱动--> 
<property> 
	<name>javax.jdo.option.ConnectionDriverName</name> 
	<value>com.mysql.jdbc.Driver</value> 
	<description>Driver class name for a JDBC metastore</description> 
</property> 
<!--配置登录mysql的用户--> 
<property> 
	<name>javax.jdo.option.ConnectionUserName</name> 
	<value>root</value> 
	<description>username to use against metastore database</description> 
</property> 
<!--配置登录mysql的密码--> 
<property> 
	<name>javax.jdo.option.ConnectionPassword</name> 
	<value>123123</value> 
	<description>password to use against metastore database</description> 
</property>
  1. 将mysql的驱动包 mysql-connector-java-5.1.28-bin.jar 上传到$HIVE_HOME/lib下(注意:驱动是jar结尾,不是tar结尾)
  2. 执行执行先要初始化数据库
schematool -initSchema -dbType mysql
  1. 启动Hive
3.3远程模式
  1. 修改hive-site.xml
	<property> 
		<name>hive.metastore.warehouse.dir</name> 
		<value>/user/hive/warehouse</value> 
		<description>location of default database for the warehouse</description> 
	</property>  
	<property> 
		<name>hive.exec.scratchdir</name> 
		<value>/tmp/hive</value> 
	</property> 
	<property> 
		<name>javax.jdo.option.ConnectionURL</name> 
		<value>jdbc:mysql://laogu03:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=latin1</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>12345678</value> 
	</property>  
	<property> 
		<name>hive.exec.local.scratchdir</name> 
		<value>/usr/local/hive/iotmp/root</value> 
	</property> 
	<property> 
		<name>hive.server2.logging.operation.log.location</name> 
		<value>/usr/local/hive/iotmp/root/operation_logs</value> 
	</property> 
	<property> 
		<name>hive.querylog.location</name> 
		<value>/usr/local/hive/iotmp/root</value> 
	</property> 
	<property> 
		<name>hive.downloaded.resources.dir</name> 
		<value>/usr/local/hive/iotmp/${hive.session.id}_resources</value> 
	</property> 
	<property> 
		<name>hive.metastore.uris</name> 
		<value/> 
	</property> 
	<property> 
		<name>hive.cli.print.current.db</name> 
		<value>false</value> 
	</property> 
	<property> 
		<name>hive.exec.mode.local.auto</name> 
		<value>false</value> 
	</property>
  1. 修改hadoop中的core-site.xml
	<property>
		<name>hadoop.proxyuser.root.hosts</name> 
		<value>*</value> 
	</property> 
	<property>
		<name>hadoop.proxyuser.root.groups</name> 
		<value>*</value> 
	</property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值