基于hadoop2.6.0的hive-1.2.1安装

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/local
sudo 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/bin
source /etc/profile  ->使配置文件生效

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

sudo apt-get install mariadb-server mariadb-client
sudo service mysql start
sudo 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.sh
sudo vim hive-env.sh
将jdk的路径和hadoop的家目录导入到这个文件中:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export 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,进入命令行,能正常进入没有抛异常,则证明安装基本完成,以下是验证截图
这里写图片描述
这里写图片描述

### 回答1: 这个错误通常意味着Hive不能找到所需的执行jar包。你可以尝试以下几个步骤: 1. 检查Hive的配置是否正确,并确保`hive-exec-*.jar`文件存在于`/opt/module/apache-hive-1.2.1-bin/lib/`目录中。如果不存在,你可能需要重新安装Hive。 2. 检查你的环境变量是否正确设置。确保`HIVE_HOME`指向正确的Hive安装目录,并将`$HIVE_HOME/bin`添加到`$PATH`中。 3. 如果你正在使用Hadoop集群,请确保HiveHadoop的版本兼容。不同版本的Hive可能需要不同版本的Hadoop支持。 4. 如果你正在使用远程Hive服务器,请确保你的客户端能够访问Hive服务器,并且Hive服务器上的配置正确。 如果以上步骤都没有解决问题,你可能需要查看Hive的日志文件,以确定更具体的错误信息。 ### 回答2: 在Hive中执行任务时,可能会遇到"Missing Hive Execution Jar"错误,表示Hive无法找到所需的hive-exec-*.jar文件。这个问题通常发生在缺少Hive的执行文件或文件位置错误的情况下。 要解决这个问题,可以按照以下步骤进行操作: 1. 首先,确保在指定的路径/opt/module/apache-hive-1.2.1-bin/lib/中存在hive-exec-*.jar文件。如果文件确实存在,那么可能是权限问题导致Hive无法读取该文件。可以使用chmod命令修改文件权限,确保Hive可以访问该文件。 2. 如果文件确实存在,并且权限设置正确,但Hive仍然无法找到该文件,可以尝试重新设置Hive的环境变量。在Hive的配置文件中(通常是hive-env.sh或hive-site.xml),检查hive.exec.jar路径的设置。确保该路径正确地指向hive-exec-*.jar文件所在的位置。 3. 最后,可以通过重新安装Hive来解决该问题。在重新安装之前,确保彻底卸载Hive,并删除掉相关的文件和目录,然后重新安装最新版本的Hive。 总之,解决"Missing Hive Execution Jar"错误的关键是确保hive-exec-*.jar文件存在且位置正确,并检查Hive的环境变量和配置文件中的设置是否正确。如果问题仍然存在,可以尝试重新安装Hive来解决该问题。 ### 回答3: 缺少Hive执行Jar包:/opt/module/apache-hive-1.2.1-bin/lib/hive-exec-*.jar。 这个错误表示在指定的路径中缺少Hive执行Jar包。Hive使用这个Jar包来执行Hive查询和任务。 要解决这个问题,首先需要确认是否正确安装Hive,并且路径设置正确。如果路径不正确,可以在Hive的配置文件中更正路径。 另外,还需要确认是否存在这个Jar包,并且该Jar包的版本与Hive的版本兼容。需要确保Hive执行Jar包与所使用的Hive版本匹配,否则可能会出现兼容性问题。 如果确保了路径和版本都是正确的,但依然缺少该Jar包,可以尝试重新下载并安装Hive。在安装过程中,确保将Hive执行Jar包正确地放置在指定的路径下。 如果还是无法解决问题,可能需要查看Hive的日志文件以获取更多详细的错误信息。根据日志中的具体错误,可以进一步排查可能的原因,并采取相应的解决措施。 总结来说,缺少Hive执行Jar包的错误是由于路径设置不正确或Jar包版本不兼容引起的。通过检查路径配置、重新下载安装和查看日志文件等步骤,可以解决这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值