一、安装Hive

1.1 下载并解压

下载所需版本的 Hive,这里我下载版本为 cdh5.15.2。下载地址:http://archive.cloudera.com/cdh5/cdh/5/

# 下载后进行解压tar -zxvf hive-1.1.0-cdh5.15.2.tar.gz

1.2 配置环境变量

# vim /etc/profile

添加环境变量:

export HIVE_HOME=/usr/app/hive-1.1.0-cdh5.15.2
export PATH=$HIVE_HOME/bin:$PATH

使得配置的环境变量立即生效:

# source /etc/profile

1.3 修改配置

1. hive-env.sh

进入安装目录下的 conf/ 目录,拷贝 Hive 的环境配置模板 hive-env.sh.template

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

修改 hive-env.sh,指定 Hadoop 的安装路径:

HADOOP_HOME=/usr/app/hadoop-2.6.0-cdh5.15.2

2. hive-site.xml

新建 hive-site.xml 文件,内容如下,主要是配置存放元数据的 MySQL 的地址、驱动、用户名和密码等信息:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hadoop001:3306/hadoop_hive?createDatabaseIfNotExist=true</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>root</value></property></configuration>

1.4 拷贝数据库驱动

将 MySQL 驱动包拷贝到 Hive 安装目录的 lib 目录下, MySQL 驱动的下载地址为:https://dev.mysql.com/downloads/connector/j/ , 在本仓库的resources 目录下我也上传了一份,有需要的可以自行下载。

1.5 初始化元数据库

  • 当使用的 hive 是 1.x 版本时,可以不进行初始化操作,Hive 会在第一次启动的时候会自动进行初始化,但不会生成所有的元数据信息表,只会初始化必要的一部分,在之后的使用中用到其余表时会自动创建;

  • 当使用的 hive 是 2.x 版本时,必须手动初始化元数据库。初始化命令:

    # schematool 命令在安装目录的 bin 目录下,由于上面已经配置过环境变量,在任意位置执行即可
    schematool -dbType mysql -initSchema
    

这里我使用的是 CDH 的 hive-1.1.0-cdh5.15.2.tar.gz,对应 Hive 1.1.0 版本,可以跳过这一步。

1.6 启动

由于已经将 Hive 的 bin 目录配置到环境变量,直接使用以下命令启动,成功进入交互式命令行后执行 show databases 命令,无异常则代表搭建成功。

# hive

在 Mysql 中也能看到 Hive 创建的库和存放元数据信息的表

二、HiveServer2/beeline

Hive 内置了 HiveServer 和 HiveServer2 服务,两者都允许客户端使用多种编程语言进行连接,但是 HiveServer 不能处理多个客户端的并发请求,因此产生了 HiveServer2。HiveServer2(HS2)允许远程客户端可以使用各种编程语言向 Hive 提交请求并检索结果,支持多客户端并发访问和身份验证。HS2 是由多个服务组成的单个进程,其包括基于 Thrift 的 Hive 服务(TCP 或 HTTP)和用于 Web UI 的 Jetty Web 服务。

HiveServer2 拥有自己的 CLI 工具——Beeline。Beeline 是一个基于 SQLLine 的 JDBC 客户端。由于目前 HiveServer2 是 Hive 开发维护的重点,所以官方更加推荐使用 Beeline 而不是 Hive CLI。以下主要讲解 Beeline 的配置方式。

2.1 修改Hadoop配置

修改 hadoop 集群的 core-site.xml 配置文件,增加如下配置,指定 hadoop 的 root 用户可以代理本机上所有的用户。

<property><name>hadoop.proxyuser.root.hosts</name><value>*</value>
</property>
<property><name>hadoop.proxyuser.root.groups</name><value>*</value>
</property>

之所以要配置这一步,是因为 hadoop 2.0 以后引入了安全伪装机制,使得 hadoop 不允许上层系统(如 hive)直接将实际用户传递到 hadoop 层,而应该将实际用户传递给一个超级代理,由该代理在 hadoop 上执行操作,以避免任意客户端随意操作 hadoop。如果不配置这一步,在之后的连接中可能会抛出 AuthorizationException 异常。

关于 Hadoop 的用户代理机制,可以参考:hadoop 的用户代理机制 或 Superusers Acting On Behalf Of Other Users

2.2 启动hiveserver2

由于上面已经配置过环境变量,这里直接启动即可:

# nohup hiveserver2 &

2.3 使用beeline

可以使用以下命令进入 beeline 交互式命令行,出现 Connected 则代表连接成功。

# beeline -u jdbc:hive2://hadoop001:10000 -n root

Linux环境下Hive的安装相关推荐

  1. linux校园网客户端,Ubuntu Linux环境下校园网客户端安装使用

    最近发现好多兄弟姐妹不用Linux原因是在我们学校大大环境下上校园网有点费劲,或者干脆就不会弄,亦或者根本就没想到上网^_^ 这里我写上这么一段简单的过程,为了大家能够顺利上网,大牛直接掠过,不要喷我 ...

  2. Linux环境下Python的安装过程

    Linux环境下Python的安装过程 前言 一般情况下,Linux都会预装 Python了,但是这个预装的Python版本一般都非常低,很多 Python的新特性都没有,必须重新安装新一点的版本,从 ...

  3. Linux环境下Protobuf完整安装和使用教程

    Linux环境下Protobuf完整安装和使用教程 目标 下载和安装 环境配置 一个例子 1.报文定义 2.报文生成 3.使用报文 4.编译程序 5.常见问题: 目标 本文将教会一个完全的新手如何搭建 ...

  4. hp ux安装mysql5.1.56_详细讲解Linux环境下MySQL5.1安装步骤

    1.下载MySQL免安装版/二进制版软件(不用编译) 文件格式:MYSQL-VERSION-OS.tar.gz 2.创建MySQL组,建立MySQL用户并加入到mysql组中 (不同版本的Unix中, ...

  5. linux环境下使用virtualbox安装ghost系统

    linux环境下使用virtualbox安装ghost系统 环境为Ubuntu 18.04LTS,这次难点在于使用virtualbox如何使用虚拟机外部的文件安装系统.后来看到加载iso很方便,就往这 ...

  6. k8s简介以及linux环境下的详细安装步骤

    k8s简介以及linux环境下的详细安装步骤 k8s是Kubernetes的简称,Kubernetes中间有8个单词,所以叫k8s,就是这么简单粗暴. 我们可以看到docker的图标是鲨鱼,k8s的图 ...

  7. linux下的python安装,linux环境下的python安装过程

    一.下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下图所示: wget https://www.python.org/ftp/python/3. ...

  8. django配置环境linux,linux环境下Django的安装配置详解

    linux环境下Django的安装配置详解 1. 下载安装Django pip install Django==1.6.5 测试是否安装成功 >>> import django> ...

  9. Linux环境下ANTs软件安装(基于源码)

    Linux环境下ANTs软件安装(基于源码) 1.下载Cmake 在命令行里运行: 2.下载ITK 在命令行里运行: 3.ANTs安装 (1)在命令行里运行: (2)编译完之后如果在 antsbin ...

最新文章

  1. 治病花了130万才明白:不要轻易买保险
  2. 移动站应该尝试百度MIP的五个原因
  3. inx函数python_Python数据分析入门
  4. php java session共享_PHP实现多服务器session共享之NFS共享
  5. utl_file包的使用
  6. HTML如何引入外部JS文件
  7. Java--I/O输入输出流
  8. 分享C#实现XML和实体序列化和反序列化的代码
  9. java工具类解压缩zip和rar
  10. 后台管理系统权限设计
  11. 美团搜索多业务商品排序探索与实践
  12. 【重磅消息】欧洲最大云服务公司OVH机房着火:部分客户数据完全丢失且无法恢复
  13. python 今日头条 微头条_今日头条微头条范文-头条号的微头条你们都发些什么,该如何写?...
  14. ADFでパラメーターのやり取り
  15. 高中数学关于计算机的知识,高中数学必修4知识点总结归纳_数学_高中教育_教育专区.doc...
  16. php ffmpeg 转码mp4,PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
  17. 好多人一个月3000块钱工资怎么维持生活的?
  18. 评估板快速测试-基于TI Sitara Cortex-A9
  19. 在JavaScript中每5秒调用一个函数
  20. DOSEMU(DOSEMU for Linux),即DOS Emulation(DOS模拟器)

热门文章

  1. pytorch CUDNN_STATUS_MAPPING_ERROR
  2. 小胖游海南(Mar,2010)-三亚,博鳌,海口
  3. 趣图:谁说理工男都穿格子衫?
  4. 设计反激式开关电源变压器 清楚实用!
  5. 微信curl上传客服头像接口遇到的坑
  6. 1.创建Prism项目
  7. JAVA简单实现坦克对战(只有坦克和子弹)
  8. linux运行checkra1n视频,CheckRa1n是什么软件?CheckRa1n使用方法
  9. Zcash中的hash函数
  10. kali linux超级用户_Kali Linux操作系统将从本月发布的新版本开始默认不再使用root账户...