0.安装环境和版本

Ubuntu16,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>  

6.初始化数据库

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

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

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

7.启动Hive服务

启动hive常用的两个服务

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

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

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

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

8. 复制hive到其他从节点

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

9.报错解决

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 路径,有两个地方要替换

Ubuntu16下Hive 安装的更多相关文章

  1. ubuntu16.04下hive安装与配置

    Hive是什么? 由Facebook开源用于解决海量 结构化日志的数据统计: Hive是基于Hadoop的一个 数据仓库工具,可以将结构化的数据文件映射 成一张表,并提供类SQL查询功能: 构建在Ha ...

  2. Ubuntu16下Hadoop安装

    1. 安装Ubuntu 2. 新装Ubuntu常用软件安装和系统设置 (1) 安装vim yum install vim (2) 更改hostname为hadoop_master sudo vim / ...

  3. Ubuntu16下apache2安装ssl阿里云证书

    1.用下面的命令确保ssl模块已经加载进apache: a2enmod ssl 如果你看到了“Module ssl already enabled”这样的信息就说明你成功了,如果你看到了“Enabli ...

  4. ubuntu16下 Oracle安装完毕,测试是否安装成功的步骤

    1.查看oracle的环境变量,在终端输入命令 echo $ORACLE_BASE echo $ORACLE_HOME echo $PATH 看输出是不是安装时设置的路径 2.开启监听器 lsnrct ...

  5. DigitalOcean 推荐的ubuntu16下LAMP安装过程

    LAMP安装过程: How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 16.04 (另一个参考例程:Ubuntu 16.0 ...

  6. Hive安装-windows(转载)

    1.安装hadoop 2.从maven中下载mysql-connector-java-5.1.26-bin.jar(或其他jar版本)放在hive目录下的lib文件夹 3.配置hive环境变量,HIV ...

  7. Ubuntu16.04下Hive的安装与配置

    一.系统环境 os : Ubuntu 16.04 LTS 64bit jdk : 1.8.0_161 hadoop : 2.6.4mysql : 5.7.21 hive : 2.1.0 在配置hive ...

  8. Ubuntu16.04 LTS下apt安装WireShark

    Ubuntu16.04 LTS下apt安装WireShark 安装与配置 首先通过apt安装WireShark: $ sudo apt install wireshark 会同时安装许多的依赖包,其中 ...

  9. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

随机推荐

  1. Servlet是否单例?

    1,测试环境: Java SE版本:1.8.0_161(AMD64) Tomcat版本:9.0.7(AMD64) 2,试验 (1)编写HelloServlet. 由于测试代码很简单,此处只列出doGe ...

  2. Python面试笔记二

    一.算法 1.归并排序 2.快速排序 3.算法复杂度 4.哈希表数据结构 二.数据库 1.设计一个用户关注系统的数据库表 1.设计一个用户关注系统的数据库表,写三个相关的SQL语句两张表,一张user ...

  3. keepalived+nginx负载均衡+ApacheWeb实现高可用

    1.Keepalived高可用软件 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,kee ...

  4. telnet操作memcache

    1.使用方法 1. 连接到memcached telnet 192.168.1.100 11211 add name 0 60 5     [说明 add 是指令名  name 是key的名字 (是以 ...

  5. vue li click

    <ul>      <li @click="mechanisms(1)">AAAAA</li>      <li @click=" ...

  6. Node、TS、Koa学习笔记

    这样定义可以轻松拿到gender属性 这样定义,函数内显示没有gender 这种方法能得到gender但是函数内部没有gender 这种方式能到gender 但是在函数里施symbel属性,外部不能访 ...

  7. day14- 面向对象基础(一)

    今天开始写关于面向对象的内容,面向对象是编程思想中一大思想,由于日常使用中经常会用到,本次主要是对于我个人认为重点的基础知识进行整理,不会特别详细的书写. 1.面向过程与面向对象的区别 2.类 3.类 ...

  8. [LeetCode] 9. 回文数

    题目链接:https://leetcode-cn.com/problems/palindrome-number/ 题目描述: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都 ...

  9. 27 python 初学(信号量、条件变量、同步条件、队列)

    参考博客: www.cnblogs.com/yuanchenqi/articles/5733873.html  semaphore 信号量: condition 条件变量: event 同步条件:条件 ...

  10. 在Bootstrap开发框架的前端视图中使用@RenderPage实现页面内容模块化的隔离,减少复杂度

    在很多开发的场景中,很多情况下我们需要考虑抽象.以及模块化等方面的内容,其目的就是为了使得开发的时候关注的变化内容更加少一些,整体开发更加简单化,从而减少开发的复杂度,在Winform开发的时候,往往 ...