基于hadoop2.6.0的hive-1.2.1安装

来源:互联网 发布:cms 权限数据库设计 编辑:程序博客网 时间:2024/06/07 04:07

1.安装环境:有一个完全分布式的Hadoop-2.6.0。

2.安装准备:需要在网上下一个Hive的压缩包,我这儿用的是apache-hive-1.2.1-bin.tar.gz。下载地址here

3.将下载下来的hive压缩包解压,并更改用户权限。我的解压在/usr/local

sudo tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/localsudo chown -R persistence:persistence /usr/local/apache-hive-1.2.1-bin

4.设置环境变量

sudo vim /etc/profile在最后加上export HIVE_HOME=/usr/local/apache-hive-1.2.1-bin(这儿是你的hive的解压路径)export PATH=$PATH:$HIVE_HOME/binsource /etc/profile  ->使配置文件生效

5.metastore->MYSQL的安装(我这是ubuntu系统)

sudo apt-get install mariadb-server mariadb-clientsudo service mysql startsudo service mysql enable
安装好后去网上下载一个链接MYSQL的JDBC驱动,我用的是mysql-connector-java-5.1.32-bin.jar,并方人员hive的解压文件的lib目录下。

设置mysql数据库,使其能远程连接

sudo vim /etc/mysql/my.cnf将bind-address            = 127.0.0.1这行改为 bind-address            = 0.0.0.0

用root登录mariadb,创建存储需要用的数据库以及相应用户

mysql -u root -p         ->输入之后会提示你输入之前你设置的root密码create database hiveDB; -> 建立数据库alter database hiveDB character set latin1;->将编码改为Latin1,你可以设置其他编码create user 'bee' identified by '123456'; ->创建用户grant all privileges on hiveDB.* to 'bee'@'%' identified by '123456'; ->将允许从任意地点登陆的bee用户对hiveDB数据库的所有表执行增删查改四种操作flush privileges; -> 刷新系统权限表

6.配置HIVE,配置文件目录在hive目录下的conf目录下

① 配置hive-site.xml,conf目录下应该没有这个文件,需要将hive-default.xml.template中的配置文件中内容复制到hive-site.xml 文件中,但是现在我们只需要用一些配置信息,所以可以在conf目录下直接新建hive-site.xml,然后在文件中写入一下内容即可。

sudo vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property>        <name>hive.exec.scratchdir</name>        <value>hdfs://HadoopMaster:9000/tmp/hive</value></property><property>        <name>javax.jdo.option.ConnectionURL</name>        <value>jdbc:mysql://HadoopMaster:3306/hiveDB?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8</value></property><property>        <name>javax.jdo.option.ConnectionDriverName</name>        <value>com.mysql.jdbc.Driver</value></property><property>        <name>javax.jdo.option.ConnectionUserName</name>        <value>bee</value></property><property>        <name>javax.jdo.option.ConnectionPassword</name>        <value>123456</value></property><property>        <name>hive.metastore.warehouse.dir</name>      <value>hdfs://HadoopMaster:9000/hive/warehouse</value>        <description>location of default database for the warehouse</description></property><property>        <name>javax.jdo.option.Multithreaded</name>        <value>true</value></property></configuration>

PS:hive.exec.scratchdir->执行HIVE操作访问HDFS用于临时存储数据的目录。目录权限设置为733。我这儿用的是/tmp/hive目录。
javax.jdo.option.ConnectionURL -> 设置hive通过JDBC链接MYSQL数据库存储metastore存放的数据库地址
javax.jdo.option.ConnectionDriverName ->设置链接mysql的驱动名称。
javax.jdo.option.ConnectionUserName -> 设置存储metastore内容的数据库用户名
javax.jdo.option.ConnectionPassword -> 设置存储metastore内容的数据库用户名密码
hive.metastore.warehouse.dir -> 设置用于存放hive元数据的目录位置,改配置有三种模式,内嵌模式,本地元数据,远程元数据。具体解析见hive配置指北

②配置hive-env.sh,这个文件也是没有的,是hive-env.sh.template复制过来的

sudo cp hive-env.sh.template hive-env.shsudo vim hive-env.sh将jdk的路径和hadoop的家目录导入到这个文件中:export JAVA_HOME=/usr/lib/jvm/java-7-oracleexport HADOOP_HOME=/usr/local/hadoop

注意:这时也不能启动hive服务,因为hadoop的版本是2.6.0,hive的版本是1.2.1,HIVE_HOME/lib目录下的jline-2.12.jar比HADOOP_HOME/share/hadoop/yarn/lib下的jline-0.9.94.jar版本高,版本不一致导致。所以将HIVE_HOME/lib目录下的jline-2.12.jar复制到HADOOP_HOME/share/hadoop/yarn/lib下,并将jline-0.9.94.jar删除,然后重启hadoop。

sudo cp /usr/local/apache-hive-1.2.1-bin/lib/jline-2.12.jar /usr/local/hadoop/share/hadoop/yarn/lib/sudo rm jline-0.9.94.jar

6.安装完成验证

输入hive,进入命令行,能正常进入没有抛异常,则证明安装基本完成,以下是验证截图
这里写图片描述
这里写图片描述

0 0
原创粉丝点击