OGG-25715 错误
OGG-25715 错误
前言
启动 Extract 进程的时候出现 OGG-25715 错误的解决方法,在网上搜索到的解决方法并不适用于我的环境,所以记录一下
OGG-25715 错误的解决方法
在目标端 ogg Kafka 环境 replicat 进程启动时,遇到以下错误:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2025-02-26 22:28:19 INFO OGG-01851 filecaching started: thread ID: 140174464091904.
2025-02-26 22:28:19 INFO OGG-01815 Virtual Memory Facilities for: COM
anon alloc: mmap(MAP_ANON) anon free: munmap
file alloc: mmap(MAP_SHARED) file free: munmap
target directories:
/home/ogg/ogg21/dirtmp.
Source Context :
SourceModule : [ggapp.cachemgr]
SourceID : [../gglib/ggapp/cachemgr/cmgr_restore.c]
SourceMethod : [cm_vm_vals_set]
SourceLine : [2861]
ThreadBacktrace : [13] elements
: [/home/ogg/ogg21/libgglog.so(CMessageContext::AddThreadContext())]
: [/home/ogg/ogg21/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...))]
: [/home/ogg/ogg21/libgglog.so(_MSG_(CSourceContext*, int, CMessageFactory::MessageDisposition))]
: [/home/ogg/ogg21/replicat()]
: [/home/ogg/ogg21/replicat()]
: [/home/ogg/ogg21/replicat(CM_cache_init(pool_info*, char const*, extract_vals*))]
: [/home/ogg/ogg21/replicat()]
: [/home/ogg/ogg21/replicat(ggs::gglib::MultiThreading::MainThread::ExecMain())]
: [/home/ogg/ogg21/replicat(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*))]
: [/home/ogg/ogg21/replicat(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]
: [/home/ogg/ogg21/replicat(main)]
: [/lib64/libc.so.6(__libc_start_main)]
: [/home/ogg/ogg21/replicat()]
2025-02-26 22:28:19 ERROR OGG-25715 CACHEMGR: No Swap environment and parameter CONTAINER MEM_LIMIT not set.
2025-02-26 22:28:19 ERROR OGG-01668 PROCESS ABENDING.
错误信息提示很明显,没有设置 CONTAINER MEM_LIMIT 参数和 swap 空间,所以需要在配置文件中设置该参数或者设置 swap 空间
查看当前 swap 空间
1
2
3
4
5
6
GGSCI (bigdata01) 9> shell free -h
total used free shared buff/cache available
Mem: 125G 78G 4.5G 4.0G 42G 42G
Swap: 0B 0B 0B
OS 没有设置 swap 空间,所以需要设置 swap 空间或者设置相关的参数,如果不想更改 OS 环境,ogg 链路有比较少的话,可以在配置文件中设置 CONTAINER MEM_LIMIT 参数,如果链路比较多,可以设置 swap 空间
1
2
3
4
GGSCI (bigdata01) 10> edit params replicate
container mem_limit 8G
cachemgr cachesize 1G
需要注意的是 mem_limit 参数的设置,需要根据实际情况设置,不要设置过大,否则会影响系统的性能,不能比实际的物理内存大。 cachesize 参数设置的是缓存的大小,不能比 mem_limit 大
设置完成之后,重启 replicat 进程即可
嫌麻烦可以直接设置 swap,参考以下脚本,脚本是之前网上找到的,可以根据实际情况修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
cat >> addswap.sh<<wxj
#!/bin/bash
#********************************************************
#Author: Archangel
#Description:
#Date: 2023-03-16 21:33:16
#LastEditTime: 2023-03-16 21:33:16
#FilePath: \Desktop\swapfile.sh
#LastEditors: Archangel
#********************************************************
#定义颜色参数
function echo_color() {
#定义颜色函数变量
var_color=${1}
#定义颜色函数参数
content_str=${2}
#定义颜色时间参数
date_time=$(date "+%Y-%m-%d %H:%M:%S.%N" | cut -b 1-23)
#清空默认值
content_echo_str=""
#定义颜色变量
error_color="\033[1;5;41m" #红底背景红字带闪烁,致命错误
failed_color="\033[1;31m" #红色字体,执行错误信息
warn_color="\033[1;33m" #黄色字体,警号信息
succ_color="\033[1;32m" #绿色字体,执行正确信息
info_color="\033[1;34m" #蓝色字体,提示信息
violet_color='\033[1;35m' #紫色字体,信息
blue_underline_color='\033[47;34m' #蓝色带下滑线,信息
dark_green_underline_color='\033[4;36m' #深绿色带下滑线,信息
red_twinkle_color='\033[5;31m' #红字带闪烁,致命错误
#定义颜色结束变量
RES='\033[0m'
## 判断参数 1 是否是空字符串
if [ "x${content_str}" == "x" ]; then
return
else
content_str="[${date_time}] ${content_str} ${RES}"
fi
#定义输出串
case ${var_color} in
error) #error
content_echo_str="${error_color}\t${content_str}"
;;
failed) #failed
content_echo_str="${failed_color}\t${content_str}"
;;
warning) #warning
content_echo_str="${warn_color}\t${content_str}"
;;
success) #success
content_echo_str="${succ_color}\t${content_str}"
;;
info) #info
content_echo_str="${info_color}\t${content_str}"
;;
violet) #violet
content_echo_str="${violet_color}\t${content_str}"
;;
blue_underline) #blue_underline
content_echo_str="${blue_underline_color}\t${content_str}"
;;
dark_green_underline) #dark_green_underline
content_echo_str="${dark_green_underline_color}\t${content_str}"
;;
red_twinkle) #red_twinkle
content_echo_str="${red_twinkle_color}\t${content_str}"
;;
esac
## 打印输出
echo -e "${content_echo_str}"
}
# 设置交换分区文件大小,单位 MB
swapfile=$1
swap_size=$2
unit=$3
if [ -z "${swapfile}" ] || [ -z "${swap_size}" ] || [ -z "${unit}" ]; then
echo_color failed "参数错误:缺少必要参数"
echo_color success "sh $0 交换分区文件位置 交换分区文件大小 单位 1(M|G)"
echo_color warning "sh $0 /swap/swapfile 2048 M"
exit
fi
swap_dir=$(dirname ${swapfile})
if [ ! -d ${swap_dir} ]; then
echo_color info "创建目录:${swap_dir}"
mkdir -p ${swap_dir}
fi
echo_color info "创建一个空白文件作为交换分区,单次 1${unit},共${swap_size}次"
dd if=/dev/zero of=${swapfile} bs=1${unit} count=${swap_size}
echo_color info "设置文件权限,仅限 root 用户读写"
chmod 600 ${swapfile}
echo_color info "格式化交换分区"
mkswap ${swapfile}
echo_color info "启用交换分区"
swapon ${swapfile}
echo_color info "永久生效,将以下内容添加到 /etc/fstab 文件中"
echo "${swapfile} swap defaults 0 0" >>/etc/fstab
wxj
使用方法:
1
sh addswap.sh /swap/swapfile 2048 M
总结
- OGG-25715 错误的解决方法
- 设置 swap 空间或者设置 CONTAINER MEM_LIMIT 和 cachesize 参数
本文由作者按照
CC BY 4.0
进行授权