MySQL Cluster驗證管理節點配置中內存是否超標的腳本 驗證管理節點config.ini參數配置的shell腳本,看memory是否超標,運行的時候需要附帶上面data node id, 而且cluster要處於工作狀態,最起碼manage node和data node要處於啟動狀態 run check_memery.sh 腳本內容下:
#!/bin/bash usage() { echo "-----------------------------" echo "Usage:$(basename $0) NodeId" #數據節點的ID echo "-----------------------------" echo exit 1 } print_size () { string1=$(echo $1|sed -e :a -e 's/^.\{1,40\}$/&./;ta') echo -e "$string1 (MB):\t$2" } if [ "$1" == "" ]; then usage fi string1=$(echo $1|egrep "^[0-9]+$") if [ "$1" != "$string1" ]; then usage fi # GETVAL="ndb_config --id=$1 -q" GETVAL="/root/mysql-cluster-gpl-7.2.7-linux2.6-x86_64/bin/ndb_config --id=$1 -q" #ndb_config --id=12 -q MaxNoOfAttributes ksize=1024 msize=$(echo "scale=2; 1024*1024" | bc -l 2>/dev/null) gsize=$(echo "scale=2; 1024*1024*1024" | bc -l 2>/dev/null) echo "KB:$ksize MB:$msize GB:$gsize" MEMSIZE=0 #Attributes TSIZE=$($GETVAL MaxNoOfAttributes) TSIZE=$(echo "scale=0; $TSIZE*200" | bc -l 2>/dev/null) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "MaxNoOfAttributes" $TSIZE #Attributes TSIZE=$($GETVAL MaxNoOfTables) TSIZE=$(echo "scale=0; $TSIZE*20*$ksize" | bc -l 2>/dev/null) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "MaxNoOfTables" $TSIZE #Attributes TSIZE=$($GETVAL MaxNoOfOrderedIndexes) TSIZE=$(echo "scale=0; $TSIZE*10*$ksize" | bc -l 2>/dev/null) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "MaxNoOfOrderedIndexes" $TSIZE #Attributes TSIZE=$($GETVAL MaxNoOfUniqueHashIndexes) TSIZE=$(echo "scale=0; $TSIZE*10*$ksize" | bc -l 2>/dev/null) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "MaxNoOfUniqueHashIndexes" $TSIZE #Attributes TSIZE=$($GETVAL MaxNoOfConcurrentOperations) TSIZE=$(echo "scale=0; $TSIZE*1*$ksize" | bc -l 2>/dev/null) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "MaxNoOfConcurrentOperations" $TSIZE #Attributes TSIZE=$($GETVAL TransactionBufferMemory) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "TransactionBufferMemory" $TSIZE #Attributes TSIZE=$($GETVAL IndexMemory) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "IndexMemory" $TSIZE #Attributes TSIZE=$($GETVAL DataMemory) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "DataMemory" $TSIZE #Attributes TSIZE=$($GETVAL UndoIndexBuffer) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "UndoIndexBuffer" $TSIZE #Attributes TSIZE=$($GETVAL UndoDataBuffer) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "UndoDataBuffer" $TSIZE #Attributes TSIZE=$($GETVAL RedoBuffer) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "RedoBuffer" $TSIZE #Attributes TSIZE=$($GETVAL LongMessageBuffer) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "LongMessageBuffer" $TSIZE #Attributes TSIZE=$($GETVAL DiskPageBufferMemory) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "DiskPageBufferMemory" $TSIZE #Attributes TSIZE=$($GETVAL SharedGlobalMemory) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "SharedGlobalMemory" $TSIZE #Attributes TSIZE=$($GETVAL BackupMemory) MEMSIZE=$(echo "scale=2; $MEMSIZE+$TSIZE" | bc -l 2>/dev/null) TSIZE=$(echo "scale=0; $TSIZE/$msize" | bc -l 2>/dev/null) print_size "BackupMemory" $TSIZE MEMSIZE=$(echo "scale=2; $MEMSIZE/$gsize" | bc -l 2>/dev/null) echo echo "******Total Memory size: ${MEMSIZE}GB******"