Hive 在linux部署全流程

Hive是数据仓库绕不开的一个组件,这里记录下自己部署到linux所需要的命令和需要注意的问题。当然因为这是很久之前的笔记了,很多细节的操作可能没记录下。仅供参考。

1.下载安装包

官网下载地址:hive.apache.org/downloads.h...

要注意hive需要对应的版本的hadoop支持。

2.解压、重命名

需要将我们的安装包解压,当然重命名这步可选

csharp 复制代码
    [root@dave software]# tar -zxvf ./apache-hive-3.1.2-bin.tar.gz -C ./hive
    [root@dave hive]# mv apache-hive-3.1.2-bin/ hive-3.1.2

3.配置环境变量

我因为是自己用,直接在/etc/profile设置的系统变量。

bash 复制代码
    #HIVE_HOME
    export HIVE_HOME=/root/software/hive-3.1.2
    export PATH=${HIVE_HOME}/bin:$PATH

最后一定不要忘了,让你的变量生效。

csharp 复制代码
    [root@dave hive]# source /etc/profile

4.查看hive运行的日志:

ini 复制代码
    property.hive.log.level = INFO
    property.hive.root.logger = DRFA
    property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}
    property.hive.log.file = hive.log
    property.hive.perflogger.log.level = INFO

从以上代码可以看到,日志位置在:/tmp/root

5.hive启动:

csharp 复制代码
[root@dave bin]# hive

这里我出现了启动报错:

css 复制代码
Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

这里就是因为我们没有元数据库metadata

6.hive初始化元数据库(metastore):

这里一般有两个可以选择,一个是derby

这个有bug,一般用于测试,因为他只有一个线程可以连接,不可能正常使用。

复制代码
schematool -dbType derby -initSchema

第二个就是最常用的mysql了。下面就是初始化步骤:

1.创建 hive-site.xml,填入

xml 复制代码
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://dave/myhive?createDatabaseIfNotExist=true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>
</configuration>

上面的jdbc:mysql://dave/myhive?createDatabaseIfNotExist=true搞成你自己的mysql和对应的为hive创建的表。 root123456也记得换成你的mysql的用户名和密码

2.关联mysql driver jar:上传mysql-connector-java-5.1.27-bin.jar

我这里提供一个吧。找到mysql的文件夹,找那个jar包 链接:pan.baidu.com/s/1Rh00kYKM... 提取码:1024

bash 复制代码
    [root@dave lib]# pwd
    /root/software/hive/hive-3.1.2/lib
    [root@dave lib]# rz

在这个位置,上传这个jar包就行

3.初始化mysql:

复制代码
schematool -dbType mysql -initSchema

这时候在mysql其实就可以看见myhive了:

sql 复制代码
    [root@dave conf]# mysql -uroot -p123456
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | myhive             |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)
    
    mysql>

然后我们再启动hive,也不再报错了:

相关推荐
鱼很腾apoc10 分钟前
【Linux】第7期 进程间通信 (IPC) 详解:管道 (匿名 / 命名) + System V
linux·服务器·c语言·学习·进程间通信·ipc
毒爪的小新11 分钟前
踩坑实录 | RAG知识库完整搭建-Milvus2.4+BGE大中文AI模型嵌入
linux·人工智能·ai·milvus·rag
2023自学中1 小时前
imx6ull 开发板, mame 模拟器,运行游戏 测试
linux·游戏·嵌入式·开发板
是个西兰花1 小时前
Linux:进程信号
linux·运维·服务器
CS创新实验室1 小时前
从“业余爱好”到数字基石:Linux 发展史及带给技术人的成长启示
linux·运维·服务器
Biomamba生信基地1 小时前
FindNeighbors()函数报错object ‘CsparseMatrix_validate’ not found
linux·运维·服务器·生物信息学
orion572 天前
Missing Semester Class1:course overview and introduction of shell
linux
用户120487221612 天前
Linux驱动编译与加载
linux·嵌入式
用户805533698032 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698032 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式