Centos7.x 搭建部署 Hive 3.1.2单台+集群

2023-10-19 23:58

本文主要是介绍Centos7.x 搭建部署 Hive 3.1.2单台+集群,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.基础环境Hadoop3.2.2集群

mysql数据库
基于centos部署hadoop集群

2.Hive 的安装

1.下载hive安装文件

wget https://mirrors.bfsu.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

2.下载后进行解压 tar -zxf
3.进行配置文件修改,进入conf文件夹

cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
cp hive-log4j2.properties.template hive-log4j2.properties

4.修改hive-site.xml,一下mysqlip需替换,以及密码信息

<configuration><property><name>hive.metastore.schema.verification</name><value>false</value></property><property><name>hive.metastore.warehouse.dir</name><value>/data/hive/warehouse</value></property><property><name>hive.exec.mode.local.auto</name><value>false</value><description> Let Hive determine whether to run in local mode automatically </description></property><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://mysqlip:3306/hive??useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;allowMultiQueries=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>root</value></property><!-- 显示表的列名 --><property><name>hive.cli.print.header</name><value>true</value></property><!-- 显示数据库名称 --><property><name>hive.cli.print.current.db</name><value>true</value></property><property><name>hive.exec.local.scratchdir</name><value>/data/apache-hive-3.1.2/tmp/</value><description>Local scratch space for Hive jobs</description></property><property><name>hive.downloaded.resources.dir</name><value>/data/apache-hive-3.1.2/tmp/</value><description>Temporary local directory for added resources in the remote file system.</description></property>
</configuration>

5.修改hive-env.sh

​export HADOOP_HEAPSIZE=1024
HADOOP_HOME=/data/hadoop-3.2.2
export HIVE_CONF_DIR=/data/apache-hive-3.1.2/conf

6.修改hive-log4j2.properties

property.hive.log.dir = /data/apache-hive-3.1.2/logs

7.编辑bin目录下的hive-config.sh

export JAVA_HOME=/usr/java/java-1.8.0
export HADOOP_HOME=/data/hadoop-3.2.2
export HIVE_HOME=/data/apache-hive-3.1.2

8.修改环境变量

export HADOOP_HOME="/data/hadoop-3.2.2"
export HIVE_HOME="/data/apache-hive-3.1.2"export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
export CLASSPATH=$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/common/lib/*:$hive_HOME/lib

9.下载mysql驱动包放到lib目录下

wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.48/mysql-connector-java-5.1.48.jar

10.检查guava版本是否一直,不一致则统一替换为高版本,不然初始化sql会报错
Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)
jar包目录
/apache-hive-3.1.2-bin/lib/
hadoop/share/hadoop/common/lib/
这里将hive的guava的jar包删除,从hadoop的进行复制

11.执行数据库初始化命令

schematool -initSchema -dbType mysql

Initialization script completed
schemaTool completed
表示初始化成功,打开数据库,可以看到相关表信息。

12.启动hive,执行命令

hive

三.基础命令

1.查看所有数据库列表

show databases;

2.创建数据库

create database db_test;

3.查看创建的数据库在 HDFS 中的信息(随意找一个 HDFS 客户端节点)

hadoop fs -ls /data/hive/warehouse
hdfs dfs -ls /user/hive/warehouse

4.创建表

use db_test;
create table t_test(id string,name string,age int);
insert into table_test values ('1000','名称',21);
select * from table_test;

四.集群部署

1.在hive-site.xml添加以下配置

  <property><name>hive.server2.active.passive.ha.enable</name><value>true</value><description>Whether HiveServer2 Active/Passive High Availability be enabled when Hive Interactive sessions are enabled.This will also require hive.server2.support.dynamic.service.discovery to be enabled.</description></property>

2.拷贝hive安装包到其他服务器

scp -r apache-hive-3.1.2 hadoop2:/data
scp -r apache-hive-3.1.2 hadoop3:/data

3.将其他两台的环境变量保持和当前一直
4.hiveserver2 服务启动

[root@master ~]# nohup hive --service hiveserver2 --hiveconf hive.server2.thrift.port=10001 &

5.访问控制台
http://hadoop1:10002/

这篇关于Centos7.x 搭建部署 Hive 3.1.2单台+集群的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/243211

相关文章

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv