Hive的安装与部署(MySQL作为元数据库)

Hive的安装与部署(MySQL作为元数据)
开始之前确保Hadoop环境已经启动,确保Linux下的MySQL已经安装好

Hadoop集群环境和MYSQL可以参考我另外几篇文章

1. Docker安装mysql5.7
2. (超详细版) Linux下安装配置Hadoop2.7.7集群环境搭建—基础环境配置
3. (超详细版) Linux下安装配置Hadoop2.7.7集群环境搭建—部署Hadoop

一、安装Hive

(1)下载安装包

  1. 可从apache上下载hive安装包:http://mirror.bit.edu.cn/apache/hive/

  2. 使用wget

cd /usr/local/
wget http://mirror.bit.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz

(2)解压并改名:

tar -zxf apache-hive-1.2.2-bin.tar.gz
mv apache-hive-1.2.2-bin hive

(3)修改环境变量

vi /etc/profile

添加以下配置

#hive
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

(4)刷新配置并查看hive

source /etc.profile
hive --version

如图表示成功
在这里插入图片描述

二、配置Hive

  1. 进入conf目录
 cd /usr/local/hive/conf/
  1. 复制hive-default.xml.template,改名为hive-site.xml (必须)
cp hive-default.xml.template hive-site.xml
  1. 修改hive-site.xml:
vi hive-site.xml 
  1. 找到源文件的ConnectionUserName(数据库的用户名)、ConnectionPassword(密码)、
    ConnectionURL(URL地址)、ConnectionDriverName(驱动名称),改为自己的数据库配置
	<property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>
   <property>
        <name>javax.jdo.option.ConnectionURL</name>mysql
        <value>jdbc:mysql://192.168.1.68:3306/hive?createDatabaseIfNotExist=true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
  1. 下载mysql的驱动程序到hive/lib下面
cd /usr/local/hive/lib/
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.46/mysql-connector-java-5.1.46.jar
  1. 初始化数据库(在此之前需要创建mysql下的hive数据库)
schematool -dbType mysql -initSchema
  1. 启动hive
hive
  1. 需要知道现在的hadoop中的HDFS存了什么
hadoop fs -lsr /

在这里插入图片描述

  1. 创建库
create database test_hive;
show databases;

在这里插入图片描述

  1. 查询一下HDFS有什么变化
    在这里插入图片描述

三、报错

安装Hive过程中,出现Exception in thread “main”
java.lang.IllegalArgumentException: java.net.URISyntaxExceptiion:
java.net.URISyntaxException: Relative path in absolute URI:
KaTeX parse error: Expected '}', got 'EOF' at end of input: …a.io.tmpdir%7D/%7Bsystem:user.name%7D
在这里插入图片描述
是因为hive-site.xml有三处地方未配置好。或者原配置没有目录。配置一些临时文件目录。

  1. 打开hive配置。路径 hive下的conf的hive-site.xml。
cd /usr/local/hive/conf/
vi hive-site.xml
  1. 修改以下三处(认真查找,不要找错了)
第一处

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

第二处

<property>
<name>hive.downloaded.resources.dir</name>
<value>/tmp</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>

第三处

<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/tmp/operation_logs</value>
<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>

这样就成功了。
在这里插入图片描述

初始化数据库失败报错org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.

在这里插入图片描述
请检查驱动是否正确下载,数据库是否正确创建,未创建请手动创建

有什么疑问欢迎留言!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaotian_dev

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值