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,也不再报错了:

相关推荐
小糖学代码8 小时前
LLM系列:1.python入门:3.布尔型对象
linux·开发语言·python
shizhan_cloud8 小时前
Shell 函数的知识与实践
linux·运维
Deng8723473488 小时前
代码语法检查工具
linux·服务器·windows
霍夫曼10 小时前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript
月熊11 小时前
在root无法通过登录界面进去时,通过原本的普通用户qiujian如何把它修改为自己指定的用户名
linux·运维·服务器
大江东去浪淘尽千古风流人物12 小时前
【DSP】向量化操作的误差来源分析及其经典解决方案
linux·运维·人工智能·算法·vr·dsp开发·mr
赖small强13 小时前
【Linux驱动开发】NOR Flash 技术原理与 Linux 系统应用全解析
linux·驱动开发·nor flash·芯片内执行
IT运维爱好者14 小时前
【Linux】LVM理论介绍、实战操作
linux·磁盘扩容·lvm
LEEE@FPGA14 小时前
ZYNQ MPSOC linux hello world
linux·运维·服务器
郝学胜-神的一滴14 小时前
Linux定时器编程:深入理解setitimer函数
linux·服务器·开发语言·c++·程序人生