add support vnodes config
This commit is contained in:
parent
dd4af3274d
commit
b2cf6b3496
|
@ -30,11 +30,12 @@ extern char tsLocalEp[];
|
||||||
extern uint16_t tsServerPort;
|
extern uint16_t tsServerPort;
|
||||||
extern int32_t tsStatusInterval;
|
extern int32_t tsStatusInterval;
|
||||||
extern int8_t tsEnableTelemetryReporting;
|
extern int8_t tsEnableTelemetryReporting;
|
||||||
|
extern int32_t tsNumOfSupportVnodes;
|
||||||
|
|
||||||
// common
|
// common
|
||||||
extern int tsRpcTimer;
|
extern int tsRpcTimer;
|
||||||
extern int tsRpcMaxTime;
|
extern int tsRpcMaxTime;
|
||||||
extern int tsRpcForceTcp; // all commands go to tcp protocol if this is enabled
|
extern int tsRpcForceTcp; // all commands go to tcp protocol if this is enabled
|
||||||
extern int32_t tsMaxConnections;
|
extern int32_t tsMaxConnections;
|
||||||
extern int32_t tsMaxShellConns;
|
extern int32_t tsMaxShellConns;
|
||||||
extern int32_t tsShellActivityTimer;
|
extern int32_t tsShellActivityTimer;
|
||||||
|
@ -48,14 +49,18 @@ extern int32_t tsCompressMsgSize;
|
||||||
extern int32_t tsCompressColData;
|
extern int32_t tsCompressColData;
|
||||||
extern int32_t tsMaxNumOfDistinctResults;
|
extern int32_t tsMaxNumOfDistinctResults;
|
||||||
extern char tsTempDir[];
|
extern char tsTempDir[];
|
||||||
extern int64_t tsMaxVnodeQueuedBytes;
|
extern int tsCompatibleModel; // 2.0 compatible model
|
||||||
extern int tsCompatibleModel; // 2.0 compatible model
|
extern int8_t tsEnableSlaveQuery;
|
||||||
|
extern int8_t tsEnableAdjustMaster;
|
||||||
|
extern int8_t tsPrintAuth;
|
||||||
|
extern int64_t tsTickPerDay[3];
|
||||||
|
|
||||||
//query buffer management
|
// query buffer management
|
||||||
extern int32_t tsQueryBufferSize; // maximum allowed usage buffer size in MB for each data node during query processing
|
extern int32_t tsQueryBufferSize; // maximum allowed usage buffer size in MB for each data node during query processing
|
||||||
extern int64_t tsQueryBufferSizeBytes; // maximum allowed usage buffer size in byte for each data node during query processing
|
extern int64_t tsQueryBufferSizeBytes; // maximum allowed usage buffer size in byte for each data node
|
||||||
extern int32_t tsRetrieveBlockingModel;// retrieve threads will be blocked
|
extern int32_t tsRetrieveBlockingModel; // retrieve threads will be blocked
|
||||||
extern int8_t tsKeepOriginalColumnName;
|
extern int8_t tsKeepOriginalColumnName;
|
||||||
|
extern int8_t tsDeadLockKillQuery;
|
||||||
|
|
||||||
// client
|
// client
|
||||||
extern int32_t tsMaxSQLStringLen;
|
extern int32_t tsMaxSQLStringLen;
|
||||||
|
@ -72,27 +77,17 @@ extern float tsStreamComputDelayRatio; // the delayed computing ration of the
|
||||||
extern int32_t tsProjectExecInterval;
|
extern int32_t tsProjectExecInterval;
|
||||||
extern int64_t tsMaxRetentWindow;
|
extern int64_t tsMaxRetentWindow;
|
||||||
|
|
||||||
// balance
|
|
||||||
extern int8_t tsEnableSlaveQuery;
|
|
||||||
|
|
||||||
|
|
||||||
// interna
|
|
||||||
extern int8_t tsPrintAuth;
|
|
||||||
extern char tsVnodeDir[];
|
|
||||||
extern char tsMnodeDir[];
|
|
||||||
extern int64_t tsTickPerDay[3];
|
|
||||||
|
|
||||||
// system info
|
// system info
|
||||||
extern float tsTotalLogDirGB;
|
extern float tsTotalLogDirGB;
|
||||||
extern float tsTotalTmpDirGB;
|
extern float tsTotalTmpDirGB;
|
||||||
extern float tsTotalDataDirGB;
|
extern float tsTotalDataDirGB;
|
||||||
extern float tsAvailLogDirGB;
|
extern float tsAvailLogDirGB;
|
||||||
extern float tsAvailTmpDirectorySpace;
|
extern float tsAvailTmpDirectorySpace;
|
||||||
extern float tsAvailDataDirGB;
|
extern float tsAvailDataDirGB;
|
||||||
extern float tsUsedDataDirGB;
|
extern float tsUsedDataDirGB;
|
||||||
extern float tsMinimalLogDirGB;
|
extern float tsMinimalLogDirGB;
|
||||||
extern float tsReservedTmpDirectorySpace;
|
extern float tsReservedTmpDirectorySpace;
|
||||||
extern float tsMinimalDataDirGB;
|
extern float tsMinimalDataDirGB;
|
||||||
extern uint32_t tsVersion;
|
extern uint32_t tsVersion;
|
||||||
|
|
||||||
// build info
|
// build info
|
||||||
|
@ -102,17 +97,13 @@ extern char gitinfo[];
|
||||||
extern char gitinfoOfInternal[];
|
extern char gitinfoOfInternal[];
|
||||||
extern char buildinfo[];
|
extern char buildinfo[];
|
||||||
|
|
||||||
#ifdef TD_TSZ
|
// lossy
|
||||||
// lossy
|
extern char tsLossyColumns[];
|
||||||
extern char lossyColumns[];
|
extern double tsFPrecision;
|
||||||
extern double fPrecision;
|
extern double tsDPrecision;
|
||||||
extern double dPrecision;
|
extern uint32_t tsMaxRange;
|
||||||
extern uint32_t maxRange;
|
extern uint32_t tsCurRange;
|
||||||
extern uint32_t curRange;
|
extern char tsCompressor[];
|
||||||
extern char Compressor[];
|
|
||||||
#endif
|
|
||||||
// long query
|
|
||||||
extern int8_t tsDeadLockKillQuery;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char dir[TSDB_FILENAME_LEN];
|
char dir[TSDB_FILENAME_LEN];
|
||||||
|
|
|
@ -651,8 +651,8 @@ typedef struct {
|
||||||
int64_t clusterId;
|
int64_t clusterId;
|
||||||
int64_t rebootTime;
|
int64_t rebootTime;
|
||||||
int64_t updateTime;
|
int64_t updateTime;
|
||||||
int16_t numOfCores;
|
int32_t numOfCores;
|
||||||
int16_t numOfSupportVnodes;
|
int32_t numOfSupportVnodes;
|
||||||
char dnodeEp[TSDB_EP_LEN];
|
char dnodeEp[TSDB_EP_LEN];
|
||||||
SClusterCfg clusterCfg;
|
SClusterCfg clusterCfg;
|
||||||
SVnodeLoads vnodeLoads;
|
SVnodeLoads vnodeLoads;
|
||||||
|
|
|
@ -27,8 +27,8 @@ typedef struct SDnode SDnode;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int32_t sver;
|
int32_t sver;
|
||||||
int16_t numOfCores;
|
int32_t numOfCores;
|
||||||
int16_t numOfSupportVnodes;
|
int32_t numOfSupportVnodes;
|
||||||
int16_t numOfCommitThreads;
|
int16_t numOfCommitThreads;
|
||||||
int8_t enableTelem;
|
int8_t enableTelem;
|
||||||
int32_t statusInterval;
|
int32_t statusInterval;
|
||||||
|
|
|
@ -21,7 +21,6 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern char tsOsName[];
|
extern char tsOsName[];
|
||||||
extern char tsDnodeDir[];
|
|
||||||
extern char tsDataDir[];
|
extern char tsDataDir[];
|
||||||
extern char tsLogDir[];
|
extern char tsLogDir[];
|
||||||
extern char tsScriptDir[];
|
extern char tsScriptDir[];
|
||||||
|
|
|
@ -15,17 +15,18 @@
|
||||||
|
|
||||||
#define _DEFAULT_SOURCE
|
#define _DEFAULT_SOURCE
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
|
|
||||||
#include "taosdef.h"
|
#include "taosdef.h"
|
||||||
#include "taoserror.h"
|
#include "taoserror.h"
|
||||||
#include "ulog.h"
|
|
||||||
#include "tlog.h"
|
|
||||||
#include "tconfig.h"
|
|
||||||
#include "tglobal.h"
|
|
||||||
#include "tcompare.h"
|
#include "tcompare.h"
|
||||||
#include "tutil.h"
|
#include "tconfig.h"
|
||||||
#include "ttimezone.h"
|
|
||||||
#include "tlocale.h"
|
|
||||||
#include "tep.h"
|
#include "tep.h"
|
||||||
|
#include "tglobal.h"
|
||||||
|
#include "tlocale.h"
|
||||||
|
#include "tlog.h"
|
||||||
|
#include "ttimezone.h"
|
||||||
|
#include "tutil.h"
|
||||||
|
#include "ulog.h"
|
||||||
|
|
||||||
// cluster
|
// cluster
|
||||||
char tsFirst[TSDB_EP_LEN] = {0};
|
char tsFirst[TSDB_EP_LEN] = {0};
|
||||||
|
@ -36,22 +37,24 @@ uint16_t tsServerPort = 6030;
|
||||||
int32_t tsStatusInterval = 1; // second
|
int32_t tsStatusInterval = 1; // second
|
||||||
int8_t tsEnableTelemetryReporting = 0;
|
int8_t tsEnableTelemetryReporting = 0;
|
||||||
char tsEmail[TSDB_FQDN_LEN] = {0};
|
char tsEmail[TSDB_FQDN_LEN] = {0};
|
||||||
|
int32_t tsNumOfSupportVnodes = 16;
|
||||||
|
|
||||||
// common
|
// common
|
||||||
int32_t tsRpcTimer = 300;
|
int32_t tsRpcTimer = 300;
|
||||||
int32_t tsRpcMaxTime = 600; // seconds;
|
int32_t tsRpcMaxTime = 600; // seconds;
|
||||||
int32_t tsRpcForceTcp = 1; //disable this, means query, show command use udp protocol as default
|
int32_t tsRpcForceTcp = 1; // disable this, means query, show command use udp protocol as default
|
||||||
int32_t tsMaxShellConns = 50000;
|
int32_t tsMaxShellConns = 50000;
|
||||||
int32_t tsMaxConnections = 5000;
|
int32_t tsMaxConnections = 5000;
|
||||||
int32_t tsShellActivityTimer = 3; // second
|
int32_t tsShellActivityTimer = 3; // second
|
||||||
float tsNumOfThreadsPerCore = 1.0f;
|
float tsNumOfThreadsPerCore = 1.0f;
|
||||||
int32_t tsNumOfCommitThreads = 4;
|
int32_t tsNumOfCommitThreads = 4;
|
||||||
float tsRatioOfQueryCores = 1.0f;
|
float tsRatioOfQueryCores = 1.0f;
|
||||||
int8_t tsDaylight = 0;
|
int8_t tsDaylight = 0;
|
||||||
int8_t tsEnableCoreFile = 0;
|
int8_t tsEnableCoreFile = 0;
|
||||||
int32_t tsMaxBinaryDisplayWidth = 30;
|
int32_t tsMaxBinaryDisplayWidth = 30;
|
||||||
int64_t tsMaxVnodeQueuedBytes = 1024*1024*1024; //1GB
|
int8_t tsEnableSlaveQuery = 1;
|
||||||
|
int8_t tsEnableAdjustMaster = 1;
|
||||||
|
int8_t tsPrintAuth = 0;
|
||||||
/*
|
/*
|
||||||
* denote if the server needs to compress response message at the application layer to client, including query rsp,
|
* denote if the server needs to compress response message at the application layer to client, including query rsp,
|
||||||
* metricmeta rsp, and multi-meter query rsp message body. The client compress the submit message to server.
|
* metricmeta rsp, and multi-meter query rsp message body. The client compress the submit message to server.
|
||||||
|
@ -79,7 +82,7 @@ int32_t tsMaxSQLStringLen = TSDB_MAX_ALLOWED_SQL_LEN;
|
||||||
int32_t tsMaxWildCardsLen = TSDB_PATTERN_STRING_DEFAULT_LEN;
|
int32_t tsMaxWildCardsLen = TSDB_PATTERN_STRING_DEFAULT_LEN;
|
||||||
int32_t tsMaxRegexStringLen = TSDB_REGEX_STRING_DEFAULT_LEN;
|
int32_t tsMaxRegexStringLen = TSDB_REGEX_STRING_DEFAULT_LEN;
|
||||||
|
|
||||||
int8_t tsTscEnableRecordSql = 0;
|
int8_t tsTscEnableRecordSql = 0;
|
||||||
|
|
||||||
// the maximum number of results for projection query on super table that are returned from
|
// the maximum number of results for projection query on super table that are returned from
|
||||||
// one virtual node, to order according to timestamp
|
// one virtual node, to order according to timestamp
|
||||||
|
@ -89,7 +92,7 @@ int32_t tsMaxNumOfOrderedResults = 100000;
|
||||||
int32_t tsMinSlidingTime = 10;
|
int32_t tsMinSlidingTime = 10;
|
||||||
|
|
||||||
// the maxinum number of distict query result
|
// the maxinum number of distict query result
|
||||||
int32_t tsMaxNumOfDistinctResults = 1000 * 10000;
|
int32_t tsMaxNumOfDistinctResults = 1000 * 10000;
|
||||||
|
|
||||||
// 1 us for interval time range, changed accordingly
|
// 1 us for interval time range, changed accordingly
|
||||||
int32_t tsMinIntervalTime = 1;
|
int32_t tsMinIntervalTime = 1;
|
||||||
|
@ -101,7 +104,7 @@ int32_t tsMaxStreamComputDelay = 20000;
|
||||||
int32_t tsStreamCompStartDelay = 10000;
|
int32_t tsStreamCompStartDelay = 10000;
|
||||||
|
|
||||||
// the stream computing delay time after executing failed, change accordingly
|
// the stream computing delay time after executing failed, change accordingly
|
||||||
int32_t tsRetryStreamCompDelay = 10*1000;
|
int32_t tsRetryStreamCompDelay = 10 * 1000;
|
||||||
|
|
||||||
// The delayed computing ration. 10% of the whole computing time window by default.
|
// The delayed computing ration. 10% of the whole computing time window by default.
|
||||||
float tsStreamComputDelayRatio = 0.1f;
|
float tsStreamComputDelayRatio = 0.1f;
|
||||||
|
@ -120,30 +123,16 @@ int64_t tsQueryBufferSizeBytes = -1;
|
||||||
int32_t tsRetrieveBlockingModel = 0;
|
int32_t tsRetrieveBlockingModel = 0;
|
||||||
|
|
||||||
// last_row(*), first(*), last_row(ts, col1, col2) query, the result fields will be the original column name
|
// last_row(*), first(*), last_row(ts, col1, col2) query, the result fields will be the original column name
|
||||||
int8_t tsKeepOriginalColumnName = 0;
|
int8_t tsKeepOriginalColumnName = 0;
|
||||||
|
|
||||||
// tsdb config
|
// long query death-lock
|
||||||
|
int8_t tsDeadLockKillQuery = 0;
|
||||||
|
|
||||||
|
// tsdb config
|
||||||
// For backward compatibility
|
// For backward compatibility
|
||||||
bool tsdbForceKeepFile = false;
|
bool tsdbForceKeepFile = false;
|
||||||
|
|
||||||
// balance
|
int32_t tsDiskCfgNum = 0;
|
||||||
int8_t tsEnableFlowCtrl = 1;
|
|
||||||
int8_t tsEnableSlaveQuery = 1;
|
|
||||||
int8_t tsEnableAdjustMaster = 1;
|
|
||||||
|
|
||||||
|
|
||||||
// monitor
|
|
||||||
char tsMonitorDbName[TSDB_DB_NAME_LEN] = "log";
|
|
||||||
char tsInternalPass[] = "secretkey";
|
|
||||||
|
|
||||||
// internal
|
|
||||||
int8_t tsCompactMnodeWal = 0;
|
|
||||||
int8_t tsPrintAuth = 0;
|
|
||||||
char tsVnodeDir[PATH_MAX] = {0};
|
|
||||||
char tsDnodeDir[PATH_MAX] = {0};
|
|
||||||
char tsMnodeDir[PATH_MAX] = {0};
|
|
||||||
|
|
||||||
int32_t tsDiskCfgNum = 0;
|
|
||||||
|
|
||||||
#ifndef _STORAGE
|
#ifndef _STORAGE
|
||||||
SDiskCfg tsDiskCfg[1];
|
SDiskCfg tsDiskCfg[1];
|
||||||
|
@ -160,31 +149,28 @@ SDiskCfg tsDiskCfg[TSDB_MAX_DISKS];
|
||||||
int64_t tsTickPerDay[] = {86400000L, 86400000000L, 86400000000000L};
|
int64_t tsTickPerDay[] = {86400000L, 86400000000L, 86400000000000L};
|
||||||
|
|
||||||
// system info
|
// system info
|
||||||
float tsTotalTmpDirGB = 0;
|
float tsTotalTmpDirGB = 0;
|
||||||
float tsTotalDataDirGB = 0;
|
float tsTotalDataDirGB = 0;
|
||||||
float tsAvailTmpDirectorySpace = 0;
|
float tsAvailTmpDirectorySpace = 0;
|
||||||
float tsAvailDataDirGB = 0;
|
float tsAvailDataDirGB = 0;
|
||||||
float tsUsedDataDirGB = 0;
|
float tsUsedDataDirGB = 0;
|
||||||
float tsReservedTmpDirectorySpace = 1.0f;
|
float tsReservedTmpDirectorySpace = 1.0f;
|
||||||
float tsMinimalDataDirGB = 2.0f;
|
float tsMinimalDataDirGB = 2.0f;
|
||||||
int32_t tsTotalMemoryMB = 0;
|
int32_t tsTotalMemoryMB = 0;
|
||||||
uint32_t tsVersion = 0;
|
uint32_t tsVersion = 0;
|
||||||
|
|
||||||
#ifdef TD_TSZ
|
|
||||||
//
|
//
|
||||||
// lossy compress 6
|
// lossy compress 6
|
||||||
//
|
//
|
||||||
char lossyColumns[32] = ""; // "float|double" means all float and double columns can be lossy compressed. set empty can close lossy compress.
|
char tsLossyColumns[32] = ""; // "float|double" means all float and double columns can be lossy compressed. set empty
|
||||||
// below option can take effect when tsLossyColumns not empty
|
// can close lossy compress.
|
||||||
double fPrecision = 1E-8; // float column precision
|
// below option can take effect when tsLossyColumns not empty
|
||||||
double dPrecision = 1E-16; // double column precision
|
double tsFPrecision = 1E-8; // float column precision
|
||||||
uint32_t maxRange = 500; // max range
|
double tsDPrecision = 1E-16; // double column precision
|
||||||
uint32_t curRange = 100; // range
|
uint32_t tsMaxRange = 500; // max range
|
||||||
char Compressor[32] = "ZSTD_COMPRESSOR"; // ZSTD_COMPRESSOR or GZIP_COMPRESSOR
|
uint32_t tsCurRange = 100; // range
|
||||||
#endif
|
char tsCompressor[32] = "ZSTD_COMPRESSOR"; // ZSTD_COMPRESSOR or GZIP_COMPRESSOR
|
||||||
|
|
||||||
// long query death-lock
|
|
||||||
int8_t tsDeadLockKillQuery = 0;
|
|
||||||
|
|
||||||
int32_t (*monStartSystemFp)() = NULL;
|
int32_t (*monStartSystemFp)() = NULL;
|
||||||
void (*monStopSystemFp)() = NULL;
|
void (*monStopSystemFp)() = NULL;
|
||||||
|
@ -195,13 +181,12 @@ char *qtypeStr[] = {"rpc", "fwd", "wal", "cq", "query"};
|
||||||
static pthread_once_t tsInitGlobalCfgOnce = PTHREAD_ONCE_INIT;
|
static pthread_once_t tsInitGlobalCfgOnce = PTHREAD_ONCE_INIT;
|
||||||
|
|
||||||
void taosSetAllDebugFlag() {
|
void taosSetAllDebugFlag() {
|
||||||
if (debugFlag != 0) {
|
if (debugFlag != 0) {
|
||||||
mDebugFlag = debugFlag;
|
mDebugFlag = debugFlag;
|
||||||
dDebugFlag = debugFlag;
|
dDebugFlag = debugFlag;
|
||||||
vDebugFlag = debugFlag;
|
vDebugFlag = debugFlag;
|
||||||
jniDebugFlag = debugFlag;
|
jniDebugFlag = debugFlag;
|
||||||
odbcDebugFlag = debugFlag;
|
qDebugFlag = debugFlag;
|
||||||
qDebugFlag = debugFlag;
|
|
||||||
rpcDebugFlag = debugFlag;
|
rpcDebugFlag = debugFlag;
|
||||||
uDebugFlag = debugFlag;
|
uDebugFlag = debugFlag;
|
||||||
sDebugFlag = debugFlag;
|
sDebugFlag = debugFlag;
|
||||||
|
@ -213,12 +198,12 @@ void taosSetAllDebugFlag() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t taosCfgDynamicOptions(char *msg) {
|
int32_t taosCfgDynamicOptions(char *msg) {
|
||||||
char *option, *value;
|
char *option, *value;
|
||||||
int32_t olen, vlen;
|
int32_t olen, vlen;
|
||||||
int32_t vint = 0;
|
int32_t vint = 0;
|
||||||
|
|
||||||
paGetToken(msg, &option, &olen);
|
paGetToken(msg, &option, &olen);
|
||||||
if (olen == 0) return -1;;
|
if (olen == 0) return -1;
|
||||||
|
|
||||||
paGetToken(option + olen + 1, &value, &vlen);
|
paGetToken(option + olen + 1, &value, &vlen);
|
||||||
if (vlen == 0)
|
if (vlen == 0)
|
||||||
|
@ -231,9 +216,9 @@ int32_t taosCfgDynamicOptions(char *msg) {
|
||||||
|
|
||||||
for (int32_t i = 0; i < tsGlobalConfigNum; ++i) {
|
for (int32_t i = 0; i < tsGlobalConfigNum; ++i) {
|
||||||
SGlobalCfg *cfg = tsGlobalConfig + i;
|
SGlobalCfg *cfg = tsGlobalConfig + i;
|
||||||
//if (!(cfg->cfgType & TSDB_CFG_CTYPE_B_LOG)) continue;
|
// if (!(cfg->cfgType & TSDB_CFG_CTYPE_B_LOG)) continue;
|
||||||
if (cfg->valType != TAOS_CFG_VTYPE_INT32 && cfg->valType != TAOS_CFG_VTYPE_INT8) continue;
|
if (cfg->valType != TAOS_CFG_VTYPE_INT32 && cfg->valType != TAOS_CFG_VTYPE_INT8) continue;
|
||||||
|
|
||||||
int32_t cfgLen = (int32_t)strlen(cfg->option);
|
int32_t cfgLen = (int32_t)strlen(cfg->option);
|
||||||
if (cfgLen != olen) continue;
|
if (cfgLen != olen) continue;
|
||||||
if (strncasecmp(option, cfg->option, olen) != 0) continue;
|
if (strncasecmp(option, cfg->option, olen) != 0) continue;
|
||||||
|
@ -262,7 +247,7 @@ int32_t taosCfgDynamicOptions(char *msg) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (strncasecmp(cfg->option, "debugFlag", olen) == 0) {
|
if (strncasecmp(cfg->option, "debugFlag", olen) == 0) {
|
||||||
taosSetAllDebugFlag();
|
taosSetAllDebugFlag();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -323,7 +308,7 @@ static void doInitGlobalConfig(void) {
|
||||||
srand(taosSafeRand());
|
srand(taosSafeRand());
|
||||||
|
|
||||||
SGlobalCfg cfg = {0};
|
SGlobalCfg cfg = {0};
|
||||||
|
|
||||||
// ip address
|
// ip address
|
||||||
cfg.option = "firstEp";
|
cfg.option = "firstEp";
|
||||||
cfg.ptr = tsFirst;
|
cfg.ptr = tsFirst;
|
||||||
|
@ -366,6 +351,16 @@ static void doInitGlobalConfig(void) {
|
||||||
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
||||||
taosAddConfigOption(cfg);
|
taosAddConfigOption(cfg);
|
||||||
|
|
||||||
|
cfg.option = "supportVnodes";
|
||||||
|
cfg.ptr = &tsNumOfSupportVnodes;
|
||||||
|
cfg.valType = TAOS_CFG_VTYPE_INT32;
|
||||||
|
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_SHOW | TSDB_CFG_CTYPE_B_CLIENT;
|
||||||
|
cfg.minValue = 0;
|
||||||
|
cfg.maxValue = 65536;
|
||||||
|
cfg.ptrLength = 0;
|
||||||
|
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
||||||
|
taosAddConfigOption(cfg);
|
||||||
|
|
||||||
// directory
|
// directory
|
||||||
cfg.option = "configDir";
|
cfg.option = "configDir";
|
||||||
cfg.ptr = configDir;
|
cfg.ptr = configDir;
|
||||||
|
@ -442,8 +437,8 @@ static void doInitGlobalConfig(void) {
|
||||||
cfg.ptr = &tsMaxNumOfDistinctResults;
|
cfg.ptr = &tsMaxNumOfDistinctResults;
|
||||||
cfg.valType = TAOS_CFG_VTYPE_INT32;
|
cfg.valType = TAOS_CFG_VTYPE_INT32;
|
||||||
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_SHOW | TSDB_CFG_CTYPE_B_CLIENT;
|
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_SHOW | TSDB_CFG_CTYPE_B_CLIENT;
|
||||||
cfg.minValue = 10*10000;
|
cfg.minValue = 10 * 10000;
|
||||||
cfg.maxValue = 10000*10000;
|
cfg.maxValue = 10000 * 10000;
|
||||||
cfg.ptrLength = 0;
|
cfg.ptrLength = 0;
|
||||||
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
||||||
taosAddConfigOption(cfg);
|
taosAddConfigOption(cfg);
|
||||||
|
@ -749,17 +744,6 @@ static void doInitGlobalConfig(void) {
|
||||||
cfg.maxValue = 10000000;
|
cfg.maxValue = 10000000;
|
||||||
cfg.ptrLength = 0;
|
cfg.ptrLength = 0;
|
||||||
cfg.unitType = TAOS_CFG_UTYPE_GB;
|
cfg.unitType = TAOS_CFG_UTYPE_GB;
|
||||||
taosAddConfigOption(cfg);
|
|
||||||
|
|
||||||
// module configs
|
|
||||||
cfg.option = "flowctrl";
|
|
||||||
cfg.ptr = &tsEnableFlowCtrl;
|
|
||||||
cfg.valType = TAOS_CFG_VTYPE_INT8;
|
|
||||||
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_SHOW;
|
|
||||||
cfg.minValue = 0;
|
|
||||||
cfg.maxValue = 1;
|
|
||||||
cfg.ptrLength = 0;
|
|
||||||
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
|
||||||
taosAddConfigOption(cfg);
|
taosAddConfigOption(cfg);
|
||||||
|
|
||||||
cfg.option = "slaveQuery";
|
cfg.option = "slaveQuery";
|
||||||
|
@ -893,16 +877,6 @@ static void doInitGlobalConfig(void) {
|
||||||
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
||||||
taosAddConfigOption(cfg);
|
taosAddConfigOption(cfg);
|
||||||
|
|
||||||
cfg.option = "odbcDebugFlag";
|
|
||||||
cfg.ptr = &odbcDebugFlag;
|
|
||||||
cfg.valType = TAOS_CFG_VTYPE_INT32;
|
|
||||||
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_LOG | TSDB_CFG_CTYPE_B_CLIENT;
|
|
||||||
cfg.minValue = 0;
|
|
||||||
cfg.maxValue = 255;
|
|
||||||
cfg.ptrLength = 0;
|
|
||||||
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
|
||||||
taosAddConfigOption(cfg);
|
|
||||||
|
|
||||||
cfg.option = "uDebugFlag";
|
cfg.option = "uDebugFlag";
|
||||||
cfg.ptr = &uDebugFlag;
|
cfg.ptr = &uDebugFlag;
|
||||||
cfg.valType = TAOS_CFG_VTYPE_INT32;
|
cfg.valType = TAOS_CFG_VTYPE_INT32;
|
||||||
|
@ -1034,7 +1008,7 @@ static void doInitGlobalConfig(void) {
|
||||||
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
||||||
taosAddConfigOption(cfg);
|
taosAddConfigOption(cfg);
|
||||||
|
|
||||||
// enable kill long query
|
// enable kill long query
|
||||||
cfg.option = "deadLockKillQuery";
|
cfg.option = "deadLockKillQuery";
|
||||||
cfg.ptr = &tsDeadLockKillQuery;
|
cfg.ptr = &tsDeadLockKillQuery;
|
||||||
cfg.valType = TAOS_CFG_VTYPE_INT8;
|
cfg.valType = TAOS_CFG_VTYPE_INT8;
|
||||||
|
@ -1066,7 +1040,6 @@ static void doInitGlobalConfig(void) {
|
||||||
cfg.ptrLength = 0;
|
cfg.ptrLength = 0;
|
||||||
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
||||||
|
|
||||||
|
|
||||||
taosAddConfigOption(cfg);
|
taosAddConfigOption(cfg);
|
||||||
|
|
||||||
cfg.option = "dPrecision";
|
cfg.option = "dPrecision";
|
||||||
|
@ -1100,23 +1073,20 @@ static void doInitGlobalConfig(void) {
|
||||||
taosAddConfigOption(cfg);
|
taosAddConfigOption(cfg);
|
||||||
assert(tsGlobalConfigNum == TSDB_CFG_MAX_NUM);
|
assert(tsGlobalConfigNum == TSDB_CFG_MAX_NUM);
|
||||||
#else
|
#else
|
||||||
//assert(tsGlobalConfigNum == TSDB_CFG_MAX_NUM - 5);
|
// assert(tsGlobalConfigNum == TSDB_CFG_MAX_NUM - 5);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void taosInitGlobalCfg() {
|
void taosInitGlobalCfg() { pthread_once(&tsInitGlobalCfgOnce, doInitGlobalConfig); }
|
||||||
pthread_once(&tsInitGlobalCfgOnce, doInitGlobalConfig);
|
|
||||||
}
|
|
||||||
|
|
||||||
int32_t taosCheckAndPrintCfg() {
|
int32_t taosCheckAndPrintCfg() {
|
||||||
char fqdn[TSDB_FQDN_LEN];
|
char fqdn[TSDB_FQDN_LEN];
|
||||||
uint16_t port;
|
uint16_t port;
|
||||||
|
|
||||||
if (debugFlag & DEBUG_TRACE || debugFlag & DEBUG_DEBUG || debugFlag & DEBUG_DUMP) {
|
if (debugFlag & DEBUG_TRACE || debugFlag & DEBUG_DEBUG || debugFlag & DEBUG_DUMP) {
|
||||||
taosSetAllDebugFlag();
|
taosSetAllDebugFlag();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tsLocalFqdn[0] == 0) {
|
if (tsLocalFqdn[0] == 0) {
|
||||||
taosGetFqdn(tsLocalFqdn);
|
taosGetFqdn(tsLocalFqdn);
|
||||||
}
|
}
|
||||||
|
@ -1143,7 +1113,7 @@ int32_t taosCheckAndPrintCfg() {
|
||||||
if (taosDirExist(tsTempDir) != 0) {
|
if (taosDirExist(tsTempDir) != 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
taosGetSystemInfo();
|
taosGetSystemInfo();
|
||||||
|
|
||||||
tsSetLocale();
|
tsSetLocale();
|
||||||
|
|
|
@ -139,7 +139,7 @@ void dmnWaitSignal() {
|
||||||
void dmnInitOption(SDnodeOpt *pOption) {
|
void dmnInitOption(SDnodeOpt *pOption) {
|
||||||
pOption->sver = 30000000; //3.0.0.0
|
pOption->sver = 30000000; //3.0.0.0
|
||||||
pOption->numOfCores = tsNumOfCores;
|
pOption->numOfCores = tsNumOfCores;
|
||||||
pOption->numOfSupportVnodes = 16;
|
pOption->numOfSupportVnodes = tsNumOfSupportVnodes;
|
||||||
pOption->numOfCommitThreads = 1;
|
pOption->numOfCommitThreads = 1;
|
||||||
pOption->statusInterval = tsStatusInterval;
|
pOption->statusInterval = tsStatusInterval;
|
||||||
pOption->numOfThreadsPerCore = tsNumOfThreadsPerCore;
|
pOption->numOfThreadsPerCore = tsNumOfThreadsPerCore;
|
||||||
|
|
|
@ -370,8 +370,8 @@ void dndSendStatusMsg(SDnode *pDnode) {
|
||||||
pStatus->clusterId = htobe64(pMgmt->clusterId);
|
pStatus->clusterId = htobe64(pMgmt->clusterId);
|
||||||
pStatus->rebootTime = htobe64(pMgmt->rebootTime);
|
pStatus->rebootTime = htobe64(pMgmt->rebootTime);
|
||||||
pStatus->updateTime = htobe64(pMgmt->updateTime);
|
pStatus->updateTime = htobe64(pMgmt->updateTime);
|
||||||
pStatus->numOfCores = htons(pDnode->opt.numOfCores);
|
pStatus->numOfCores = htonl(pDnode->opt.numOfCores);
|
||||||
pStatus->numOfSupportVnodes = htons(pDnode->opt.numOfSupportVnodes);
|
pStatus->numOfSupportVnodes = htonl(pDnode->opt.numOfSupportVnodes);
|
||||||
tstrncpy(pStatus->dnodeEp, pDnode->opt.localEp, TSDB_EP_LEN);
|
tstrncpy(pStatus->dnodeEp, pDnode->opt.localEp, TSDB_EP_LEN);
|
||||||
|
|
||||||
pStatus->clusterCfg.statusInterval = htonl(pDnode->opt.statusInterval);
|
pStatus->clusterCfg.statusInterval = htonl(pDnode->opt.statusInterval);
|
||||||
|
|
|
@ -57,7 +57,7 @@ TEST_F(DndTestDnode, 01_ShowDnode) {
|
||||||
CHECK_SCHEMA(0, TSDB_DATA_TYPE_SMALLINT, 2, "id");
|
CHECK_SCHEMA(0, TSDB_DATA_TYPE_SMALLINT, 2, "id");
|
||||||
CHECK_SCHEMA(1, TSDB_DATA_TYPE_BINARY, TSDB_EP_LEN + VARSTR_HEADER_SIZE, "endpoint");
|
CHECK_SCHEMA(1, TSDB_DATA_TYPE_BINARY, TSDB_EP_LEN + VARSTR_HEADER_SIZE, "endpoint");
|
||||||
CHECK_SCHEMA(2, TSDB_DATA_TYPE_SMALLINT, 2, "vnodes");
|
CHECK_SCHEMA(2, TSDB_DATA_TYPE_SMALLINT, 2, "vnodes");
|
||||||
CHECK_SCHEMA(3, TSDB_DATA_TYPE_SMALLINT, 2, "max_vnodes");
|
CHECK_SCHEMA(3, TSDB_DATA_TYPE_SMALLINT, 2, "support_vnodes");
|
||||||
CHECK_SCHEMA(4, TSDB_DATA_TYPE_BINARY, 10 + VARSTR_HEADER_SIZE, "status");
|
CHECK_SCHEMA(4, TSDB_DATA_TYPE_BINARY, 10 + VARSTR_HEADER_SIZE, "status");
|
||||||
CHECK_SCHEMA(5, TSDB_DATA_TYPE_TIMESTAMP, 8, "create_time");
|
CHECK_SCHEMA(5, TSDB_DATA_TYPE_TIMESTAMP, 8, "create_time");
|
||||||
CHECK_SCHEMA(6, TSDB_DATA_TYPE_BINARY, 24 + VARSTR_HEADER_SIZE, "offline_reason");
|
CHECK_SCHEMA(6, TSDB_DATA_TYPE_BINARY, 24 + VARSTR_HEADER_SIZE, "offline_reason");
|
||||||
|
|
|
@ -24,7 +24,6 @@ void Testbase::InitLog(const char* path) {
|
||||||
tmrDebugFlag = 0;
|
tmrDebugFlag = 0;
|
||||||
uDebugFlag = 143;
|
uDebugFlag = 143;
|
||||||
rpcDebugFlag = 0;
|
rpcDebugFlag = 0;
|
||||||
odbcDebugFlag = 0;
|
|
||||||
qDebugFlag = 0;
|
qDebugFlag = 0;
|
||||||
wDebugFlag = 0;
|
wDebugFlag = 0;
|
||||||
sDebugFlag = 0;
|
sDebugFlag = 0;
|
||||||
|
|
|
@ -125,8 +125,8 @@ typedef struct {
|
||||||
int64_t lastAccessTime;
|
int64_t lastAccessTime;
|
||||||
int32_t accessTimes;
|
int32_t accessTimes;
|
||||||
int16_t numOfVnodes;
|
int16_t numOfVnodes;
|
||||||
int16_t numOfSupportVnodes;
|
int32_t numOfSupportVnodes;
|
||||||
int16_t numOfCores;
|
int32_t numOfCores;
|
||||||
EDndStatus status;
|
EDndStatus status;
|
||||||
EDndReason offlineReason;
|
EDndReason offlineReason;
|
||||||
uint16_t port;
|
uint16_t port;
|
||||||
|
|
|
@ -278,8 +278,8 @@ static void mndParseStatusMsg(SStatusMsg *pStatus) {
|
||||||
pStatus->clusterId = htobe64(pStatus->clusterId);
|
pStatus->clusterId = htobe64(pStatus->clusterId);
|
||||||
pStatus->rebootTime = htobe64(pStatus->rebootTime);
|
pStatus->rebootTime = htobe64(pStatus->rebootTime);
|
||||||
pStatus->updateTime = htobe64(pStatus->updateTime);
|
pStatus->updateTime = htobe64(pStatus->updateTime);
|
||||||
pStatus->numOfCores = htons(pStatus->numOfCores);
|
pStatus->numOfCores = htonl(pStatus->numOfCores);
|
||||||
pStatus->numOfSupportVnodes = htons(pStatus->numOfSupportVnodes);
|
pStatus->numOfSupportVnodes = htonl(pStatus->numOfSupportVnodes);
|
||||||
pStatus->clusterCfg.statusInterval = htonl(pStatus->clusterCfg.statusInterval);
|
pStatus->clusterCfg.statusInterval = htonl(pStatus->clusterCfg.statusInterval);
|
||||||
pStatus->clusterCfg.checkTime = htobe64(pStatus->clusterCfg.checkTime);
|
pStatus->clusterCfg.checkTime = htobe64(pStatus->clusterCfg.checkTime);
|
||||||
}
|
}
|
||||||
|
@ -638,7 +638,7 @@ static int32_t mndGetDnodeMeta(SMnodeMsg *pMsg, SShowObj *pShow, STableMetaMsg *
|
||||||
|
|
||||||
pShow->bytes[cols] = 2;
|
pShow->bytes[cols] = 2;
|
||||||
pSchema[cols].type = TSDB_DATA_TYPE_SMALLINT;
|
pSchema[cols].type = TSDB_DATA_TYPE_SMALLINT;
|
||||||
strcpy(pSchema[cols].name, "max_vnodes");
|
strcpy(pSchema[cols].name, "support_vnodes");
|
||||||
pSchema[cols].bytes = htonl(pShow->bytes[cols]);
|
pSchema[cols].bytes = htonl(pShow->bytes[cols]);
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
|
|
|
@ -265,7 +265,7 @@ static SArray *mndBuildDnodesArray(SMnode *pMnode) {
|
||||||
taosArrayPush(pArray, pDnode);
|
taosArrayPush(pArray, pDnode);
|
||||||
}
|
}
|
||||||
|
|
||||||
mDebug("dnode:%d, numOfVnodes:%d numOfSupportVnodes:%d isMnode:%d ready:%d", pDnode->id, numOfVnodes,
|
mDebug("dnode:%d, vnodes:%d supportVnodes:%d isMnode:%d ready:%d", pDnode->id, numOfVnodes,
|
||||||
pDnode->numOfSupportVnodes, isMnode, isReady);
|
pDnode->numOfSupportVnodes, isMnode, isReady);
|
||||||
sdbRelease(pSdb, pDnode);
|
sdbRelease(pSdb, pDnode);
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,7 +85,6 @@ int32_t dDebugFlag = 135;
|
||||||
int32_t vDebugFlag = 135;
|
int32_t vDebugFlag = 135;
|
||||||
int32_t cDebugFlag = 131;
|
int32_t cDebugFlag = 131;
|
||||||
int32_t jniDebugFlag = 131;
|
int32_t jniDebugFlag = 131;
|
||||||
int32_t odbcDebugFlag = 131;
|
|
||||||
int32_t qDebugFlag = 131;
|
int32_t qDebugFlag = 131;
|
||||||
int32_t rpcDebugFlag = 131;
|
int32_t rpcDebugFlag = 131;
|
||||||
int32_t uDebugFlag = 131;
|
int32_t uDebugFlag = 131;
|
||||||
|
|
|
@ -120,6 +120,7 @@ echo "firstEp ${HOSTNAME}:7100" >> $TAOS_CFG
|
||||||
echo "secondEp ${HOSTNAME}:7200" >> $TAOS_CFG
|
echo "secondEp ${HOSTNAME}:7200" >> $TAOS_CFG
|
||||||
echo "fqdn ${HOSTNAME}" >> $TAOS_CFG
|
echo "fqdn ${HOSTNAME}" >> $TAOS_CFG
|
||||||
echo "serverPort ${NODE}" >> $TAOS_CFG
|
echo "serverPort ${NODE}" >> $TAOS_CFG
|
||||||
|
echo "supportVnodes 16" >> $TAOS_CFG
|
||||||
echo "dataDir $DATA_DIR" >> $TAOS_CFG
|
echo "dataDir $DATA_DIR" >> $TAOS_CFG
|
||||||
echo "logDir $LOG_DIR" >> $TAOS_CFG
|
echo "logDir $LOG_DIR" >> $TAOS_CFG
|
||||||
echo "debugFlag 0" >> $TAOS_CFG
|
echo "debugFlag 0" >> $TAOS_CFG
|
||||||
|
|
|
@ -1,63 +1,81 @@
|
||||||
system sh/stop_dnodes.sh
|
|
||||||
|
|
||||||
|
|
||||||
############## config parameter #####################
|
############## config parameter #####################
|
||||||
$node1 = 192.168.0.201
|
$node1 = 192.168.101.12
|
||||||
$node2 = 192.168.0.202
|
$node2 = 192.168.0.202
|
||||||
$node3 = 192.168.0.203
|
$node3 = 192.168.0.203
|
||||||
$node4 = 192.168.0.204
|
$node4 = 192.168.0.204
|
||||||
|
|
||||||
$self = $node1
|
$self = $node1
|
||||||
$num = 25
|
$num = 5
|
||||||
|
|
||||||
############### deploy firstEp #####################
|
#deploy = 0, start = 1, stop = 2
|
||||||
|
$option = 0
|
||||||
|
print =============== option:$option
|
||||||
|
|
||||||
|
|
||||||
|
############### stop dnodes #####################
|
||||||
|
if $option == 0 then
|
||||||
|
system sh/stop_dnodes.sh
|
||||||
|
endi
|
||||||
|
|
||||||
|
############### process firstEp #####################
|
||||||
|
|
||||||
$firstEp = $node1 . :7100
|
$firstEp = $node1 . :7100
|
||||||
$firstPort = 7100
|
$firstPort = 7100
|
||||||
if $self == $node1 then
|
if $self == $node1 then
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
if $option == 1 then
|
||||||
system sh/cfg.sh -n dnode1 -c firstEp -v $firstEp
|
system sh/exec.sh -n dnode1 -s start
|
||||||
system sh/cfg.sh -n dnode1 -c secondEp -v $firstEp
|
endi
|
||||||
system sh/cfg.sh -n dnode1 -c fqdn -v $node1
|
|
||||||
system sh/cfg.sh -n dnode1 -c serverPort -v $firstPort
|
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
if $option == 2 then
|
||||||
sql connect
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $option == 0 then
|
||||||
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
|
system sh/cfg.sh -n dnode1 -c firstEp -v $firstEp
|
||||||
|
system sh/cfg.sh -n dnode1 -c secondEp -v $firstEp
|
||||||
|
system sh/cfg.sh -n dnode1 -c fqdn -v $node1
|
||||||
|
system sh/cfg.sh -n dnode1 -c serverPort -v $firstPort
|
||||||
|
system sh/cfg.sh -n dnode1 -c supportVnodes -v 0
|
||||||
|
|
||||||
$i = 0
|
system sh/exec.sh -n dnode1 -s start
|
||||||
while $i < $num
|
sql connect
|
||||||
$port = $i * 100
|
|
||||||
$port = $port + 8100
|
|
||||||
$i = $i + 1
|
|
||||||
sql create dnode $node1 port $port
|
|
||||||
endw
|
|
||||||
|
|
||||||
$i = 0
|
$i = 0
|
||||||
while $i < $num
|
while $i < $num
|
||||||
$port = $i * 100
|
$port = $i * 100
|
||||||
$port = $port + 8100
|
$port = $port + 8100
|
||||||
$i = $i + 1
|
$i = $i + 1
|
||||||
sql create dnode $node2 port $port
|
sql create dnode $node1 port $port
|
||||||
endw
|
endw
|
||||||
|
|
||||||
$i = 0
|
$i = 0
|
||||||
while $i < $num
|
while $i < $num
|
||||||
$port = $i * 100
|
$port = $i * 100
|
||||||
$port = $port + 8100
|
$port = $port + 8100
|
||||||
$i = $i + 1
|
$i = $i + 1
|
||||||
sql create dnode $node3 port $port
|
sql create dnode $node2 port $port
|
||||||
endw
|
endw
|
||||||
|
|
||||||
$i = 0
|
$i = 0
|
||||||
while $i < $num
|
while $i < $num
|
||||||
$port = $i * 100
|
$port = $i * 100
|
||||||
$port = $port + 8100
|
$port = $port + 8100
|
||||||
$i = $i + 1
|
$i = $i + 1
|
||||||
sql create dnode $node4 port $port
|
sql create dnode $node3 port $port
|
||||||
endw
|
endw
|
||||||
|
|
||||||
|
$i = 0
|
||||||
|
while $i < $num
|
||||||
|
$port = $i * 100
|
||||||
|
$port = $port + 8100
|
||||||
|
$i = $i + 1
|
||||||
|
sql create dnode $node4 port $port
|
||||||
|
endw
|
||||||
|
endi
|
||||||
endi
|
endi
|
||||||
|
|
||||||
############### deploy nodes #####################
|
############### process nodes #####################
|
||||||
|
|
||||||
$i = 0
|
$i = 0
|
||||||
while $i < $num
|
while $i < $num
|
||||||
|
@ -67,11 +85,21 @@ while $i < $num
|
||||||
$dnodename = dnode . $index
|
$dnodename = dnode . $index
|
||||||
$i = $i + 1
|
$i = $i + 1
|
||||||
|
|
||||||
system sh/deploy.sh -n $dnodename -i 1
|
if $option == 1 then
|
||||||
system sh/cfg.sh -n $dnodename -c firstEp -v $firstEp
|
system sh/exec.sh -n $dnodename -s start
|
||||||
system sh/cfg.sh -n $dnodename -c secondEp -v $firstEp
|
endi
|
||||||
system sh/cfg.sh -n $dnodename -c fqdn -v $self
|
|
||||||
system sh/cfg.sh -n $dnodename -c serverPort -v $port
|
|
||||||
|
|
||||||
system sh/exec.sh -n $dnodename -s start
|
if $option == 2 then
|
||||||
|
system sh/exec.sh -n $dnodename -s stop -x SIGINT
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $option == 0 then
|
||||||
|
system sh/deploy.sh -n $dnodename -i 1
|
||||||
|
system sh/cfg.sh -n $dnodename -c firstEp -v $firstEp
|
||||||
|
system sh/cfg.sh -n $dnodename -c secondEp -v $firstEp
|
||||||
|
system sh/cfg.sh -n $dnodename -c fqdn -v $self
|
||||||
|
system sh/cfg.sh -n $dnodename -c serverPort -v $port
|
||||||
|
|
||||||
|
system sh/exec.sh -n $dnodename -s start
|
||||||
|
endi
|
||||||
endw
|
endw
|
||||||
|
|
Loading…
Reference in New Issue