Hive 系列(二)—— Linux 环境下 Hive 的安装部署

一、安装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 的环境配置模板 flume-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

更多大数据系列文章可以参见 GitHub 开源项目大数据入门指南

原文地址:https://www.cnblogs.com/heibaiying/p/11386760.html

时间: 2024-08-06 17:05:25

Hive 系列(二)—— Linux 环境下 Hive 的安装部署的相关文章

CentOS7.X环境下基于docker安装部署RabbitMQ集群

1.IP地址规划(将信息配置到/etc/hosts中)主机名 IP地址RabbitMQ01 192.168.8.131RabbitMQ02 192.168.8.132RabbitMQ03 192.168.8.133RabbitMQ04 192.168.8.1342.RabbitMQ集群安装(1)四个节点同时运行,下载RabbitMQ镜像[[email protected]~]# docker pull rabbitmq:3-management(2)四个节点分别运行,启动RabbitMQ容器 [

Linux环境下进行web增量部署

协同开发时,需要打"补丁包",其实"补丁包"就是"增量部署"-----在原先功能的基础上对项目模块进行升级. 1.linux环境下为Java project项目打补丁 将编译好的*.class文件直接放到Linux原先运行环境(目录)下进行处理. 2.Linux环境下对Java web project项目打补丁 首先建立与运行环境下面一致的目录(如下示例中的WEB-INFO---->classes---->com),将编译好的*.cl

Linux环境下在Tomcat上部署JavaWeb工程

本文讲解如何将我们已经编译好的JavaWeb工程在Linux环境下的Tomcat上进行部署,总体上的思路是和Windows下JavaWeb项目部署到tomcat差不多,具体步骤和命令如下. 注:部署之前必须已经在Linux上安装好JDK,具体如何在Linux上安装JDK见:Linux环境下安装JDK 1 准备工作 1.下载安装Xshell.Xftp(用于远程连接Linux主机,具体自行百度) 2.官网下载Linux下tomcat安装包,我用的是:apache-tomcat-6.0.45.tar.

Linux 环境下pip的安装

转载原地址为http://i.cnblogs.com/EditPosts.aspx?opt=1,转载请注明原地址,谢谢! 1. 概述 自动化发布平台需要在线上环境重新安装部署,涉及到多个包的安装,之前没有记录下.导致此次安装的时候, 有些过程主要重新再经历一遍,不过也好,至少可以趁这个机会把Python涉及各个模块安装部署做到自动化. 1.1 pip的安装 网上一堆关于Linux下pip的安装文档,大部分是无法使用的,不知道这些人自己有没有尝试过.而且大部分是完全一样的, 估计是粘贴复制的居多.

linux环境下的php安装--20150424

Linux环境用的是rhel6.4,刚装的虚拟机,直接用iso镜像里的包来安装了. 1.挂载cdrom,进入/mnt/目录下,使用“mkdir cdrom”指令就可以创建一个名为cdrom的文件夹了,这个文件夹就是要用来挂载光盘镜像的了. 2.指令“mount /dev/cdrom /mnt/cdrom/”挂载上镜像,软件包都是在/mnt/cdrom/Packages/目录下. 3.用“find | grep php”搜索一下,会看到有很多的php相关的rpm包,找2个包,分别为php-comm

linux环境下pytesseract的安装和央行征信中心的登录验证码识别实战

首先是安装,我参考的是这个 http://blog.csdn.net/xinghun_4/article/details/47860645 我是centos,使用yum yum install python-devel libjpeg libjpeg-devel freetype freetype-devel zlib zlib-devel littlecms littlecms-devel libwebp libwebp-devel libfreetype libfreetype-devel

第十八篇 Linux环境下常用软件安装和使用指南

提醒:如果之后要安装virtualenvwrapper的话,可以直接跳到安装virtualenvwrapper的方法,而不需要先安装好virtualenv 安装virtualenv和生成虚拟环境 安装virtualenv:yum -y install python-virtualenv 生成虚拟环境: 先切换到想要生成虚拟环境的目录下面 生成python2的虚拟环境:virtualenv 虚拟环境名,例如:virtualenv test_py2 生成python3的虚拟环境:virtualenv

Linux 环境下手工编译安装Apache

手工编译安装Apache 实验准备: 1.VMwore 12 环境下Red Hat 6.5版本虚拟机一台 2.相关软件包:apr.apr-util.httpd 备注:apache官网下载http://www.apache.org/ 将实验所需的软件包下载好,并解压到指定文件夹 `` 一.Apache安装 1.首先解压软件包http.apr.apr-util(支持Apache上层应用跨平台,提供底层接口库)至/opt目录下 tar xzvf http-2.4.2.tar.gz -C /opt ta

linux环境下的python安装过程(含setuptools)

这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装. 一.下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下图所示: 将python-2.7.3.tgz下载至/opt目录下. 二.python的解压 三.python的编译与安装 在对python进行编译之前,必须对它进行配置.在unix/linux平台上的安装过程中,配置和编译过程全部已经自动化