added possibility to start ndb cluster with different sized clusters for usage from mysql test run

parent 68d6b96d
[ndbd default]
NoOfReplicas= 1
MaxNoOfConcurrentTransactions= 64
MaxNoOfConcurrentOperations= CHOOSE_MaxNoOfConcurrentOperations
DataMemory= CHOOSE_DataMemory
IndexMemory= CHOOSE_IndexMemory
Diskless= CHOOSE_Diskless
TimeBetweenWatchDogCheck= 30000
DataDir= CHOOSE_FILESYSTEM
MaxNoOfOrderedIndexes= CHOOSE_MaxNoOfOrderedIndexes
MaxNoOfAttributes= CHOOSE_MaxNoOfAttributes
TimeBetweenGlobalCheckpoints= 500
NoOfFragmentLogFiles= 3
[ndbd]
HostName= CHOOSE_HOSTNAME_1 # hostname is a valid network adress
[ndb_mgmd]
HostName= CHOOSE_HOSTNAME_1 # hostname is a valid network adress
DataDir= CHOOSE_FILESYSTEM #
PortNumber= CHOOSE_PORT_MGM
[mysqld]
[mysqld]
[mysqld]
[mysqld]
[mysqld]
[mysqld]
[mysqld]
[mysqld]
[ndbd default] [ndbd default]
NoOfReplicas= 2 NoOfReplicas= 2
MaxNoOfConcurrentTransactions= 64
MaxNoOfConcurrentOperations= CHOOSE_MaxNoOfConcurrentOperations MaxNoOfConcurrentOperations= CHOOSE_MaxNoOfConcurrentOperations
DataMemory= CHOOSE_DataMemory DataMemory= CHOOSE_DataMemory
IndexMemory= CHOOSE_IndexMemory IndexMemory= CHOOSE_IndexMemory
...@@ -7,6 +8,9 @@ Diskless= CHOOSE_Diskless ...@@ -7,6 +8,9 @@ Diskless= CHOOSE_Diskless
TimeBetweenWatchDogCheck= 30000 TimeBetweenWatchDogCheck= 30000
DataDir= CHOOSE_FILESYSTEM DataDir= CHOOSE_FILESYSTEM
MaxNoOfOrderedIndexes= CHOOSE_MaxNoOfOrderedIndexes MaxNoOfOrderedIndexes= CHOOSE_MaxNoOfOrderedIndexes
MaxNoOfAttributes= CHOOSE_MaxNoOfAttributes
TimeBetweenGlobalCheckpoints= 500
NoOfFragmentLogFiles= 3
[ndbd] [ndbd]
HostName= CHOOSE_HOSTNAME_1 # hostname is a valid network adress HostName= CHOOSE_HOSTNAME_1 # hostname is a valid network adress
...@@ -26,3 +30,11 @@ PortNumber= CHOOSE_PORT_MGM ...@@ -26,3 +30,11 @@ PortNumber= CHOOSE_PORT_MGM
[mysqld] [mysqld]
[mysqld] [mysqld]
[mysqld]
[mysqld]
[mysqld]
[mysqld]
[ndbd default]
NoOfReplicas= 2
MaxNoOfConcurrentTransactions= 64
MaxNoOfConcurrentOperations= CHOOSE_MaxNoOfConcurrentOperations
DataMemory= CHOOSE_DataMemory
IndexMemory= CHOOSE_IndexMemory
Diskless= CHOOSE_Diskless
TimeBetweenWatchDogCheck= 30000
DataDir= CHOOSE_FILESYSTEM
MaxNoOfOrderedIndexes= CHOOSE_MaxNoOfOrderedIndexes
MaxNoOfAttributes= CHOOSE_MaxNoOfAttributes
TimeBetweenGlobalCheckpoints= 500
NoOfFragmentLogFiles= 3
[ndbd]
HostName= CHOOSE_HOSTNAME_1 # hostname is a valid network adress
[ndbd]
HostName= CHOOSE_HOSTNAME_2 # hostname is a valid network adress
[ndbd]
HostName= CHOOSE_HOSTNAME_3 # hostname is a valid network adress
[ndbd]
HostName= CHOOSE_HOSTNAME_4 # hostname is a valid network adress
[ndb_mgmd]
HostName= CHOOSE_HOSTNAME_1 # hostname is a valid network adress
DataDir= CHOOSE_FILESYSTEM #
PortNumber= CHOOSE_PORT_MGM
[mysqld]
[mysqld]
[mysqld]
[mysqld]
[mysqld]
[mysqld]
[mysqld]
[mysqld]
...@@ -51,12 +51,15 @@ stop_ndb= ...@@ -51,12 +51,15 @@ stop_ndb=
initial_ndb= initial_ndb=
status_ndb= status_ndb=
ndb_diskless=0 ndb_diskless=0
ndbd_nodes=2
ndb_no_ord=512 ndb_no_ord=512
ndb_no_attr=2048
ndb_con_op=105000 ndb_con_op=105000
ndb_dmem=80M ndb_dmem=80M
ndb_imem=24M ndb_imem=24M
VERBOSE=100
NDB_MGM_EXTRA_OPTS= NDB_MGM_EXTRA_OPTS=
NDB_MGMD_EXTRA_OPTS= NDB_MGMD_EXTRA_OPTS=
NDBD_EXTRA_OPTS= NDBD_EXTRA_OPTS=
...@@ -76,14 +79,17 @@ while test $# -gt 0; do ...@@ -76,14 +79,17 @@ while test $# -gt 0; do
--debug*) --debug*)
flags_ndb="$flags_ndb $1" flags_ndb="$flags_ndb $1"
;; ;;
--ndbd-nodes=*)
ndbd_nodes=`echo "$1" | sed -e "s;--ndbd-nodes=;;"`
;;
--status) --status)
status_ndb=1 status_ndb=1
;; ;;
--small) --small)
ndb_no_ord=128 ndb_no_ord=32
ndb_con_op=10000 ndb_con_op=5000
ndb_dmem=40M ndb_dmem=10M
ndb_imem=12M ndb_imem=1M
;; ;;
--diskless) --diskless)
ndb_diskless=1 ndb_diskless=1
...@@ -106,6 +112,9 @@ while test $# -gt 0; do ...@@ -106,6 +112,9 @@ while test $# -gt 0; do
--ndbd-extra-opts=*) --ndbd-extra-opts=*)
NDBD_EXTRA_OPTS=`echo "$1" | sed -e "s;--ndbd-extra-opts=;;"` NDBD_EXTRA_OPTS=`echo "$1" | sed -e "s;--ndbd-extra-opts=;;"`
;; ;;
--verbose=*)
VERBOSE=`echo "$1" | sed -e "s;--verbose=;;"`
;;
-- ) shift; break ;; -- ) shift; break ;;
--* ) $ECHO "Unrecognized option: $1"; exit 1 ;; --* ) $ECHO "Unrecognized option: $1"; exit 1 ;;
* ) break ;; * ) break ;;
...@@ -114,9 +123,10 @@ while test $# -gt 0; do ...@@ -114,9 +123,10 @@ while test $# -gt 0; do
done done
fs_ndb="$fsdir/ndbcluster-$port" fs_ndb="$fsdir/ndbcluster-$port"
config_ini=ndb/ndb_config_${ndbd_nodes}_node.ini
NDB_HOME= NDB_HOME=
if [ ! -x "$fsdir" ]; then if [ ! -d "$fsdir" ]; then
echo "$fsdir missing" echo "$fsdir missing"
exit 1 exit 1
fi fi
...@@ -132,6 +142,10 @@ if [ ! -x "$exec_waiter" ]; then ...@@ -132,6 +142,10 @@ if [ ! -x "$exec_waiter" ]; then
echo "$exec_waiter missing" echo "$exec_waiter missing"
exit 1 exit 1
fi fi
if [ ! -f "$config_ini" ]; then
echo "$config_ini missing, unsupported number of nodes"
exit 1
fi
exec_mgmtclient="$exec_mgmtclient --no-defaults $NDB_MGM_EXTRA_OPTS" exec_mgmtclient="$exec_mgmtclient --no-defaults $NDB_MGM_EXTRA_OPTS"
exec_mgmtsrvr="$exec_mgmtsrvr --no-defaults $NDB_MGMD_EXTRA_OPTS" exec_mgmtsrvr="$exec_mgmtsrvr --no-defaults $NDB_MGMD_EXTRA_OPTS"
...@@ -183,6 +197,7 @@ fi ...@@ -183,6 +197,7 @@ fi
if [ $initial_ndb ] ; then if [ $initial_ndb ] ; then
rm -rf $fs_ndb/ndb_* 2>&1 | cat > /dev/null rm -rf $fs_ndb/ndb_* 2>&1 | cat > /dev/null
sed \ sed \
-e s,"CHOOSE_MaxNoOfAttributes","$ndb_no_attr",g \
-e s,"CHOOSE_MaxNoOfOrderedIndexes","$ndb_no_ord",g \ -e s,"CHOOSE_MaxNoOfOrderedIndexes","$ndb_no_ord",g \
-e s,"CHOOSE_MaxNoOfConcurrentOperations","$ndb_con_op",g \ -e s,"CHOOSE_MaxNoOfConcurrentOperations","$ndb_con_op",g \
-e s,"CHOOSE_DataMemory","$ndb_dmem",g \ -e s,"CHOOSE_DataMemory","$ndb_dmem",g \
...@@ -191,7 +206,7 @@ if [ $initial_ndb ] ; then ...@@ -191,7 +206,7 @@ if [ $initial_ndb ] ; then
-e s,"CHOOSE_HOSTNAME_".*,"$ndb_host",g \ -e s,"CHOOSE_HOSTNAME_".*,"$ndb_host",g \
-e s,"CHOOSE_FILESYSTEM","$fs_ndb",g \ -e s,"CHOOSE_FILESYSTEM","$fs_ndb",g \
-e s,"CHOOSE_PORT_MGM","$ndb_mgmd_port",g \ -e s,"CHOOSE_PORT_MGM","$ndb_mgmd_port",g \
< ndb/ndb_config_2_node.ini \ < "$config_ini" \
> "$fs_ndb/config.ini" > "$fs_ndb/config.ini"
fi fi
...@@ -202,7 +217,7 @@ if ( cd "$fs_ndb" ; $exec_mgmtsrvr -f config.ini ) ; then :; else ...@@ -202,7 +217,7 @@ if ( cd "$fs_ndb" ; $exec_mgmtsrvr -f config.ini ) ; then :; else
echo "Unable to start $exec_mgmtsrvr from `pwd`" echo "Unable to start $exec_mgmtsrvr from `pwd`"
exit 1 exit 1
fi fi
if sleep_until_file_created $fs_ndb/ndb_3.pid 120 if sleep_until_file_created $fs_ndb/ndb_`expr $ndbd_nodes + 1`.pid 120
then :; else then :; else
exit 1 exit 1
fi fi
...@@ -210,38 +225,43 @@ cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile" ...@@ -210,38 +225,43 @@ cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
# Start database node # Start database node
echo "Starting ndbd" id=1
( cd "$fs_ndb" ; $exec_ndb $flags_ndb & ) while [ $id -le $ndbd_nodes ]
if sleep_until_file_created $fs_ndb/ndb_1.pid 120 do
then :; else if [ `expr $VERBOSE \> 1` = 1 ] ; then
stop_default_ndbcluster echo "Starting ndbd $id($ndbd_nodes)"
exit 1 fi
fi ( cd "$fs_ndb" ; $exec_ndb $flags_ndb & )
cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile" if sleep_until_file_created $fs_ndb/ndb_${id}.pid 120
then :; else
# Start database node stop_default_ndbcluster
exit 1
echo "Starting ndbd" fi
( cd "$fs_ndb" ; $exec_ndb $flags_ndb & ) cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
if sleep_until_file_created $fs_ndb/ndb_2.pid 120 id=`expr $id + 1`
then :; else done
stop_default_ndbcluster
exit 1
fi
cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
# test if Ndb Cluster starts properly # test if Ndb Cluster starts properly
echo "Waiting for started..." if [ `expr $VERBOSE \> 1` = 1 ] ; then
if ( $exec_waiter ) | grep "NDBT_ProgramExit: 0 - OK"; then :; else echo "Waiting for started..."
echo "Ndbcluster startup failed" fi
if ( $exec_waiter ) | grep "NDBT_ProgramExit: 0 - OK" > /dev/null 2>&1 ; then :; else
if [ `expr $VERBOSE \> 0` = 1 ] ; then
echo "Ndbcluster startup failed"
fi
stop_default_ndbcluster stop_default_ndbcluster
exit 1 exit 1
fi fi
if [ `expr $VERBOSE \> 1` = 1 ] ; then
echo "Ok"
fi
cat `find "$fs_ndb" -name 'ndb_*.pid'` > $fs_ndb/$pidfile cat `find "$fs_ndb" -name 'ndb_*.pid'` > $fs_ndb/$pidfile
status_ndbcluster if [ `expr $VERBOSE \> 2` = 1 ] ; then
status_ndbcluster
fi
} }
status_ndbcluster() { status_ndbcluster() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment