一、问题描述:1.输入命令start-all.sh正常启动集群时

出现以下图片报错:

2.或在正常启动zookeeper服务时zkServer.sh start后发现内存不足报错,导致zookeeper服务启动失败。

以上两个问题都是因为根目录内存不足所导致服务启动失败

二、问题查找分析:

查看分区状况

根目录在/dev/mapper/centos-root

发现根目录已用空间已达100%,没有空余空间,导致集群及zookeeper服务启动失败

三、问题解决

1.根据所需内存需求,使用虚拟机扩展磁盘,然后在系统内进行分区(注意在虚拟机具有快照的情况下不能进行扩展,要先将快照进行清除后才可继续扩展)

2.新建分区,并将id改为8e(以为将文件系统改为LVM)

[root@master ~]# fdisk /dev/sda

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

命令(输入 m 获取帮助):n(添加新的分区)

Partition type:

p primary (2 primary, 0 extended, 2 free)

e extended

Select (default p): p(查看分区信息)

分区号 (3,4,默认 3):

起始 扇区 (41943040-419430399,默认为 41943040):

将使用默认值 41943040

Last 扇区, +扇区 or +size{K,M,G} (41943040-419430399,默认为 419430399):

将使用默认值 419430399

分区 3 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sda:214.7 GB, 214748364800 字节,419430400 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x000b4e82

设备 Boot Start End Blocks Id System

/dev/sda1 * 2048 2099199 1048576 83 Linux

/dev/sda2 2099200 41943039 19921920 8e Linux LVM

/dev/sda3 41943040 419430399 188743680 83 Linux

命令(输入 m 获取帮助):t(改变某个分区的类型)

分区号 (1-3,默认 3):

Hex 代码(输入 L 列出所有代码):l

0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris

1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-

2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-

3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-

4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx

5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据

6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .

7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具

8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt

9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问

a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O

b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor

c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs

e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT

f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/

10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC

11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor

12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor

14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要

16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS

17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE

18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动

1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep

1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT

1e 隐藏的 W95 FAT1 80 旧 Minix

Hex 代码(输入 L 列出所有代码):8e

已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w(保存并退出)

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

正在同步磁盘。

3. 刷新并查看sda3是否存在

​[root@master ~]# partprobe

[root@master ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 200G 0 disk

├─sda1 8:1 0 1G 0 part /boot

├─sda2 8:2 0 19G 0 part

│ ├─centos-root 253:0 0 17G 0 lvm /

│ └─centos-swap 253:1 0 2G 0 lvm [SWAP]

└─sda3 8:3 0 180G 0 part

sr0 11:0 1 1024M 0 rom

4. 使用lvm命令新建卷/dev/sda3,并将其加载到卷组centos中

[root@master ~]# lvm

lvm> pvcreate /dev/sda3(建立逻辑卷)

Physical volume "/dev/sda3" successfully created.

lvm> pvdisplay(显示物理卷信息)

--- Physical volume ---

PV Name /dev/sda2

VG Name centos

PV Size <19.00 GiB / not usable 3.00 MiB

Allocatable yes (but full)

PE Size 4.00 MiB

Total PE 4863

Free PE 0

Allocated PE 4863

PV UUID mxA5P7-4vL0-0cOO-0PPy-1Uq3-HRdn-DHRmNV

"/dev/sda3" is a new physical volume of "10.00 GiB"

--- NEW Physical volume ---

PV Name /dev/sda3

VG Name

PV Size 180.00 GiB

Allocatable NO

PE Size 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID wor8da-PkXI-ghCq-U8sE-vkfq-ZhJo-di78al

lvm> vgdisplay(查看卷组)

--- Volume group ---

VG Name centos

System ID

Format lvm2

Metadata Areas 1

Metadata Sequence No 3

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 2

Open LV 2

Max PV 0

Cur PV 1

Act PV 1

VG Size <19.00 GiB

PE Size 4.00 MiB

Total PE 4863

Alloc PE / Size 4863 / <19.00 GiB

Free PE / Size 0 / 0

VG UUID cDss9h-G3Tk-zTb1-4vsa-lKcs-DX8B-8fDpmv

lvm> vgextend centos /dev/sda3

Volume group "centos" successfully extended

lvm> vgdisplay

--- Volume group ---

VG Name centos

System ID

Format lvm2

Metadata Areas 2

Metadata Sequence No 4

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 2

Open LV 2

Max PV 0

Cur PV 2

Act PV 2

VG Size 30.00 GiB

PE Size 4.00 MiB

Total PE 50942

Alloc PE / Size 4863 / <19.00 GiB

Free PE / Size 46079 / <10.00 GiB

VG UUID cDss9h-G3Tk-zTb1-4vsa-lKcs-DX8B-8fDpmv

lvm> lvextend -l +100%FREE /dev/centos/root(将新添内存100%扩展逻辑卷)

Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to 27.00 GiB (50430 extents).

Logical volume centos/root successfully resized.

lvm> exit

 5.之前对逻辑卷的扩容,还要同步到文件系统,实现对根目录的扩容

​[root@master ~]# xfs_growfs /dev/centos/root

meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1113856 blks

= sectsz=512 attr=2, projid32bit=1

= crc=1 finobt=0 spinodes=0

data = bsize=4096 blocks=4455424, imaxpct=25

= sunit=0 swidth=0 blks

naming =version 2 bsize=4096 ascii-ci=0 ftype=1

log =internal bsize=4096 blocks=2560, version=2

= sectsz=512 sunit=0 blks, lazy-count=1

realtime =none extsz=4096 blocks=0, rtextents=0

data blocks changed from 4455424 to 51640320

 再次df-h查看  发现根目录实现扩容完毕

启动zookeeper和集群服务,发现启动成功,问题解决

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: