ubuntu mysql hive_Ubuntu16.04安装hive2.3.3

/*

hive是一个数据仓库,可以看做是Hadoop的客户端,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,也可以将sql语句转换为MapReduce任务进行运行。要注意的是,hive并不是一个数据库,也不存储实际数据,实际数据都存储在hdfs中,hive只是简化了对数据的操作。

*/

0.前提条件

hive必须在Hadoop环境下使用,因此要先安装Hadoop,我已经安装好了Hadoop2.7.6,系统是Ubuntu16.04,使用的是在服务器上建立的虚拟机,一主二从结构,主节点8核8G内存,从节点4核4G内存。

1.下载hive安装包并配置环境变量

到https://mirrors.tuna.tsinghua.edu.cn/apache/hive/下载hive最新版本apache-hive-2.3.3-bin.tar.gz,截至今天(2018.07.29)hive最新版本是2.3.3。下载完成后解压,重命名为hive,并剪切到/usr/local目录下。

解压

tar -zxvf apache-hive-2.3.3-bin.tar.gz

重命名

mv apache-hive-2.3.3-bin hive

移动

mv hive /usr/local

配置环境变量

vim /root/.bashrc

增加

HIVE

export HIVE_HOME=/usr/local/hive

export PATH=PATH:HIVE_HOME/bin

使配置生效

source ~/.bashrc

2.安装MySQL

虽然hive并不存储实际的业务数据,但是hive要管理hdfs中的数据就要对这些数据建立一些类似于索引、映射的玩意,以便于hive识别哪个数据在哪一块,这些映射的数据成为元数据(metadata)。hive中自带的存储元数据的关系型数据库是Derby,但是这个数据库极其不稳定,因此安装MySQL来代替Derby存储元数据。在Ubuntu上安装MySQL十分简单。

安装,在安装过程中会提示输入root密码

apt-get install mysql-server

配置MySQL

mysql_secure_installation

测试

mysql -u root -p

在mysql命令行下输入show databases;应该会看到如图所示的内容。

c1eefd03b850?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image

3.配置hive

将/conf文件夹下的hive-default.xml.template 改为 hive-default.xml,将hive-env.sh.template改为hive-env.sh

cp hive-default.xml.template hive-default.xml

cp hive-env.sh.template hive-env.sh

修改hive环境文件hive-env.sh,在其中按实际情况添加以下三句话

Hadoop的位置

export HADOOP_HOME=/usr/local/hadoop

hive的conf目录位置

export HIVE_CONF_DIR=/usr/local/hive/conf

hive的lib目录位置

export HIVE_AUX_JARS_PATH=/usr/local/hive/lib

你要是开心也可以添加jdk的安装目录。下面修改配置文件hive-env.sh,主要是和MySQL有关的四项。

javax.jdo.option.ConnectionURL

jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true

JDBC connect string for a JDBC metastore

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

Driver class name for a JDBC metastore

javax.jdo.option.ConnectionUserName

root

username to use against metastore database

javax.jdo.option.ConnectionPassword

root

password to use against metastore database

以上四项顾名思义分别是MySQL的URL地址、MySQL驱动的名字、MySQL的用户名、MySQL的密码。然后要修复一些隐藏的坑。在hive下新建一个文件夹tmp,然后在hive-site.xml中增加下面配置。没有这个配置在启动hive时会报错,相信我。

system:java.io.tmpdir

/usr/local/hive/tmp

system:user.name

root

更详细的配置可以参考https://blog.csdn.net/csj941227/article/details/78170883和https://blog.csdn.net/yamaxifeng_132/article/details/78821960这两篇。

4.相关且必须的工作

下载一个mysql的连接jdbc jar包到hive的lib目录下,下载地址https://dev.mysql.com/downloads/connector/j/

在hdfs上建立一些hive-site.xml中配置的仓库地址并授权

bin/hadoop fs -mkdir -p /user/hive/warehouse

bin/hadoop fs -mkdir -p /user/hive/tmp

bin/hadoop fs -mkdir -p /user/hive/log

bin/hadoop fs -chmod -R 777 /user/hive/warehouse

bin/hadoop fs -chmod -R 777 /user/hive/tmp

bin/hadoop fs -chmod -R 777 /user/hive/log

5.初始化

在hive的bin目录下

schematool -initSchma -dbType mysql

如果执行不报错,会显示completed,此时查看MySQL的数据库会多出来一个hive,hive数据库中会有很多表,这些就是hive初始化的表。

6.启动hive

必须要先启动Hadoop且没有错误,在hive/bin目录中输入hive,就会进入hive命令行,输入show databases;没有抛出异常说明hive安装成功并且成功启动。

c1eefd03b850?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

c1eefd03b850?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

hear me roar!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值