一、环境
(1)腾讯云服务器:1核 1GB 1Mbps CentOS7
(2)tomcat:8.5.11
(3)nginx:nginx-1.11.9
(4)kafka:kafka_2.11-0.10.1.0(自带ZooKeeper)
(5)flume:apache-flume-1.7.0-bin
二、云服务器配置交换空间
硬件配置太低,运行的时候总是报错:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000e0000000, 536870912, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 536870912 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /opt/kafka/hs_err_pid3346.log
所以要进行配置交换空间(https://zhidao.baidu.com/question/1111572259239167739.html)
1、检查 Swap 空间在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件。运行以下命令:
swapon -s
2、检查文件系统在设置 Swap 文件之前,同样有必要检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap 。运行以下命令:如果返回的信息概要是空的,则表示 Swap 文件不存在。
df
-hal
检查返回的信息,还剩余足够的硬盘空间即可。
3、创建并允许 Swap 文件下面使用 dd 命令来创建 Swap 文件。
dd
if
=
/dev/zero
of=
/swapfile
bs=1024 count=512k
参数解读:if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >bs=bytes:同时设置读入/输出的块大小为bytes个字节count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。
4、格式化并激活 Swap 文件上面已经创建好 Swap 文件,还需要格式化后才能使用。运行命令:
mkswap
/swapfile
激活 Swap ,运行命令:
swapon
/swapfile
以上步骤做完,再次运行命令:
swapon -s
你会发现返回的信息概要:
Filename Type Size Used Priority
/swapfile
file
524284 0 -1
如果要机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:
/swapfile
swap swap defaults 0 0
最后,赋予 Swap 文件适当的权限:
chown
root:root
/swapfile
chmod
0600
/swapfile