【Hive篇】Hive的安装

HIVE的搭建比较简单,依托于Hadopp集群,以及mysql服务端。
多种搭建方式,主要介绍单一用户和多用户的场景,其中node01放置mysql服务端,node02放hive的单一用户模式。(node03和node04用于多用户模式,03为服务端,04为客户端)
那么搭建开始吧:

  1. 准备环境:安装mysqlServer
    yum 安装,
    启动,service mysqld start
    进入mysql ,直接mysql
    退出:quit
    设置成开机自启: chkconfig mysqld on
    检查:chkconfig –list mysqld
  2. 搭建HIve(单用户模式):
    2.1.解压:tar -zxvf apache-hive-1.2.1-bin.tar.gz
    2.2.配置环境变量:
    2.3.配置hive配置:
    2.4.添加mysql-connector-java-5.1.32-bin.jar 以及将hive的lib下的jline高版本的jar替换到hadoop的yarn的lib下的低版本的jline。

备注:上述2.3处的配置说明如下:
这种存储方式需要在本地行一个mysql服务器,并作如下配置(下面两种使用mysql的方式,需要将mysql的jar包拷贝到$HIVE_HOME/lib目录下)。

  
     
<configuration>  
<property>  
  <name>hive.metastore.warehouse.dirname>  
  <value>/user/hive_remote/warehousevalue> // 存hdfs的位置 
property>  

<property>  
  <name>hive.metastore.localname>  
  <value>truevalue>  // 是否自己管理元数据信息,单用户为true
property>  

<property>  
  <name>javax.jdo.option.ConnectionURLname>  
  <value>jdbc:mysql://node01/hive_remote?createDatabaseIfNotExist=truevalue>  //jdbc连接
property>  

<property>  
  <name>javax.jdo.option.ConnectionDriverNamename>  
  <value>com.mysql.jdbc.Drivervalue>  // jdbc驱动
property>  

<property>  
  <name>javax.jdo.option.ConnectionUserNamename>  
  <value>hivevalue>  
property>  

<property>  
  <name>javax.jdo.option.ConnectionPasswordname>  
  <value>passwordvalue>  
property>  
configuration>  

2.4处添加和替换jar的原因如下:
启动hive:hive 后发现有The 此处的错误:specified datastore driver (“com.mysql.jdbc.Driver”),需要将mysql-connector-java-5.1.32-bin.jar此jar放在hive的lib目录下。再次启动还是会有问题,Found class jline.Terminal, but interface was expected 此时需要替换hive的新版本的jline的jar替换到hadood的yarn的lib下的jline.jar。

  1. 配置搭建HIve(多用户模式Remote分开):
    将hive-site.xml配置文件拆为如下两部分
    1)、服务端配置文件
  
  

<configuration>  

<property>  
  <name>hive.metastore.warehouse.dirname>  
  <value>/user/hive/warehousevalue>  
property>  

<property>  
  <name>javax.jdo.option.ConnectionURLname>  
  <value>jdbc:mysql://node01:3306/hive?createDatabaseIfNotExist=truevalue>  
property>  

<property>  
  <name>javax.jdo.option.ConnectionDriverNamename>  
  <value>com.mysql.jdbc.Drivervalue>  
property>  

<property>  
  <name>javax.jdo.option.ConnectionUserNamename>  
  <value>rootvalue>  
property>  

<property>  
  <name>javax.jdo.option.ConnectionPasswordname>  
  <value>123456value>  
property>  
configuration>  

启动hive服务端程序

hive --service metastore  

2)、客户端配置文件

  
  

<configuration>  

<property>  
  <name>hive.metastore.warehouse.dirname>  
  <value>/user/hive/warehousevalue>  
property>  

<property>  
  <name>hive.metastore.localname>  
  <value>falsevalue>  
property>  

<property>  
  <name>hive.metastore.urisname>  
  <value>thrift://node03:9083value> // 服务端地址  
property>  

configuration>  

测试:
客户端直接使用hive命令即可
root@node04:~$ hive
Hive history file=/tmp/root/hive_job_log_root_xxx.txt
hive> show tables;
OK
test_hive
Time taken: 0.736 seconds
hive>

备注:
1.Remote一体
这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务。
这里用mysql的测试服务器,ip位192.168.1.214,新建hive_remote数据库,字符集位latine1

  
     
<configuration>   
<property>  
  <name>hive.metastore.warehouse.dirname>  
  <value>/user/hive/warehousevalue>  
property>  

<property>  
  <name>javax.jdo.option.ConnectionURLname>  
  <value>jdbc:mysql://node01:3306/hive?createDatabaseIfNotExist=truevalue>  
property>  

<property>  
  <name>javax.jdo.option.ConnectionDriverNamename>  
  <value>com.mysql.jdbc.Drivervalue>  
property>  

<property>  
  <name>javax.jdo.option.ConnectionUserNamename>  
  <value>hivevalue>  
property>  

<property>  
  <name>javax.jdo.option.ConnectionPasswordname>  
  <value>passwordvalue>  
property>  

<property>  
  <name>hive.metastore.localname>  
  <value>falsevalue>  
property>  

<property>  
  <name>hive.metastore.urisname>  
  <value>thrift://node03:9083value>  
property>  

configuration>  

注:这里把hive的服务端和客户端都放在同一台服务器上了。服务端和客户端可以拆开,

你可能感兴趣的:(【Hive篇】Hive的安装)