前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu 16.04下Hive 安装

Ubuntu 16.04下Hive 安装

作者头像
星哥玩云
发布2022-08-16 15:54:11
4530
发布2022-08-16 15:54:11
举报
文章被收录于专栏:开源部署

0.安装环境和版本

Ubuntu 16.04,Hadoop版本是2.7.2 ,选择Hive版本为  hive-2.1.17

1. Hive安装包下载

地址: https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

2.上传到服务器后解压

sudo mv apache-hive-2.1.1-bin.tar.gz /usr/local

sudo tar zxvf apache-hive-2.1.1-bin.tar.gz

sudo mv apache-hive-2.1.1-bin  hive

sudo chown –R hadoop:hadoop hive

3.配置

sudo vi /etc/profile.d/hadoop.sh

添加以下内容:

#For Hive

export HIVE_HOME=/usr/local/hive

export HIVE_CONF_DIR=$HIVE_HOME/conf

export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib

export PATH=$PATH:$HIVE_HOME/bin复制代码

保存后使用命令:source /etc/profile使环境变量立即生效

4.下载并设置好jdbc connector

从此处下载:https://dev.mysql.com/downloads/connector/j/

记住,将解压出来的jar放入hive 的lib中

sudo cp mysql-connector-java-5.1.42-bin.jar $HIVE_HOME/lib/或

ln -s /usr/share/java/mysql-connector-java-5.1.42-bin.jar $HIVE_HOME/lib/mysql-connector-java-5.1.42-bin.jar

5. 配置MySQL作为Hive的元数据存储库

如果没有安装好MySQL,先在服务器装好MySQL。

1) 创建hive数据库和用户

GRANT all privileges on *.* TO 'hive' identified by 'Hive@12345';

create database hive;

flush privileges; 

6. 配置hive-site.xml文件

1) 配置hive-site.xml文件

cd $HIVE_HOME/conf

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

修改:

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

<value>true</value>改为

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

    <value>false</value>

设置HIVE元数据库连接信息:

<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.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>hive</value> 

  <description>username to use against metastore database</description> 

</property> 

<property> 

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

  <value>hive</value> 

  <description>password to use against metastore database</description> 

</property>

7.初始化数据库

在使用hive或者hive --service cli来运行之前需要初始化数据库,如果在初始化之前已经运行了上述命令并且失败,则需要删除产生的metastore_db文件

使用命令schematool -initSchema -dbType mysql初始化mysql数据库

出现以下几行说明初始化成功:

8.启动Hive服务

启动hive常用的两个服务

# 使用这个服务,可以让metastore作为一个单独的(远程)进程运行

nohup hive --service metastore 2>&1 >> /var/log.log &

# 让Hive以提供Trift服务的服务器形式运行,允许用不同语言编写的客户端进行访问

nohup hive  -–service hiveserver2  2>&1 >> /var/log.log &

9. 复制hive到其他从节点

将hive文件夹scp到其他从节点中,这样在其他服务器上也能访问hive

10.报错解决

1) 异常信息:

异常信息:

Exception in thread "main" Java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

at org.apache.Hadoop.hive.ql.session.SessionState.start(SessionState.java:444)

解决:

查看hive-site.xml配置,会看到配置值含有"system:java.io.tmpdir"的配置项

2.新建文件夹在hive目录下新建一个tmp目录

3. ${system:java.io.tmpdir}/${system:user.name} 这两个一起替换为 /usr/local/hive/tmp 路径,有两个地方要替换

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档