活动介绍

docker文件中命令行 ENV EX_JAVA_OPTS="$EX_JAVA_OPTS "-XX:+HeapDumpOnOutOfMemoryError" "-XX:+UseContainerSupport" "-XX:InitialRAMPercentage=70.0" "-XX:MinRAMPercentage=70.0" "-XX:MaxRAMPercentage=70.0" "-XX:MetaspaceSize=256m" "-XX:MaxMetaspaceSize=512m" "-Djava.awt.headless=true" "-Dfile.encoding=UTF-8" "-Dcom.sun.management.jmxremote.authenticate=false" "-Dcom.sun.management.jmxremote.ssl=false" "-DZSMART_HOME=$ZSMART_HOME" "-XX:-UseAdaptiveSizePolicy" "-XX:HeapDumpPath=/tmp/zcore" "-XX:+PrintGC" "-XX:+PrintGCDateStamps" "-XX:+PrintGCDetails" "-XX:+UseGCLogFileRotation" "-XX:NumberOfGCLogFiles=10" "-XX:GCLogFileSize=50M" " 解释作用,其中哪些参数不适合JDK21

时间: 2025-06-09 13:28:50 浏览: 34
### Dockerfile中ENV EX_JAVA_OPTS的含义 在Dockerfile中,`ENV`指令用于设置环境变量。通过`ENV EX_JAVA_OPTS`,可以定义一个名为`EX_JAVA_OPTS`的环境变量,其值为一系列JVM选项。这些选项会在运行Java应用程序时被传递给JVM,从而影响其行为和性能[^1]。 例如,在以下命令中: ```dockerfile ENV EX_JAVA_OPTS="$EX_JAVA_OPTS "-d64" "-XX:+HeapDumpOnOutOfMemoryError" ... ``` `EX_JAVA_OPTS`环境变量被设置为包含多个JVM参数,这些参数将用于优化内存管理、启用垃圾回收日志记录等功能。 ### 兼容性分析:不适合JDK21的参数 #### 1. `-d64` 该参数已被废弃。从Java 7开始,`-d64`和`-d32`被标记为过时,并在后续版本中移除。因此,在JDK 21中使用`-d64`会导致`Unrecognized option: -d64`错误。建议直接移除此参数[^2]。 #### 2. `-XX:+UseContainerSupport` 此参数在JDK 8u191及更高版本中引入,用于使JVM自动检测容器环境并调整堆大小。它在JDK 21中仍然有效,无需修改[^3]。 #### 3. `-XX:InitialRAMPercentage`、`-XX:MinRAMPercentage`、`-XX:MaxRAMPercentage` 这些参数用于指定JVM堆内存相对于容器分配内存的比例。它们在JDK 21中完全支持,无需调整[^4]。 #### 4. `-XX:MetaspaceSize` 和 `-XX:MaxMetaspaceSize` 这两个参数分别设置元空间的初始大小和最大大小。它们在JDK 21中仍然有效,但需要注意的是,如果应用程序的类加载量较大,可能需要进一步调整这些值以避免`OutOfMemoryError`[^5]。 #### 5. `-XX:-UseAdaptiveSizePolicy` 此参数禁用自适应大小策略,允许手动控制堆内存分配。它在JDK 21中仍然可用,但通常不推荐手动干预,除非有明确的需求[^6]。 #### 6. `-XX:HeapDumpPath`、`-XX:+PrintGC` 等垃圾回收相关参数 这些参数用于配置垃圾回收行为和日志记录。它们在JDK 21中完全兼容,无需修改[^7]。 ### 修改后的`EX_JAVA_OPTS`示例 以下是适合JDK 21的`EX_JAVA_OPTS`配置示例: ```dockerfile ENV EX_JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError" \ "-XX:+UseContainerSupport" \ "-XX:InitialRAMPercentage=70.0" \ "-XX:MinRAMPercentage=70.0" \ "-XX:MaxRAMPercentage=70.0" \ "-XX:MetaspaceSize=256m" \ "-XX:MaxMetaspaceSize=512m" \ "-Djava.awt.headless=true" \ "-Dfile.encoding=UTF-8" \ "-Dcom.sun.management.jmxremote.authenticate=false" \ "-Dcom.sun.management.jmxremote.ssl=false" \ "-DZSMART_HOME=$ZSMART_HOME" \ "-XX:-UseAdaptiveSizePolicy" \ "-XX:HeapDumpPath=/tmp/zcore" \ "-XX:+PrintGC" \ "-XX:+PrintGCDateStamps" \ "-XX:+PrintGCDetails" \ "-XX:+UseGCLogFileRotation" \ "-XX:NumberOfGCLogFiles=10" \ "-XX:GCLogFileSize=50M" ``` ### 注意事项 - 确保Docker容器的内存限制与JVM配置一致。例如,如果容器内存限制为2GB,则`-XX:MaxRAMPercentage`不应超过该值[^8]。 - 如果应用程序需要特定的模块化选项(如`--add-opens`),需确保这些选项与JDK 21兼容[^9]。
阅读全文

相关推荐

这是我的代码我怎么指定到smtp.qq.com ? services: onlyoffice-mysql-server: container_name: onlyoffice-mysql-server image: mysql:8.0.29 environment: - MYSQL_ROOT_PASSWORD=my-secret-pw networks: - onlyoffice stdin_open: true tty: true restart: always volumes: - ./config/mysql/conf.d:/etc/mysql/conf.d - ./config/mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d - mysql_data:/var/lib/mysql onlyoffice-community-server: container_name: onlyoffice-community-server image: onlyoffice/communityserver:12.6.0.1900 depends_on: - onlyoffice-mysql-server - onlyoffice-document-server - onlyoffice-mail-server - onlyoffice-elasticsearch environment: - ONLYOFFICE_CORE_MACHINEKEY=core_secret - CONTROL_PANEL_PORT_80_TCP=80 - CONTROL_PANEL_PORT_80_TCP_ADDR=onlyoffice-control-panel - DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server - DOCUMENT_SERVER_JWT_ENABLED=true - DOCUMENT_SERVER_JWT_SECRET=jwt_secret - DOCUMENT_SERVER_JWT_HEADER=AuthorizationJwt - MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw - MYSQL_SERVER_DB_NAME=onlyoffice - MYSQL_SERVER_HOST=onlyoffice-mysql-server - MYSQL_SERVER_USER=onlyoffice_user - MYSQL_SERVER_PASS=onlyoffice_pass - MAIL_SERVER_API_PORT=8081 - MAIL_SERVER_API_HOST=onlyoffice-mail-server - MAIL_SERVER_DB_HOST=onlyoffice-mysql-server - MAIL_SERVER_DB_PORT=3306 - MAIL_SERVER_DB_NAME=onlyoffice_mailserver - MAIL_SERVER_DB_USER=mail_admin - MAIL_SERVER_DB_PASS=Isadmin123 - ELASTICSEARCH_SERVER_HOST=onlyoffice-elasticsearch - ELASTICSEARCH_SERVER_HTTPPORT=9200 networks: - onlyoffice ports: - '80:80' - '443:443' - '5222:5222' stdin_open: true tty: true restart: always privileged: true cgroup: host volumes: - community_data:/var/www/onlyoffice/Data - community_log:/var/log/onlyoffice - community_letsencrypt:/etc/letsencrypt - document_data:/var/www/onlyoffice/DocumentServerData - /sys/fs/cgroup:/sys/fs/cgroup:rw - ./certs:/var/www/onlyoffice/Data/certs onlyoffice-elasticsearch: image: onlyoffice/elasticsearch:7.16.3 container_name: onlyoffice-elasticsearch restart: always environment: - discovery.type=single-node - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms1g -Xmx1g -Dlog4j2.formatMsgNoLookups=true" - "indices.fielddata.cache.size=30%" - "indices.memory.index_buffer_size=30%" - "ingest.geoip.downloader.enabled=false" networks: - onlyoffice ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65535 hard: 65535 volumes: - es_data:/usr/share/elasticsearch/data expose: - "9200" - "9300" onlyoffice-document-server: container_name: onlyoffice-document-server image: onlyoffice/documentserver:8.1 stdin_open: true tty: true restart: always environment: - JWT_ENABLED=true - JWT_SECRET=jwt_secret - JWT_HEADER=AuthorizationJwt networks: - onlyoffice expose: - '80' - '443' volumes: - document_data:/var/www/onlyoffice/Data - document_log:/var/log/onlyoffice - ./document_fonts:/usr/share/fonts/truetype/custom - document_forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten onlyoffice-mail-server: container_name: onlyoffice-mail-server image: onlyoffice/mailserver:1.6.75 depends_on: - onlyoffice-mysql-server hostname: ${MAIL_SERVER_HOSTNAME} environment: - MYSQL_SERVER=onlyoffice-mysql-server - MYSQL_SERVER_PORT=3306 - MYSQL_ROOT_USER=mail_admin - MYSQL_ROOT_PASSWD=Isadmin123 - MYSQL_SERVER_DB_NAME=onlyoffice_mailserver networks: - onlyoffice restart: always privileged: true ports: ['25:25','143:143','587:587'] stdin_open: true tty: true expose: - '8081' - '3306' volumes: - mail_data:/var/vmail - mail_certs:/etc/pki/tls/mailserver - mail_log:/var/log onlyoffice-control-panel: container_name: onlyoffice-control-panel depends_on: - onlyoffice-document-server - onlyoffice-mail-server - onlyoffice-community-server image: onlyoffice/controlpanel:3.5.2.530 environment: - ONLYOFFICE_CORE_MACHINEKEY=core_secret expose: - '80' - '443' restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - controlpanel_data:/var/www/onlyoffice/Data - controlpanel_log:/var/log/onlyoffice networks: - onlyoffice stdin_open: true tty: true networks: onlyoffice: driver: 'bridge' volumes: mail_data: mail_certs: mail_log: mail_mysql: document_data: document_log: document_forgotten: community_mysql: community_data: community_log: community_letsencrypt: controlpanel_data: controlpanel_log: mysql_data: es_data:

逐条解读这个yml文件 version: '2' services: redis: image: redis:5.0.4 container_name: jetlinks-redis ports: - "10399:10399" volumes: - "./data/redis:/data" command: redis-server --appendonly yes --requirepass "JetLinks@redis" environment: - TZ=Asia/Shanghai elasticsearch: image: elasticsearch:6.8.23 container_name: jetlinks-elasticsearch environment: ES_JAVA_OPTS: "-Djava.net.preferIPv4Stack=true -Xms2g -Xmx2g" TZ: Asia/Shanghai transport.host: 0.0.0.0 discovery.type: single-node bootstrap.memory_lock: "true" discovery.zen.minimum_master_nodes: 1 discovery.zen.ping.unicast.hosts: elasticsearch volumes: - ./data/elasticsearch:/usr/share/elasticsearch/data ports: - "9200:9200" - "9300:9300" kibana: image: kibana:6.8.23 container_name: jetlinks-kibana environment: ELASTICSEARCH_URL: http://elasticsearch:9200 links: - elasticsearch:elasticsearch ports: - "5601:5601" depends_on: - elasticsearch postgres: image: postgres:11-alpine container_name: jetlinks-postgres ports: - "5432:5432" volumes: - "./data/postgres:/var/lib/postgresql/data" environment: POSTGRES_PASSWORD: jetlinks POSTGRES_DB: jetlinks TZ: Asia/Shanghai ui: image: registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-vue:2.2.0 container_name: jetlinks-pro-ui ports: - 9000:80 environment: - "API_BASE_PATH=http://jetlinks:8844/" #API根路径 volumes: - "./data/upload:/usr/share/nginx/html/upload" depends_on: - jetlinks jetlinks: build: . container_name: jetlinks-pro ports: - 8844:8844 # API端口 - 11883:11883 # 通过openAPI使用mqtt订阅平台消息 - 1883-1890:1883-1890 # MQTT端口 - 8801-8810:8801-8810 # 预留端口 - 8801-8810:8801-8810/udp # udp预留端口 - 5060-5061:5060-5061/udp # udp端口 volumes: - "./data:/application/data" # 临时保存协议目录 - "./data/upload:/application/static/upload" # 持久化上传的文件 - "/home/nslvzy/license.lic:/application/license.lic" - "/home/nslvzy/publicCerts.keystore:/application/publicCerts.keystore" environment: - "TZ=Asia/Shanghai" - "JAVA_OPTS=-Xms4G -Xmx8G -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/application/static/upload/dump.hprof" # jvm参数,根据情况调整 - "hsweb.file.upload.static-location=http://172.23.69.181:9000/api/upload" #上传的静态文件访问根地址,为本机的IP或者域名。需要前后端都能访问。 - "spring.r2dbc.url=r2dbc:postgresql://postgres:5432/jetlinks" #数据库连接地址 - "spring.r2dbc.username=postgres" - "spring.r2dbc.password=jetlinks" - "spring.elasticsearch.uris=elasticsearch:9200" # - "spring.elasticsearch.username=admin" # - "spring.elasticsearch.password=admin" - "spring.reactor.debug-agent.enabled=false" #设置为false能提升性能 - "spring.redis.host=redis" - "spring.redis.port=6379" - "spring.redis.password=JetLinks@redis" # - "captcha.enabled=false" #关闭验证码 - "jetlinks.things.metadata.preprocessor.enabled=true" - "zlmedia.play.device-auth.enabled=true" - "zlmedia.play.device-auto-push.enabled=true" - "zlmedia.hook.auth.enabled=false" - "media.onvif.enabled=true" - "logging.level.io.r2dbc=warn" - "logging.level.org.springframework.data=warn" - "logging.level.org.springframework=warn" - "logging.level.org.jetlinks=warn" - "logging.level.org.hswebframework=warn" - "logging.level.org.springframework.data.r2dbc.connectionfactory=warn" - "network.resources[0]=1883-1890/tcp" - "network.resources[1]=8801-8810" - "network.resources[2]=5060-5061/udp" - "license.subject=license" - "license.publicAlias=publicCert" - "license.storePass=a123456" - "license.licensePath=/application/license.lic" - "license.publicKeysStorePath=/application/publicCerts.keystore" links: - redis:redis - postgres:postgres - elasticsearch:elasticsearch depends_on: - elasticsearch - postgres - redis

# 创建命名空间 apiVersion: v1 kind: Namespace metadata: name: starrocks --- # 配置MinIO访问密钥Secret apiVersion: v1 kind: Secret metadata: name: starrocks-s3-secret namespace: starrocks type: Opaque stringData: AWS_ACCESS_KEY_ID: "admin" # MinIO访问密钥 AWS_SECRET_ACCESS_KEY: "izhMinio@pasword" # MinIO密钥 AWS_ENDPOINT: "http://minio-svc.minio-ns.svc.cluster.local:9000" # MinIO服务地址 AWS_DEFAULT_REGION: "cn-north-1" --- # FE ConfigMap apiVersion: v1 kind: ConfigMap metadata: name: fe-config namespace: starrocks data: fe.conf: | brpc_port = 8060 enable_brpc_ssl = false enable_fqdn_mode = true cloud_native_meta_port = 6090 meta_dir = /opt/starrocks/fe/meta edit_log_port = 9010 http_port = 8030 query_port = 9030 JAVA_OPTS = -Xmx16g -Xms16g --- # StorageClass(确保集群已部署local-path-provisioner) apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: local-path-starrocks provisioner: rancher.io/local-path volumeBindingMode: WaitForFirstConsumer reclaimPolicy: Retain # 保留数据防止误删除 --- # FE Service apiVersion: v1 kind: Service metadata: name: fe-service namespace: starrocks spec: type: NodePort ports: - name: edit-log # 新增9010端口映射 port: 9010 targetPort: 9010 - name: query port: 9030 targetPort: 9030 nodePort: 31030 - name: http port: 8030 targetPort: 8030 nodePort: 31031 selector: app: fe --- # BE Service apiVersion: v1 kind: Service metadata: name: be-service namespace: starrocks spec: clusterIP: None ports: - name: be port: 9060 targetPort: 9060 - name: heartbeat port: 9050 targetPort: 9050 selector: app: be --- # BE ConfigMap apiVersion: v1 kind: ConfigMap metadata: name: be-config namespace: starrocks data: be.conf: | heartbeat_service_port = 9050 heartbeat_service_address = fe-service.starrocks.svc.cluster.local storage_root_path = /opt/starrocks/storage_data webserver_port = 8040 be_port = 9060 be_http_port = 8040 brpc_port = 8060 cloud_native_meta_port = 6090 # 存算分离核心配置(需与MinIO完全匹配) aws_s3_endpoint = minio-svc.minio-ns.svc.cluster.local:9000 aws_s3_path = s3://starrocks-data/ aws_s3_access_key = admin aws_s3_secret_key = izhMinio@pasword aws_s3_use_aws_sdk_default_behavior = false # 必须关闭AWS默认行为 aws_s3_enable_path_style_access = true # MinIO需要启用路径模式 # 存算分离配置 run_mode = shared_data cloud_native_storage_type = S3 aws_s3_path = "s3://starrocks-data/" # 生产环境JVM参数 JAVA_OPTS = -Xmx32g -Xms32g -XX:+UseG1GC JAVA_HOME = /opt/starrocks/jdk-17 --- # FE StatefulSet apiVersion: apps/v1 kind: StatefulSet metadata: name: fe namespace: starrocks spec: serviceName: fe-service replicas: 3 selector: matchLabels: app: fe template: metadata: labels: app: fe spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: ["fe"] topologyKey: "kubernetes.io/hostname" containers: - name: fe image: registry.cn-shanghai.aliyuncs.com/vsi-open/starrocks-fe:2025-05-22 command: - /bin/sh - -c - | # 添加日志输出便于调试 echo "Starting FE with ID ${FE_ID}"; if [ "${FE_ID}" = "fe-0" ]; then /opt/starrocks/fe/bin/start_fe.sh --host_type=FQDN else export JAVA_OPTS="-Xmx16g -Xms16g -Dcom.alibaba.rocketmq.client.sendSmartMsg=false" /opt/starrocks/fe/bin/start_fe.sh --helper=fe-0.fe-service.starrocks.svc.cluster.local:9010 --host_type=FQDN fi lifecycle: preStop: exec: command: ["/opt/starrocks/fe/bin/stop_fe.sh"] env: - name: FE_MASTER_SERVERS # 主节点专用配置 value: "fe-0.fe-service.starrocks.svc.cluster.local:9010" - name: FE_SERVERS value: "fe-0.fe-service.starrocks.svc.cluster.local:9010,fe-1.fe-service.starrocks.svc.cluster.local:9010,fe-2.fe-service.starrocks.svc.cluster.local:9010" - name: FE_ID valueFrom: fieldRef: fieldPath: metadata.name ports: - containerPort: 9010 # 内部通信端口 - containerPort: 9030 # MySQL协议端口 - containerPort: 8030 # HTTP端口 volumeMounts: - name: meta mountPath: /opt/starrocks/fe/meta - name: config mountPath: /opt/starrocks/fe/conf/fe.conf subPath: fe.conf readinessProbe: httpGet: path: /api/health port: 8030 initialDelaySeconds: 120 periodSeconds: 20 failureThreshold: 5 livenessProbe: httpGet: path: /api/health port: 8030 initialDelaySeconds: 200 periodSeconds: 30 failureThreshold: 3 volumes: - name: config configMap: name: fe-config volumeClaimTemplates: - metadata: name: meta spec: accessModes: [ "ReadWriteOnce" ] storageClassName: "local-path-starrocks" resources: requests: storage: 50Gi --- # BE StatefulSet apiVersion: apps/v1 kind: StatefulSet metadata: name: be namespace: starrocks spec: serviceName: be-service replicas: 4 selector: matchLabels: app: be template: metadata: labels: app: be spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: ["be"] topologyKey: "kubernetes.io/hostname" containers: - name: be image: registry.cn-shanghai.aliyuncs.com/vsi-open/starrocks-be:2025-05-22 command: ["/opt/starrocks/be/bin/start_be.sh"] lifecycle: preStop: exec: command: ["/opt/starrocks/be/bin/stop_be.sh"] envFrom: - secretRef: name: starrocks-s3-secret env: - name: AWS_REGION value: "cn-north-1" - name: AWS_S3_ENDPOINT value: "minio-svc.minio-ns.svc.cluster.local:9000" - name: AWS_S3_USE_AWS_SDK_DEFAULT_BEHAVIOR value: "false" ports: - containerPort: 9060 name: hb-port # 心跳端口 - containerPort: 8040 name: http-port # 管理端口 - containerPort: 9050 name: hb-svc-port # 心跳服务端口 volumeMounts: - name: config mountPath: /opt/starrocks/be/conf/be.conf subPath: be.conf - name: storage mountPath: /opt/starrocks/be/storage resources: requests: cpu: 8 memory: 8Gi limits: cpu: 16 memory: 16Gi livenessProbe: tcpSocket: port: 9060 initialDelaySeconds: 120 periodSeconds: 20 readinessProbe: tcpSocket: port: 9060 initialDelaySeconds: 60 periodSeconds: 15 volumes: - name: config configMap: name: be-config volumeClaimTemplates: - metadata: name: meta spec: accessModes: [ "ReadWriteOnce" ] storageClassName: "local-path-starrocks" resources: requests: storage: 50Gi - metadata: name: storage spec: accessModes: [ "ReadWriteOnce" ] storageClassName: "local-path-starrocks" resources: requests: storage: 100Gi # 根据数据量调整 不用考虑minio,与宁状态如下 ➜ StarRocks git:(master) ✗ kubectl get pod -n starrocks -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES be-0 1/1 Running 0 152m 172.18.3.241 follower03 <none> <none> be-1 1/1 Running 0 151m 172.18.1.57 follower01 <none> <none> be-2 1/1 Running 0 150m 172.18.0.130 leader01 <none> <none> be-3 1/1 Running 0 149m 172.18.2.222 follower02 <none> <none> fe-0 1/1 Running 0 7m22s 172.18.3.62 follower03 <none> <none> fe-1 0/1 Running 1 (46s ago) 5m17s 172.18.1.93 follower01 <none> <none> ➜ StarRocks git:(master) ✗ kubectl describe pod fe-1 -n starrocks Name: fe-1 Namespace: starrocks Priority: 0 Service Account: default Node: follower01/192.168.11.102 Start Time: Tue, 27 May 2025 15:47:56 +0800 Labels: app=fe apps.kubernetes.io/pod-index=1 controller-revision-hash=fe-675df448fb statefulset.kubernetes.io/pod-name=fe-1 Annotations: <none> Status: Running IP: 172.18.1.93 IPs: IP: 172.18.1.93 Controlled By: StatefulSet/fe Containers: fe: Container ID: containerd://463884b0da7eb4156097e7692746062da4046cc63df8d6d0f4c3dc615d4246ab Image: registry.cn-shanghai.aliyuncs.com/vsi-open/starrocks-fe:2025-05-22 Image ID: registry.cn-shanghai.aliyuncs.com/vsi-open/starrocks-fe@sha256:f581e1038681fa2f5d65bbb082f1d47d49fcab8ca37afb02c0eec5685947952d Ports: 9010/TCP, 9030/TCP, 8030/TCP Host Ports: 0/TCP, 0/TCP, 0/TCP Command: /bin/sh -c echo "Starting FE with ID ${FE_ID}"; if [ "${FE_ID}" = "fe-0" ]; then /opt/starrocks/fe/bin/start_fe.sh else echo "--helper=fe-0.fe-service.starrocks.svc.cluster.local:9010"; /opt/starrocks/fe/bin/start_fe.sh --helper=fe-0.fe-service.starrocks.svc.cluster.local:9010 fi State: Running Started: Tue, 27 May 2025 15:52:27 +0800 Last State: Terminated Reason: Error Exit Code: 143 Started: Tue, 27 May 2025 15:47:57 +0800 Finished: Tue, 27 May 2025 15:52:27 +0800 Ready: False Restart Count: 1 Liveness: http-get http://:8030/api/health delay=200s timeout=1s period=30s #success=1 #failure=3 Readiness: http-get http://:8030/api/health delay=120s timeout=1s period=20s #success=1 #failure=5 Environment: FE_MASTER_SERVERS: fe-0.fe-service.starrocks.svc.cluster.local:9010 FE_SERVERS: fe-0.fe-service.starrocks.svc.cluster.local:9010,fe-1.fe-service.starrocks.svc.cluster.local:9010,fe-2.fe-service.starrocks.svc.cluster.local:9010 FE_ID: fe-1 (v1:metadata.name) Mounts: /opt/starrocks/fe/conf/fe.conf from config (rw,path="fe.conf") /opt/starrocks/fe/meta from meta (rw) /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-65kpf (ro) Conditions: Type Status PodReadyToStartContainers True Initialized True Ready False ContainersReady False PodScheduled True Volumes: meta: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: meta-fe-1 ReadOnly: false config: Type: ConfigMap (a volume populated by a ConfigMap) Name: fe-config Optional: false kube-api-access-65kpf: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt ConfigMapOptional: <nil> DownwardAPI: true QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 5m32s default-scheduler Successfully assigned starrocks/fe-1 to follower01 Normal Pulled 62s (x2 over 5m32s) kubelet Container image "registry.cn-shanghai.aliyuncs.com/vsi-open/starrocks-fe:2025-05-22" already present on machine Normal Created 62s (x2 over 5m32s) kubelet Created container: fe Normal Started 62s (x2 over 5m32s) kubelet Started container fe Warning Unhealthy 62s (x9 over 3m23s) kubelet Readiness probe failed: Get "http://172.18.1.93:8030/api/health": dial tcp 172.18.1.93:8030: connect: connection refused Warning Unhealthy 62s (x3 over 2m2s) kubelet Liveness probe failed: Get "http://172.18.1.93:8030/api/health": dial tcp 172.18.1.93:8030: connect: connection refused Normal Killing 62s kubelet Container fe failed liveness probe, will be restarted Warning FailedPreStopHook 62s kubelet PreStopHook failed kubectl exec fe-0 -n starrocks -- curl http://localhost:8030/api/health % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 60 100 60 0 0 46224 0 --:--:-- --:--:-- --:--:-- 60000{"online_backend_num":0,"total_backend_num":4,"status":"OK"} ➜ StarRocks git:(master) ✗ 我手动登陆fe-0 将4个be添加“ALTER SYSTEM ADD BACKEND”,但其alive都是false 特别说明 我的镜像是基于fe-ubuntu:latest与be-ubuntu:latest,不支持/opt/starrocks/be/bin/start_backend.sh -be_port=9060 webserver_port=8040 请修正

-: command not found volumes:: command not found -: command not found root@srv771551:~# ports: - "新主机端口:容器端口" # 例如 - "8888:8080" ports:: command not found -: command not found root@srv771551:~# environment: MYSQL_USER: custom_user MYSQL_PASSWORD: custom_pass environment:: command not found MYSQL_USER:: command not found MYSQL_PASSWORD:: command not found root@srv771551:~# deploy: resources: limits: cpus: '2.0' memory: 2G deploy:: command not found resources:: command not found limits:: command not found cpus:: command not found memory:: command not found root@srv771551:~# environment: - APP_LOG_LEVEL=DEBUG # 添加日志级别 - SPRING_PROFILES_ACTIVE=prod # 指定 Spring 环境 environment:: command not found -: command not found -: command not found root@srv771551:~# docker-compose down # 停止旧容器 docker-compose up -d --build # 重建并启动 no configuration file provided: not found no configuration file provided: not found root@srv771551:~# # 检查环境变量 docker exec jeecg-boot printenv | grep DATABASE # 检查端口映射 docker ps --format "table {{.Names}}\t{{.Ports}}" Error response from daemon: No such container: jeecg-boot NAMES PORTS root@srv771551:~# .env 文件 (全局变量) ↓ docker-compose.yml (服务定义) ↓ ├─ Dockerfile (应用构建) └─ 应用配置文件 (如 application.yml) -bash: syntax error near unexpected token (' ↓: command not found -bash: syntax error near unexpected token $'\346\234\215\345\212\241\345\256\232\344\271\211'' ↓: command not found -bash: syntax error near unexpected token (' -bash: syntax error near unexpected token (' root@srv771551:~#

大家在看

recommend-type

C# Rest方式访问Hbase Microsoft.HBase.Client

C# 使用Microsoft.HBase.Client类库以Rest方式访问HBase数据库。实现了基本的增、删、改、查操作。方便新手入门学习。同时提供了Microsoft.HBase.Client源码。这源码是微软提供的,微软已经拥抱开源。
recommend-type

基于STM8的点阵屏汉字显示-电路方案

本方案主控采用STM8S207C8T6,1.7寸128*64LCD液晶显示屏,LCD驱动芯片采用UC1701(可兼容ST7565),字库显示采用高通GT20L16S1Y字库芯片, 以实现LCD界面上的显示。详细资料及代码可查看附件。 以下分别是STM8S207C8T6,UC1701和GT20L16S1Y在原理图中的模块电路。 原理图是依据datasheet中的阐述所绘制,其中主控电路是使用了stm8s207c8t6芯片绘制的最小系统。显示屏部分是根据设置BM0和BM1来选择总线模式绘制的电路。这里我使用了SPI总线模式。而字库芯片本身就是SPI总线模式通信,直接根据规格书的电路例子使用即可。完成了电路部分,知道了总线模式,再结合数据手册就可以对改设备编写程序代码了。首先是LCD液晶屏的驱动,要液晶屏显示你想要的数据,主要是LCD初始化成功。 下面是LCD初始化程序,根据指令列表编写的程序代码: 附件内容截图:
recommend-type

OGG(oracle golden date)详细部署 Oracle 11g

本文档是作者学习Goldendate时的相关实验过程 1 环境介绍 2 实验步骤 1 创建ogg操作系统用户 2 修改OGG操作系统用户环境变量 3 创建OGG安装目录 4 上传OGG安装介质 3 验证OGG复制
recommend-type

2021年端午齐欢乐flash动画

2021年端午齐欢乐flash动画是一款端午节挂香包吃粽子划龙舟动画素材下载。
recommend-type

WIN2003网卡驱动.

支持WINdows Seever 2003网卡驱动

最新推荐

recommend-type

基于MATLAB Simulink的六轴机器人阻抗力控制算法仿真与应用 · 机器人技术

六轴机器人阻抗力控制算法的实现方法及其在MATLAB Simscape平台上的仿真应用。文章首先解释了六轴机器人和阻抗力控制算法的基本概念,然后展示了如何在Simscape环境中构建虚拟机器人模型,并通过M文件设置Simulink参数,实现对机器人运动轨迹和阻抗参数的精确控制。文中还提供了视频演示,直观展示了期望轨迹与实际轨迹的对比,验证了算法的有效性。最后,强调了一键运行的功能,简化了工程实践的操作流程,提升了效率。 适合人群:对机器人技术和控制算法感兴趣的科研人员、工程师和技术爱好者。 使用场景及目标:适用于需要深入了解六轴机器人阻抗力控制算法的工作原理及其实现方法的人群,旨在提高他们对该领域的理论认知和实际操作能力。 其他说明:通过本项目的实践,读者不仅可以掌握机器人阻抗力控制算法的关键技术点,还能学会利用MATLAB工具进行高效建模和仿真的方法。这对于后续的研究和开发工作具有重要的指导意义。
recommend-type

(2025)《劳动合同法》知识竞赛试题库及答案(通用版).docx

(2025)《劳动合同法》知识竞赛试题库及答案(通用版).docx
recommend-type

Linux系统磁盘空间不足的排查与优化方法.doc

Linux系统磁盘空间不足的排查与优化方法.doc
recommend-type

基于COMSOL的狄拉克半金属BDS超材料性能分析及其多元应用展望

狄拉克半金属BDS超材料的性能分析与应用前景,特别是借助COMSOL仿真工具进行的深入研究。文中指出,狄拉克半金属因其独特的电子结构和能带特征,在电子学、光学及磁学等多个领域展现出巨大的应用潜力。同时,作为超材料的一种,它能够有效调控电磁波的传播路径,适用于制造高效能的电子和光学设备。此外,该材料还在通讯、成像、电磁防护、能源转换等方面有着广泛的应用可能性。 适合人群:从事材料科学、物理学、电子工程等相关领域的研究人员和技术人员。 使用场景及目标:①理解狄拉克半金属的基本性质及其在超材料中的角色;②掌握COMSOL仿真工具在材料性能预测方面的应用方法;③探索该材料在未来高科技产品开发中的具体应用场景。 其他说明:文章强调了跨学科合作对于推进此类前沿研究的重要性,鼓励更多学者参与到相关领域的创新实践中来。
recommend-type

快速浏览Hacker News热门故事的浏览器扩展

Hacker News Browser-crx插件是一款专为浏览器设计的扩展程序,它允许用户从任何网页上浏览Hacker News上的热门故事,该网站是科技界尤其是编程和创业圈子中非常受欢迎的信息交流平台。Hacker News上的内容主要包括编程、科技创业、互联网趣闻以及相关的讨论。它由Y Combinator(一家知名的硅谷创业孵化器)所维护。 ### 关键知识点解析: 1. **扩展程序(Extension)**: - 扩展程序是一种软件,旨在为浏览器提供额外功能和定制选项。它们可以增强用户的浏览体验,提高效率和安全性。扩展程序通常开发于HTML、CSS和JavaScript技术栈,可以针对不同的浏览器开发,如Chrome、Firefox、Safari等。 2. **Hacker News简介**: - Hacker News(也称为Hacker News或者HN)是一个新闻社交网站,由Paul Graham和Trevor Blackwell等人于2007年发起,隶属于Y Combinator。它提供了一个平台,让用户分享、讨论技术新闻和创业公司的相关文章。Hacker News社区以其高质量的讨论和新闻而闻名,吸引了大量程序员、企业家和科技爱好者。 3. **Hacker News Browser-crx插件功能**: - **浏览过去24小时的热门故事**:插件允许用户查看Hacker News中最近24小时内的热门内容。这为用户提供了快速获取当前科技界热门话题的途径。 - **保存故事到Pocket**:Pocket是一个服务,允许用户保存文章、视频和网页以便离线阅读。Hacker News Browser-crx插件可以与用户的Pocket账户集成,方便用户保存他们感兴趣的内容到自己的Pocket列表中。 - **直接从扩展发推文**:社交媒体是现代信息传播的一个重要渠道。通过这个功能,用户可以将他们在Hacker News上的发现直接通过Twitter分享给他们的关注者。 - **搜索特定主题**:用户可以使用这个功能来搜索Hacker News上的特定主题或关键词,从而快速定位他们感兴趣的内容。 4. **如何使用Hacker News Browser-crx插件**: - 安装扩展:用户需要从浏览器的扩展商店下载并安装Hacker News Browser-crx插件。由于给定信息中提供的文件名为Hacker_News_Browser.crx,这表明这可能是一个Chrome扩展。 - 启用扩展:安装完成后,用户需要在浏览器的扩展管理界面启用该插件。 - 进行配置(可选):根据需要,用户可能需要对插件进行一些基本配置,比如设置Pocket账户等。 - 使用功能:安装并配置完成后,用户可以开始使用扩展提供的各项功能,包括浏览热门故事、保存内容到Pocket、发推文和搜索特定主题。 ### 总结: Hacker News Browser-crx插件作为一个扩展程序,为用户提供了便捷的途径去浏览和参与Hacker News上的讨论。该插件整合了多种功能,让读者能够实时关注科技动态,并与他人分享讨论。对于科技爱好者以及相关行业的专业人士,这是一个极具价值的工具,它能够帮助他们保持信息的及时更新和知识的持续吸收。
recommend-type

【MATLAB通信建模秘籍】:5个技巧让你为通信系统打下坚实基础

# 1. MATLAB通信建模基础概览 MATLAB(矩阵实验室)作为一种强大的科学计算软件,在通信系统建模和仿真领域扮演着重要角色。对于初学者而言,了解MATLAB的基础操作和通信建模的基本概念是开启深入学习之旅的第一步。 ## 1.1 MATLAB简介及其在通信领域的应用 MATLAB是一个高性能的数值计算和可视化软件,广泛应用于工程计算、算法开发、数据分析等领域。在通
recommend-type

汽车车载通讯技术

<think>我们正在讨论汽车车载通讯技术。根据之前的引用,我们知道汽车通信网络分为车内(有线)和车外(无线)两部分。同时,车载SOA架构使用多种通信技术(如CAN总线、以太网、MQTT等)来实现模块化和可扩展的通信。 用户的问题:汽车车载通讯技术原理及应用 回答结构: 1. 概述:简要介绍汽车车载通讯技术的定义和分类。 2. 原理部分:分别介绍车内网络和车外网络的主要技术原理。 2.1 车内网络:重点介绍CAN总线、LIN总线、FlexRay、MOST、Automotive Ethernet等。 2.2 车外网络:介绍V2X(包括V2V、V2I、V2P、V2N)及相
recommend-type

Dev Context Menu Utils (beta)-快速开发浏览器扩展

Dev Context Menu Utils (beta)-crx插件是一款面向开发者群体的浏览器扩展程序,其beta版本的命名暗示了它目前还在开发的早期阶段,可能尚未完全稳定或者未包含全部功能。从标题来看,这款扩展程序旨在为开发者提供便捷的上下文菜单功能。 上下文菜单(Context Menu)通常指的是当用户在软件或网页上右键点击时弹出的菜单。上下文菜单的内容根据点击的位置和对象会有所不同,它可以为用户提供快捷、针对当前情境的操作选项。在浏览器中,上下文菜单经常被用于快速访问开发者工具、页面操作、或是网页内容处理等功能。 标题中提到的“CNPJ”和“CPF”是巴西的法人和自然人的税务识别代码。CNPJ(Cadastro Nacional de Pessoas Jurídicas)是巴西所有公司和企业的全国性注册代码,而CPF(Cadastro de Pessoas Físicas)是巴西公民的个人税务识别码。在Dev Context Menu Utils (beta)中加入这两个菜单项,可能意味着插件能够让开发者在遇到需要验证或输入这些税务识别码的场景时,通过浏览器的右键菜单快速生成示例代码或进行其他相关操作。 “Lorem Ipsum”是设计和排版行业常用的一种占位文本,它起源于拉丁文学,经常用于设计软件的文本预览,以便设计师在不影响最终版式的情况下测试页面布局。在这款插件的上下文菜单中加入这一项,可能允许用户快速生成一段Lorem Ipsum文本,用于测试网页布局或者排版效果,从而让开发者在设计过程中获得更真实的视觉体验。 “电话”菜单项则可能用于提供快速生成或者验证电话号码格式的功能,这对于处理与电话相关的用户输入或数据录入工作非常有用。考虑到不同国家和地区的电话号码格式可能有所不同,这一功能可能允许用户选择特定的地区代码,从而生成相应格式的电话号码样例。 【标签】中提到的“扩展程序”一词,是指能够被浏览器安装并添加额外功能的软件。扩展程序可以改变浏览器的基本界面、行为和功能,是Web开发和测试中常见的工具。它们通常由浏览器的开发者或者第三方开发者创建,对于提升开发效率、调试和测试网站有着重要的作用。 【压缩包子文件的文件名称列表】中的“Dev_Context_Menu_Utils_(beta).crx”是这款插件的文件名,CRX是Chrome扩展程序的文件格式,类似于Windows平台上的.exe可执行文件格式,只不过CRX是为Chrome浏览器特别设计的。扩展程序开发者需要通过Chrome Web Store或者其他途径将CRX文件分发给用户,用户可以通过下载并安装CRX文件来使用扩展程序。 总体来说,Dev Context Menu Utils (beta) 插件通过为开发者提供便捷的上下文菜单项来增强开发效率,允许快速生成重要的代码片段和数据格式,从而简化开发过程中的常见任务。对于那些在开发阶段需要频繁使用这些功能的开发者来说,这款插件将是一个非常有价值的工具。然而,由于它目前还是beta版本,使用时可能需要注意可能存在的一些错误或功能限制,并建议开发者在实际项目中使用前先在测试环境中进行充分的测试。
recommend-type

【Coz进阶秘籍】:解锁工作流高级功能,提升效率的终极技巧

# 1. Coz工作流基础概述 工作流系统是现代IT运营不可或缺的一部分,它通过自动化执行任务和协调业务流程来提高效率。在本章节中,我们将首先介绍Coz工作流的基础概念和其在业务流程自动化中的应用。Coz工作流利用一系列预定义的任务、规则以及任务之间的依赖关系,按照既定规
recommend-type

HR和HRBP区别

<think>首先,用户意图是了解HR和HRBP的区别。用户问题是“HR和HRBP的区别”。我需要根据任务要求进行网络搜索。 任务要求: 1. 调用网络搜索工具进行检索。 2. 整合检索到的内容,生成详细且清晰的回答。 3. 禁止将所有引用内容集中在回答末尾。 4. 避免使用第一人称如“我”。 5. 避免步骤词汇如“首先”、“然后”。 6. 尽量将答案组织为多个方法或步骤,并在每个步骤间换行。 7. 对于代码和公式:如果有,必须使用指定格式。 8. 在回答最后添加相关问题部分,标题为“§§相关问题§§:”,后跟至少3个相关问题,每个用阿拉伯数字标号。 由于问题是关于HR和HRBP的区别,不