Kubernetes与大数据之五:在Kubernetes运行hive

基于Kubernetes部署Spark:spark on kubernetes spark是一种基于内存的快速、通用、可扩展的的数据分析计算引擎。基于kubernetes的spark搭建 阅读详情

一、前言

hive可以基于hadoop mr或者Spark进行高层次的数据处理。

安装之前先保证hadoop的目录可以为root用户读写:

hadoop fs -chown  root:root /

转载自https://blog.youkuaiyun.com/cloudvtech

 

二、构建镜像

2.1 下载依赖

mkdir -p hive/image-build
cd hive/image-build
wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.3/apache-hive-2.3.3-bin.tar.gz
download mysql-connector-java-5.1.47.tar.gz 
tar -zxvf mysql-connector-java-5.1.47.tar.gz 
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.9.1/hadoop-2.9.1.tar.gz

 

2.2 构建hive镜像

Dockerfile

FROM centos:7.5.1804
ADD jdk-8u181-linux-x64.tar.gz /opt
ADD hadoop-2.9.1.tar.gz /opt
ADD apache-hive-3.0.0-bin.tar.gz /opt
RUN yum install -y which &&  mv /opt/apache-hive-3.0.0-bin /opt/apache-hive-3.0.0
ADD mysql-connector-java-5.1.47.jar /opt/apache-hive-3.0.0/lib
ENV JAVA_HOME /opt/jdk1.8.0_181
ENV HADOOP_HOME /opt/hadoop-2.9.1
ENV HADOOP_CONF_DIR /opt/hadoop-2.9.1/etc/hadoop
ENV HIVE_HOME /opt/apache-hive-3.0.0
ENV PATH $JAVA_HOME/bin:$PATH

构建

docker build -t hive .
docker tag hive 172.2.2.11:5000/hive
docker push 172.2.2.11:5000/hive

2.3 构建DB tool镜像

安装gradle并编译DB tool

git clone https://github.com/chenlein/database-tools.git
cd database-tools/
unzip  gradle-4.10.2-bin.zip
mkdir /opt/gradle
mv gradle-4.10.2 /opt/gradle/
edit  build.gradle to remove dm driver
"compile group: 'dm', name: 'Dm7JdbcDriver', version: '7.1', classifier: 'jdk17-20170808'"

add in /etc/profile
export PATH=.:/opt/gradle/gradle-4.10.2/bin:$PATH

gradle --version
gradle build
ls build/distributions/database-tools-1.0-SNAPSHOT.tar 
cp build/distributions/database-tools-1.0-SNAPSHOT.tar ./

Dockerfile

FROM java:8
CMD ["mkdir", "-p", "/root/db_tools"]
WORKDIR /root/db_tools
ADD database-tools-1.0-SNAPSHOT.tar .
RUN ["chmod", "+x", "./database-tools-1.0-SNAPSHOT/bin/database-tools"]
CMD ["./database-tools-1.0-SNAPSHOT/bin/database-tools"]

编译镜像

docker build -t database-tools:1.0-SNAPSHOT .
docker tag database-tools:1.0-SNAPSHOT 172.2.2.11:5000/database-tools:1.0-SNAPSHOT
docker push 172.2.2.11:5000/database-tools:1.0-SNAPSHOT

转载自https://blog.youkuaiyun.com/cloudvtech

 

三、部署hive

3.1 部署local volume用于hive部署的PVC

local-volumes.yaml 

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: hive-data-1
  labels:
    type: local
    app: hive
spec:
  capacity:
    storage: 100Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: /home/hive/data1
  persistentVolumeReclaimPolicy: Recycle

3.2 部署mysql服务

mysql.yaml

apiVersion: v1
kind: Secret
metadata:
  name: hive-metadata-mysql-secret
  labels:
    app: hive-metadata-mysql
type: Opaque
data:
  mysql-root-password: RGFtZW5nQDc3Nw==
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: hive-metadata-mysql
  name: hive-metadata-mysql
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: hive-metadata-mysql
  template:
    metadata:
      labels:
        app: hive-metadata-mysql
    spec:
      initContainers:
        - name: remove-lost-found
          image: busybox:1.29.2
          imagePullPolicy: IfNotPresent
          command: ["rm", "-rf", "/var/lib/mysql/lost+found"]
          volumeMounts:
            - name: data
              mountPath: /var/lib/mysql
      containers:
        - name: mysql
          image: mysql:5.7
          volumeMounts:
            - name: data
              mountPath: /var/lib/mysql
          ports:
            - containerPort: 3306
              protocol: TCP
          env:
            - name: MYSQL_ROOT_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: hive-metadata-mysql-secret
                  key: mysql-root-password
      volumes:
        - name: data
          emptyDir: {}
---
kind: Service
apiVersion: v1
metadata:
  labels:
    app: hive-metadata-mysql
  name: hive-metadata-mysql-service
spec:
  ports:
    - name: tcp
      port: 3306
      targetPort: 3306
  selector:
    app: hive-metadata-mysql
  type: NodePort

3.3 部署hive配置

hive-config.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: hive-custom-config-cm
  labels:
    app: hive
data:
  bootstrap.sh: |-
    #!/bin/bash
    set -x
    cd /root/bootstrap
    # Apply custom config file context
    for cfg in ./*; do
      if [[ ! "$cfg" =~ bootstrap.sh ]]; then
        echo $cfg
        cat $cfg
        cat $cfg > $HIVE_HOME/conf/${cfg##*/}
      fi
    done
    # Replace hive metadata password
    sed -i 's/${HIVE_METADATA_PASSWORD}/'$HIVE_METADATA_PASSWORD'/g' `grep '${HIVE_METADATA_PASSWORD}' -rl $HIVE_HOME/conf`
    # initSchema
    echo "step 1"
    #if [[ ! -e $HADOOP_CONF_DIR/hive-metastore-initialization.out ]]; then
      echo "step 2"
      $HADOOP_HOME/bin/hadoop fs -mkdir -p hdfs://172.2.2.11:9000/tmp
      $HADOOP_HOME/bin/hadoop fs -mkdir -p hdfs://172.2.2.11:9000/user/hive/warehouse
      $HADOOP_HOME/bin/hadoop fs -chmod g+w hdfs://172.2.2.11:9000/tmp
      $HADOOP_HOME/bin/hadoop fs -chmod g+w hdfs://172.2.2.11:9000/user/hive/warehouse
      $HIVE_HOME/bin/schematool -dbType mysql -initSchema --verbose &> $HADOOP_CONF_DIR/hive-metastore-initialization.out
    #fi
    echo "step 3"
    $HIVE_HOME/bin/hiveserver2 &
    $HIVE_HOME/bin/hive --service metastore &
    cp $HIVE_HOME/conf/hive-env.sh.template $HIVE_HOME/conf/hive-env.sh && echo "export HADOOP_CLIENT_OPTS=\"-Xmx512m -XX:MaxPermSize=1024m \$HADOOP_CLIENT_OPTS\"" >> $HIVE_HOME/conf/hive-env.sh
    # keep running
    sleep infinity
  hive-site.xml: |-
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
      <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
      </property>
      <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>${HIVE_METADATA_PASSWORD}</value>
      </property>
      <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hive-metadata-mysql-service:3306/metastore?createDatabaseIfNotExist=true&useSSL=false</value>
      </property>
      <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
      </property>
      <property>
        <name>system:java.io.tmpdir</name>
        <value>/tmp</value>
      </property>
      <property>
        <name>system:user.name</name>
        <value>hive</value>
      </property>
      <property>
        <name>hive.server2.authentication</name>
        <value>NOSASL</value>
      </property>
      <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
      </property>
      <property>
        <name>datanucleus.fixedDatastore</name>
        <value>false</value>
      </property>
      <property>
        <name>datanucleus.autoCreateSchema</name>
        <value>true</value>
      </property>
      <property>
        <name>datanucleus.autoCreateTables</name>
        <value>true</value>
      </property>
      <property>
        <name>datanucleus.autoCreateColumns</name>
        <value>true</value>
      </property>
      <property>
        <name>datanucleus.schema.autoCreateAll</name>
        <value>true</value>
        <description>creates necessary schema on a startup if one doesn't exist. set this to false, after creating it once</description>
      </property>
    </configuration>

3.4 部署hive

hive-deploy.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: hive-metastore-database
  labels:
    app: hive
data:
  execute.sql: |-
    -- create database
    CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    -- create user and grant authorization
    GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '${IDENTIFIED}';
---
apiVersion: v1
kind: Secret
metadata:
  name: hive-metastore-secret
  labels:
    app: hive
type: Opaque
data:
  database-dba-password: RGFtZW5nQDc3Nw==
  database-user-password: RGFtZW5nQDc3Nw==
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hive
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: hive
  template:
    metadata:
      labels:
        app: hive
    spec:
      nodeName: k8s-node-01
      initContainers:
        - name: init-dababase
          image:  172.2.2.11:5000/database-tools:1.0-SNAPSHOT
          env:
            - name: DRIVER_NAME
              value: "com.mysql.jdbc.Driver"
            - name: URL
              value: "jdbc:mysql://hive-metadata-mysql-service:3306/mysql?useUnicode=true&characterEncoding=utf8&useSSL=false"
            - name: USERNAME
              value: "root"
            - name: PASSWORD
              valueFrom:
                secretKeyRef:
                  name: hive-metastore-secret
                  key: database-dba-password
            - name: IDENTIFIED
              valueFrom:
                secretKeyRef:
                  name: hive-metastore-secret
                  key: database-user-password
          volumeMounts:
            - name: init-dababase-volume
              mountPath: /root/db_tools/script
      containers:
        - name: hive
          image: 172.2.2.11:5000/hive
          command: ["bash", "-c", "cp /root/bootstrap/bootstrap.sh /tmp/ && chmod +x /tmp/bootstrap.sh && /tmp/bootstrap.sh"]
          ports:
            - containerPort: 10000
            - containerPort: 10002
            - containerPort: 9083
          env:
            - name: HADOOP_CONF_DIR
              value: /opt/hadoop-2.9.1/etc/hadoop
            - name: HIVE_METADATA_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: hive-metastore-secret
                  key: database-user-password
          volumeMounts:
            - name: hadoop-config-volume
              mountPath: /etc/hadoop
            - name: hive-custom-config-volume
              mountPath: /root/bootstrap
          readinessProbe:
            initialDelaySeconds: 20
            periodSeconds: 5
            tcpSocket:
              port: 10000
      volumes:
        - name: hadoop-config-volume
          persistentVolumeClaim:
            claimName: hive-data
        - name: hive-custom-config-volume
          configMap:
            name: hive-custom-config-cm
        - name: init-dababase-volume
          configMap:
            name: hive-metastore-database
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: hive-data
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Gi
---
kind: Service
apiVersion: v1
metadata:
  labels:
    app: hive
  name: hive-service
spec:
  ports:
    - port: 10000
      targetPort: 10000
      name: thrift
    - port: 10002
      targetPort: 10002
      name: webui
    - port: 9083
      targetPort: 9083
      name: metastore
  selector:
    app: hive
  type: NodePort

转载自https://blog.youkuaiyun.com/cloudvtech

四、查看部署结果

POD 

[root@k8s-master-01 hive]# kubectl get pods | grep hive
hive-6b8b7f894d-lxmhr                              1/1       Running     0          48m
hive-metadata-mysql-7d5784ffd-blng4                1/1       Running     0          49m

service 

kubectl get svc | grep hive-service
hive-service                                          NodePort    10.96.111.20    <none>        10000:32285/TCP,10002:32704/TCP,9083:31567/TCP   46m

hdfs

[hadoop@k8s-node-01 hive]$ hadoop fs -ls  -R /tmp
[hadoop@k8s-node-01 hive]$ hadoop fs -ls  -R /user
drwxr-xr-x   - root root          0 2018-10-04 06:57 /user/hive
drwxrwxr-x   - root root          0 2018-10-04 06:57 /user/hive/warehouse

GUI

转载自https://blog.youkuaiyun.com/cloudvtech

五、运行

 

kubectl exec -it hive-6b8b7f894d-lxmhr  bash

[root@hive-6b8b7f894d-lxmhr /]# cd /opt/apache-hive-3.0.0/bin
[root@hive-6b8b7f894d-lxmhr bin]#  ./hive shell
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024m; support was removed in 8.0
which: no hbase in (/opt/jdk1.8.0_181/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024m; support was removed in 8.0
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/apache-hive-3.0.0/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hadoop-2.9.1/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Hive Session ID = e42fe4b6-8d29-49ab-87bb-9060b0d17679

Logging initialized using configuration in jar:file:/opt/apache-hive-3.0.0/lib/hive-common-3.0.0.jar!/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive> show tables;
OK
Time taken: 0.641 seconds
hive> create table abc (a int);
OK
Time taken: 0.633 seconds
hive> insert into abc values (1);
Query ID = root_20181003225917_19cdc221-c910-4704-8271-46363aa7e8d2
Total jobs = 3
Launching Job 1 out of 3
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
Job running in-process (local Hadoop)
2018-10-03 22:59:21,240 Stage-1 map = 100%,  reduce = 100%
Ended Job = job_local324096192_0001
Stage-4 is selected by condition resolver.
Stage-3 is filtered out by condition resolver.
Stage-5 is filtered out by condition resolver.
Moving data to directory file:/user/hive/warehouse/abc/.hive-staging_hive_2018-10-03_22-59-17_274_1077030636808234790-1/-ext-10000
Loading data to table default.abc
MapReduce Jobs Launched: 
Stage-Stage-1:  HDFS Read: 0 HDFS Write: 0 SUCCESS
Total MapReduce CPU Time Spent: 0 msec
OK
Time taken: 4.403 seconds
hive> select * from abc;
OK
1
Time taken: 0.176 seconds, Fetched: 1 row(s)
hive> show tables;
OK
abc
Time taken: 0.03 seconds, Fetched: 1 row(s)
hive>

转载自https://blog.youkuaiyun.com/cloudvtech

【容器系统】之 大数据容器化-基于Kubernetes构建现代大数据系统 Apache Spark 在大数据处理与分析领域,Apache Spark无疑占据着重要地位。它的特点是基于内存计算,支持各类资源管理平台,其中以YARN最为常见,同时又与Hadoop平台集成,在集群节点以HDFS作为分布式文件存储系统。 我们可以先看一下搭建一个常见的Apache Spark大数据平台需要哪些步骤: 1.安装Hadoop集群 2.配置HDFS 3.配置YARN 4.安装Spark... 阅读详情

相关推荐

云原生架构设计与实现:Spark 在 K8s 上运行的基本原理

下图展示了 spark-k8s-cli 的提交和运行原理。使用 spark-k8s-cli 在我们的生产环境中,我们使用 spark-k8s-cli 来提交任务。它融合了 spark-submit 和 spark-operator 两种作业提交方式的优点,所有作业都能通过 spark-operator 管理,并支持交互式 spark-shell 和本地依赖的提交。通过这些增强和定制化功能,spark-k8s-cli 不仅提高了 Spark 作业在 K8s 上的运行效率,也提升了整个系统的稳定性和可管理性。

muliangsheng1988的博客 2305

【云原生】Hive on k8s 环境部署

Hive是基于Hadoop的一个数据仓库(Data Aarehouse,简称数仓、DW),可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。是用于存储、分析、报告的数据系统。大数据Hadoop之——数据仓库HiveHive 架构Hive 客户端架构。

匠人精神,持之以恒! 2889

K8s 环境下. DataGrip连接 kerberos认证的hive

hive kerberos datargip

yy的博客 1827

k8s中部署hive,包括客户端及服务端

推送好之后,在cube studio平台上,新建一个pipeline,使用自定义镜像模板,填写镜像为ccr.ccs.tencentyun.com/cube-studio/hadoop-hive:v3.3.2-3.1.3,debug,检查目录对不对,检查环境变量是否正确,在命令行输入hive命令,看是否能正常执行。环境变量写在/etc/profile更好,因为~/.bashrc是临时的,重启一下pod就复原了,但/etc/profile是全局的,避免一直要重复设置。登录ui界面,可以验证是否成功。

小白白的博客 2178

云原生大数据架构:Kubernetes在数据平台中的应用

传统大数据平台(如Hadoop生态)常被戏称为“资源巨兽”:一个Spark任务可能占用整台服务器,但实际利用率不足30%;扩容需要手动新增节点,耗时数小时;不同组件(Hive、Flink、Kafka)的运维脚本各不相同,像“各自为战的独立王国”。本文将聚焦如何用Kubernetes重构大数据平台,解决上述痛点,覆盖从核心概念到实战部署的全链路知识。本文将按“概念→原理→实战→趋势”的逻辑展开:先用“快递分拣中心”的故事引出云原生大数据的必要性;再拆解云原生、Kubernetes、容器化等核心概念;

AI智能探索者的博客 792

云原生大数据平台的Kubernetes容器化部署指南

随着互联网技术的飞速发展,大数据的应用变得越来越广泛。传统的数据中心已经不能满足现代企业对于数据处理和分析的需求。云原生大数据平台正是在这样的背景下应运而生,它结合了云计算的弹性和可扩展性以及大数据处理的能力。云原生大数据平台是指构建在云计算环境中的分布式存储与计算系统,它充分利用了云平台的可伸缩、灵活和按需使用资源的特点。这类平台通常基于开源技术栈,如Kubernetes、Docker、Apache Hadoop和Apache Spark等,并通过容器化的方式提高资源利用率和应用部署的灵活性。

weixin_30765637的博客 1307

k8s 部署 hive

hive-mysql-dockerfile # cat hive-site.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contrib

qq_15138049的博客 580

手把手教你用USBasp给Arduino UNO烧写程序(ICSP模式,含BootLoader选择指南)

本文详细介绍了如何使用USBasp编程器通过ICSP模式为Arduino UNO烧写程序,包括硬件连接、软件配置、Hex文件处理和BootLoader选择指南。内容涵盖从新手入门到高级优化的全流程,帮助开发者高效完成烧写任务,特别适合需要修复BootLoader或进行量产烧写的用户。

weixin_33958381的博客 364

Kubernetes运行hive(五)

目的: hive 可以基于hadoop mr或者Spark进行高层次的数据处理 前提: 安装之前先要保证hadoop的目录可以为root用户读写: hadoop fs -chown root:root / 1: 构建镜像 下载依赖 mkdir -p hive/image-build cd hive/image-build wget http://download.oracl...

CodeAsWind 3147

Cadence IC618/Spectre231安装避坑指南:详解环境变量配置与License管理那些事儿

本文深入解析Cadence IC618/Spectre231安装过程中的环境变量配置与License管理难题,提供从变量冲突解决到高效License管理的实用方案。针对常见的64位标识冲突、路径污染及License服务器连接问题,给出具体诊断步骤和优化建议,帮助用户构建稳定可靠的EDA环境。

weixin_33737134的博客 615

Python爬虫实战:绕过Cloudflare反爬的最新技术与完整代码详解

在互联网数据采集领域,越来越多的网站开始部署CDN和安全防护服务,其中 Cloudflare 是最为广泛使用的防护方案之一。它不仅为网站提供DDoS防护,还能通过JS挑战、验证码和行为分析来识别并拦截爬虫。这给爬虫工程师带来了极大挑战——如何在不违反网站服务条款的情况下,实现有效的数据采集?本文将分享Python领域绕过Cloudflare反爬的最新技术方法,结合最新流行库与自动化浏览器,帮助你攻克这一难题。绕过Cloudflare反爬不是一蹴而就,需结合多技术、多策略,持续迭代。

2201_76125261的博客 2627

大数据容器化-基于Kubernetes(k8s)构建spark运行环境

Apache Spark 在大数据处理与分析领域,Apache Spark无疑占据着重要地位。它的特点是基于内存计算,支持各类资源管理平台,其中以YARN最为常见,同时又与Hadoop平台集成,在集群节点以HDFS作为分布式文件存储系统。 我们可以先看一下搭建一个常见的Apache Spark大数据平台需要哪些步骤: 安装Hadoop集群 配置HDFS 配置YARN 安装Spark 配置Spark与YARN集成 事实上如果参阅官方文档,还有更多细节检查与配置,有过大数据相关领域从业经验的人都知道,要搭建

学亮编程手记 2828

【2026最新版】Open3D(C++)点云处理算法汇总(C++长期更新版)

C++版本Open3D进行点云处理的一些算法使用案例。博客长期更新,最近一次更新时间为:2026年4月11日。

点云侠的博客 1万+

如何在 K8s 上运行 Spark & Hive?

引 言随着 Kubernetes 越来越成熟,使用者越来越多,大数据应用上云的需求也越来越迫切。原有的大数据资源管理器 Yarn 很难做到所有应用资源统一控制,完全隔离,带来的主机应用和大数据计算应用互相抢占资源,由此导致的计算任务时间可能经常性抖动,多租户应用互相影响。而在 Kubernetes 上,此类问题天然解决。所有的应用都以 Pod 形式在 Kubernetes...

LinkTime_Cloud的博客 3110

PCL RANSAC拟合空间圆【2026最新版】

RANSAC三维点云空间3D圆拟合。博客长期更新,本文最新更新时间为:2026年4月13日。代码在PCL1.15.0中测试通过

点云侠的博客 7454

全球气候模式降尺度方法总结及其代码实现

简介总结各类型气候模式降尺度方法

WW、forever的博客 1万+

《云原生时代:Hive数据仓库的容器化改造与K8s部署》

管理元数据(如表结构)。:提供JDBC/ODBC接口供客户端查询。执行引擎:依赖MapReduce、Tez或Spark。在云原生环境中,Hive需适配容器化以支持动态扩缩容和微服务架构。容器化改造的核心是解耦状态(如元数据)和无状态组件(如查询服务)。Hive的容器化改造和K8s部署显著提升了云原生环境下的敏捷性和资源效率。通过解耦状态、使用K8s原生对象,企业能实现弹性伸缩和故障恢复。部署后,平均查询性能可提升30%-50%。

kkshdgxcjsd的博客 1163

大模型系列——Ollama-OCR 简明教程

Llama 3.2-Vision 是一个多模态大型语言模型,有 11B 和 90B 两种大小,能够处理文本和图像输入以生成文本输出。该模型在视觉识别、图像推理、图像描述和回答与图像相关的问题方面表现出色,在多个行业基准测试中优于现有的开源和闭源多模态模型。在本文中,我将介绍如何调用由 Ollama 运行的 Llama 3.2-Vision 11B 建模服务并使用实现图像文本识别 (OCR) 功能。

2401_84052244的博客 1万+

Kubernetes运行大数据组件-运行hive

通过k8s运行hive服务

小森饭的博客 712

讲透 ABAP CDS 注解名称:简单名、结构化名、@ 与 @<、作用域与分组

本文从开发者角度梳理ABAP CDS注解的命名规则与实战写法,重点解析: 语法规则:@与@<的使用场景、结构化命名规范、作用域唯一性要求 评估机制:ABAP运行时与组件框架的注解处理差异 分组技巧:花括号分组简化重复前缀的书写 实战示例:包含完整CDS View Entity(演示注解分组与@<用法)和ABAP报表(读取打印注解) 常见问题:命名错误导致激活失败、框架忽略等注意事项 最后通过航空预订统计案例,展示如何结合多种注解类型实现业务需求。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 261

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

开源啦!一键部署免费使用!Kubernetes上直接运行大数据平台!

现在我们的企业版已经在很多头部客户落地并且在生产环境下高效运行,觉得这个版本已经可以达到大部分生产级项目的需求,集成度以及可用性是能够帮到有类似需求的用户的,希望这次开源能够降低在Kubernetes上集成大数据组件的门槛,让更多Kuberenetes和big data社区的同行们可以使用。第二,更高效的大数据集群运管:KDP通过大数据组件与K8s的集成,在K8s之上搭建了一个大数据组件管理抽象层,标准化大数据组件生命周期管理,并提供UI界面进一步提升了部署、升级等操作的效率;我们期待您的贡献和建议!

优快云资讯 1768

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

AnolisOS 8:基于Docker与Kubernetes的大数据平台部署全流程(上)

本实训基于国产操作系统,通过Docker容器技术,逐步搭建一个包含Hadoop、Spark、Hive、HBase、Flume等组件的大数据平台,并使用Kubernetes进行容器编排与管理。内容涵盖环境准备、镜像构建、集群部署、服务配置与验证等全流程。选择AnolisOS-8.10-x86_64-minimal.iso注意:在选择客户机操作系统中版本选择的是:CentOS 8 64位软件选择中我们选择的是:最小化安装#Docker主机上的所有网络。

2301_81580908的博客 1403

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

大数据与容器化技术指南:Docker、Kubernetes与大数据生态常用命令大全

本书涵盖了Docker和Kubernetes的基本概念及常用命令,以及Zookeeper、HDFS、YARN、YARN资源池、HBase、HBase集成Phoenix、Hive、Kafka、Spark、Flink等大数据技术的常用命令。

z_ran的博客 1157

AnolisOS 8:基于Docker与Kubernetes的大数据平台部署全流程(下)

在前一篇文章中,我们已经完成了 AnolisOS 8 下基础环境的准备、Kubernetes 集群的搭建以及 Hadoop 基础集群的部署。本篇实训报告(下)将重点记录在大数据平台上进一步部署生态组件的过程,包括数据采集工具 Flume、计算引擎 Spark、元数据库 MySQL、数据仓库 Hive 以及 NoSQL 数据库 HBase。实训环境说明:操作系统容器编排命名空间ruanko操作用户rootMaster节点容器master-0本次实训完成了基于 Kubernetes 的大数据平台核心组件部署。

2301_81580908的博客 875

flink on k8s 访问hive hadoop

flink on k8s 访问hive hadoop

tianhouquan的专栏 3571
上一篇: kubernetes系列之十九:配置kubernetes使用kubevirt管理虚拟机
下一篇: kubernetes系列之二十:Kubernetes Calico网络插件
cloudvtech
博客等级 码龄9年 533粉丝 111原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值