背景:生产环境CDH集群硬盘坏道,读写IO报错,需进行硬盘更换,更换硬盘后集群kudu组件TableT Seerver服务启动异常。
过程如下:
1.停止kudu集群TableT Server实例。
2.更换硬盘。
3.起动TableT Seerver实例,启动报错,报错信息如下:
og line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
I0514 16:08:13.608228 23444 tablet_server_main.cc:72] Tablet server non-default flags:
--block_cache_capacity_mb=4096
--fs_data_dirs=/data1/kudu_tablet/fs_data_dirs,/data2/kudu_tablet/fs_data_dirs,/data3/kudu_tablet/fs_data_dirs,/data4/kudu_tablet/fs_data_dirs,/data5/kudu_tablet/fs_data_dirs,/data6/kudu_tablet/fs_data_dirs,/data7/kudu_tablet/fs_data_dirs,/data8/kudu_tablet/fs_data_dirs,/data9/kudu_tablet/fs_data_dirs,/data10/kudu_tablet/fs_data_dirs,/data11/kudu_tablet/fs_data_dirs,/data12/kudu_tablet/fs_data_dirs,/data13/kudu_tablet/fs_data_dirs,/data14/kudu_tablet/fs_data_dirs,/data15/kudu_tablet/fs_data_dirs,/data16/kudu_tablet/fs_data_dirs,/data17/kudu_tablet/fs_data_dirs,/data18/kudu_tablet/fs_data_dirs,/data19/kudu_tablet/fs_data_dirs,/data20/kudu_tablet/fs_data_dirs,/data21/kudu_tablet/fs_data_dirs,/data22/kudu_tablet/fs_data_dirs
--fs_wal_dir=/data2/kudu_tablet/fs_wal_dir
--tserver_master_addrs=hostname01,hostname02,hostname03
--heap_profile_path=/tmp/kudu-tserver.23444
--maintenance_manager_num_threads=7
--memory_limit_hard_bytes=68719476736
--flagfile=/run/cloudera-scm-agent/process/13421-kudu-KUDU_TSERVER/gflagfile
Tablet server version:
kudu 1.5.0-cdh5.13.1
revision 9044f1f377a6f2044d800600e5c2dc5e989c4dd4
build type RELEASE
built by jenkins at 09 Nov 2017 08:50:42 PST on impala-ec2-pkg-centos-7-0c27.vpc.cloudera.com
build id 2017-11-09_08-09-26
I0514 16:08:13.612650 23444 minidump.cc:237] Setting minidump size limit to 20M
I0514 16:08:13.614122 23444 tablet_server_main.cc:79] Initializing tablet server...
I0514 16:08:13.614723 23444 system_ntp.cc:71] NTP initialized. Skew: 500ppm Current error: 215910us
I0514 16:08:13.741030 23444 server_base.cc:228] Could not load existing FS layout: Not found: /data17/kudu_tablet/fs_data_dirs/instance: No such file or directory (error 2)
I0514 16:08:13.741040 23444 server_base.cc:229] Creating new FS layout
F0514 16:08:13.741080 23444 tablet_server_main.cc:80] Check failed: _s.ok() Bad status: Already present: Could not create new FS layout: FSManager root is not empty: /data1/kudu_tablet/fs_data_dirs
起初各种尝试无法启动该主机上kudu TableT Seerver服务,而其余hbase/Impala等服务均正常恢复,经多方请教后知需要删除该主机所有数据目录,生产环境数据盘大不敢轻易动手删除呀,再查阅各种资料,故障时间不能等,决定动手。
解决方法:
1.集群管理cm上删除该主机上kudu的TableT Serve角色。
2.服务器上删除改主机TableT Serve的数据目录fs_data_dirs和wal目录fs_wal_dir
rm -rf /data1/kudu_tablet/*
rm -rf /data2/kudu_tablet/*
rm -rf /data3/kudu_tablet/*
..................(略)...............
rm -rf /data22/kudu_tablet/*
3.集群管理cm上添加该主机TableT Serve角色
4.启动TableT Serve实例服务,服务启动正常