您的位置:首页 > 其它

Hive安装与配置(靠谱亲测)

2016-04-12 14:21 246 查看
   Hive是hadoop生态环境的组成之一。通过Hive,可以使得直接用SQL操作HDFS。最大的好处就是让熟悉SQL,但是不了解JAVA的数据分析师使用。其机制就是一个将SQL语言转化为MapReduce的映射器。可作为在Hadoop上架设数据仓库的工具。但是最大的缺点是运行比较慢。

  Hive的安装模式有两种,一种为Debug模式,将元数据保存在derby内存数据库中。这样就一次只能允许一个会话链接。另一种为Mysq安装模式。可以利用本地或者远程的Mysql数据库来保存元数据。

  本次实验搭建本地mysql安装模式进行安装。

实验环境:

  CentOs6.5,Hive(1.x),Mysql Server version:5.1.73

一、Mysql安装配置

  1.首先还是和其他教程一样,先看看本机是否已经安装了mysql。如果安了的话先删除

  rmp -qa | grep mysql //查看是否安装有mysql;

  yum remove mysql //卸载mysql

  或者rmp -e mysql //卸载

  2.安装mysql

  yum install -y mysql y mysql-server mysql-deve

  过程和其他教程差不多,可以参考这个http://www.cnblogs.com/shenliang123/p/3203546.html

  3.启动mysql 

  service mysqld start //启动mysql

  chkconfig mysqld on //设置开机启动mysql

  4.设置root密码

  mysqladmin -u root password 'root'

  5.配置登陆mysql的hive用户

  虽然在我自己的实验中,我直接用的root账户。但是感觉还是不安全,最好还是创建一个单独的账户给hive。

  insert into mysql.user(Host,User,Password) values("localhost","hive",password("hive")); //在user用户表里插入一个hive用户

  create database hive; // 创建hive保存元数据的hive用户

  grant all on hive.* to hive@'%' identified by 'hive'; //对hive用户设置权限

  grant all on hive.* to hive@'localhost' identified by 'hive'; //

  flush privileges; // 生效
  exit

 

二、Hive安装包下载解压

  这个不用说,在官网上下载一个最新的稳定版本就好。下载后解压在本地。我放的目录是用户主目录下(~)[~是用户主目录,不是卖萌……]

三、配置hive

  1.环境变量配置  

  #set hive
  export HIVE_HOME=/home/renjie/hive
  export PATH=$PATH:$HIVE_HOME/bin
  export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib

  2.修改hive-site

 将hive-default.xml.templateg改为hive-site.xml,然后编辑

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost: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>
</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>
</property>

<property>
<name>hive.querylog.location</name>
<value>/home/renjie/hive/iotmp</value> //自己创建一个路径,修改为自己的路径
<description>Location of Hive run time structured log file</description>
</property>

<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/home/renjie/hive/iotmp/operation_logs</value> //同样自己创建一个路径
<description>Top level directory where operation logs are stored if logg|
</property>

  

<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/renjie/hive/iotmp</value>
<description>Local scratch space for Hive jobs</description>
</property>

<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/renjie/hive/iotmp</value>
<description>Temporary local directory for added resources in the remote| <description>Temporary local directory for added resources in the remote
</property>

3.将MySql的JDBC拷贝到Hive下的lib目录

  单独在mysql官网上下载mysql connector,也就是jdbc的jar包。放到$HIVE_HOME/lib/.

四、配置完成

  在启动hadoop后,运行hive命令,查看是否能进入shell
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: