From 1166389cb23afaa8ddfea3b2bac43b613e0b2ed6 Mon Sep 17 00:00:00 2001 From: fagongzi <zhangxu19830126@gmail.com> Date: Wed, 21 Sep 2022 22:37:52 +0800 Subject: [PATCH] misc: remove standalone service mode (#5171) Remove standalone service mode, and use launch to instead. usage: ./mo-service -launch ./etc/launch-mem-engine/launch.toml Approved by: @nnsgmsone --- cmd/mo-service/config.go | 14 ++-- cmd/mo-service/main.go | 71 +------------------ etc/launch-dist-tae/cn.toml | 34 +++++++++ etc/launch-dist-tae/dn.toml | 31 ++++++++ etc/launch-dist-tae/launch.toml | 11 +++ etc/launch-dist-tae/log.toml | 42 +++++++++++ etc/launch-mem-engine/cn.toml | 31 ++++++++ etc/launch-mem-engine/dn.toml | 37 ++++++++++ etc/launch-mem-engine/launch.toml | 11 +++ .../log.toml} | 6 +- 10 files changed, 207 insertions(+), 81 deletions(-) create mode 100644 etc/launch-dist-tae/cn.toml create mode 100644 etc/launch-dist-tae/dn.toml create mode 100644 etc/launch-dist-tae/launch.toml create mode 100644 etc/launch-dist-tae/log.toml create mode 100644 etc/launch-mem-engine/cn.toml create mode 100644 etc/launch-mem-engine/dn.toml create mode 100644 etc/launch-mem-engine/launch.toml rename etc/{cn-standalone-mem-engine-test.toml => launch-mem-engine/log.toml} (89%) diff --git a/cmd/mo-service/config.go b/cmd/mo-service/config.go index bd1dc0b24..43c78e671 100644 --- a/cmd/mo-service/config.go +++ b/cmd/mo-service/config.go @@ -31,10 +31,9 @@ import ( ) const ( - cnServiceType = "CN" - dnServiceType = "DN" - logServiceType = "LOG" - standaloneServiceType = "STANDALONE" + cnServiceType = "CN" + dnServiceType = "DN" + logServiceType = "LOG" s3FileServiceName = "S3" localFileServiceName = "LOCAL" @@ -43,10 +42,9 @@ const ( var ( supportServiceTypes = map[string]any{ - cnServiceType: cnServiceType, - dnServiceType: dnServiceType, - logServiceType: logServiceType, - standaloneServiceType: standaloneServiceType, + cnServiceType: cnServiceType, + dnServiceType: dnServiceType, + logServiceType: logServiceType, } ) diff --git a/cmd/mo-service/main.go b/cmd/mo-service/main.go index d7a7f25c2..9c34a54df 100644 --- a/cmd/mo-service/main.go +++ b/cmd/mo-service/main.go @@ -127,8 +127,6 @@ func startService(cfg *Config, stopper *stopper.Stopper) error { return startDNService(cfg, stopper, fs) case logServiceType: return startLogService(cfg, stopper, fs, ts) - case standaloneServiceType: - return startStandalone(cfg, stopper, fs, ts) default: panic("unknown service type") } @@ -219,73 +217,6 @@ func startLogService( }) } -func startStandalone( - cfg *Config, - stopper *stopper.Stopper, - fileService fileservice.FileService, - taskService taskservice.TaskService, -) error { - - // start log service - if err := startLogService(cfg, stopper, fileService, taskService); err != nil { - return err - } - - // wait hakeeper ready - ctx, cancel := context.WithTimeout(context.TODO(), time.Second*30) - defer cancel() - var client logservice.CNHAKeeperClient - for { - var err error - client, err = logservice.NewCNHAKeeperClient(ctx, cfg.HAKeeperClient) - if moerr.IsMoErrCode(err, moerr.ErrNoHAKeeper) { - // not ready - logutil.Info("hakeeper not ready, retry") - time.Sleep(time.Second) - continue - } - if err != nil { - return err - } - break - } - - // start DN - if err := startDNService(cfg, stopper, fileService); err != nil { - return err - } - - // wait shard ready - for { - if ok, err := func() (bool, error) { - details, err := client.GetClusterDetails(ctx) - if err != nil { - return false, err - } - for _, store := range details.DNStores { - if len(store.Shards) > 0 { - return true, nil - } - } - logutil.Info("shard not ready") - return false, nil - }(); err != nil { - return err - } else if ok { - logutil.Info("shard ready") - break - } - time.Sleep(time.Second) - } - - // start CN - if err := startCNService(cfg, stopper, fileService); err != nil { - return err - } - - return nil -} - func initTraceMetric(ctx context.Context, cfg *Config, stopper *stopper.Stopper, fs fileservice.FileService) error { var writerFactory export.FSWriterFactory var err error @@ -294,7 +225,7 @@ func initTraceMetric(ctx context.Context, cfg *Config, stopper *stopper.Stopper, ServerType := strings.ToUpper(cfg.ServiceType) switch ServerType { - case cnServiceType, standaloneServiceType: + case cnServiceType: // validate node_uuid var uuidErr error var nodeUUID uuid.UUID diff --git a/etc/launch-dist-tae/cn.toml b/etc/launch-dist-tae/cn.toml new file mode 100644 index 000000000..387aa95e7 --- /dev/null +++ b/etc/launch-dist-tae/cn.toml @@ -0,0 +1,34 @@ +service-type = "CN" + +[log] +level = "error" +format = "json" +max-size = 512 + +[hakeeper-client] +service-addresses = [ + "127.0.0.1:32000", +] + +[[fileservice]] +name = "LOCAL" +backend = "MEM" + +[[fileservice]] +name = "S3" +backend = "MEM" + +[[fileservice]] +name = "ETL" +backend = "DISK-ETL" +data-dir = "mo-data/local/cn" + +[observability] +disableTrace = true +disableMetric = true + +[cn] +uuid = "cn1" + +[cn.Engine] +type = "distributed-tae" diff --git a/etc/launch-dist-tae/dn.toml b/etc/launch-dist-tae/dn.toml new file mode 100644 index 000000000..6797ce591 --- /dev/null +++ b/etc/launch-dist-tae/dn.toml @@ -0,0 +1,31 @@ +service-type = "DN" + +[log] +level = "error" +format = "json" +max-size = 512 + +[hakeeper-client] +service-addresses = [ + "127.0.0.1:32000", +] + + +[[fileservice]] +name = "LOCAL" +backend = "MEM" + +[[fileservice]] +name = "S3" +backend = "MEM" + +[[fileservice]] +name = "ETL" +backend = "DISK-ETL" +data-dir = "mo-data/local/dn" + +[dn] +uuid = "42" + +[dn.Txn.Storage] +backend = "MEM" diff --git a/etc/launch-dist-tae/launch.toml b/etc/launch-dist-tae/launch.toml new file mode 100644 index 000000000..68ebe3c30 --- /dev/null +++ b/etc/launch-dist-tae/launch.toml @@ -0,0 +1,11 @@ +logservices = [ + "./etc/launch-dist-tae/log.toml", +] + +dnservices = [ + "./etc/launch-dist-tae/dn.toml" +] + +cnservices = [ + "./etc/launch-dist-tae/cn.toml" +] \ No newline at end of file diff --git a/etc/launch-dist-tae/log.toml b/etc/launch-dist-tae/log.toml new file mode 100644 index 000000000..f885cd301 --- /dev/null +++ b/etc/launch-dist-tae/log.toml @@ -0,0 +1,42 @@ +service-type = "LOG" + +[log] +level = "error" +format = "json" +max-size = 512 + +[hakeeper-client] +service-addresses = [ + "127.0.0.1:32000", +] + + +[[fileservice]] +name = "LOCAL" +backend = "MEM" + +[[fileservice]] +name = "S3" +backend = "MEM" + +[[fileservice]] +name = "ETL" +backend = "DISK-ETL" +data-dir = "mo-data/local/log" + +[logservice] +deployment-id = 1 +uuid = "9c4dccb4-4d3c-41f8-b482-5251dc7a41bf" +gossip-seed-addresses = [ + "127.0.0.1:32002", +] +data-dir = "mo-data/logservice" + +[logservice.BootstrapConfig] +bootstrap-cluster = true +num-of-log-shards = 1 +num-of-dn-shards = 1 +num-of-log-shard-replicas = 1 +init-hakeeper-members = [ + "131072:9c4dccb4-4d3c-41f8-b482-5251dc7a41bf", +] diff --git a/etc/launch-mem-engine/cn.toml b/etc/launch-mem-engine/cn.toml new file mode 100644 index 000000000..b6062e854 --- /dev/null +++ b/etc/launch-mem-engine/cn.toml @@ -0,0 +1,31 @@ +service-type = "CN" + +[log] +level = "debug" +format = "json" +max-size = 512 + +[hakeeper-client] +service-addresses = [ + "127.0.0.1:32000", +] + +[cn] +uuid = "cn1" + +[cn.Engine] +type = "memory" + +[[fileservice]] +name = "LOCAL" +backend = "MEM" + +[[fileservice]] +name = "S3" +backend = "MEM" + +[[fileservice]] +name = "ETL" +backend = "DISK-ETL" +data-dir = "mo-data/etl/cn" + diff --git a/etc/launch-mem-engine/dn.toml b/etc/launch-mem-engine/dn.toml new file mode 100644 index 000000000..9cf59b2ce --- /dev/null +++ b/etc/launch-mem-engine/dn.toml @@ -0,0 +1,37 @@ +service-type = "DN" + +[log] +level = "debug" +format = "json" +max-size = 512 + +[hakeeper-client] +service-addresses = [ + "127.0.0.1:32000", +] + +[cn] +uuid = "cn1" + +[cn.Engine] +type = "memory" + +[dn] +uuid = "42" + +[dn.Txn.Storage] +backend = "MEM" + +[[fileservice]] +name = "LOCAL" +backend = "MEM" + +[[fileservice]] +name = "S3" +backend = "MEM" + +[[fileservice]] +name = "ETL" +backend = "DISK-ETL" +data-dir = "mo-data/etl/dn" + diff --git a/etc/launch-mem-engine/launch.toml b/etc/launch-mem-engine/launch.toml new file mode 100644 index 000000000..dd16bea76 --- /dev/null +++ b/etc/launch-mem-engine/launch.toml @@ -0,0 +1,11 @@ +logservices = [ + "./etc/launch-mem-engine/log.toml", +] + +dnservices = [ + "./etc/launch-mem-engine/dn.toml" +] + +cnservices = [ + "./etc/launch-mem-engine/cn.toml" +] \ No newline at end of file diff --git a/etc/cn-standalone-mem-engine-test.toml b/etc/launch-mem-engine/log.toml similarity index 89% rename from etc/cn-standalone-mem-engine-test.toml rename to etc/launch-mem-engine/log.toml index 5ee937b12..f3b43597e 100644 --- a/etc/cn-standalone-mem-engine-test.toml +++ b/etc/launch-mem-engine/log.toml @@ -1,4 +1,4 @@ -service-type = "STANDALONE" +service-type = "LOG" [log] level = "debug" @@ -28,7 +28,7 @@ uuid = "9c4dccb4-4d3c-41f8-b482-5251dc7a41bf" gossip-seed-addresses = [ "127.0.0.1:32002", ] -data-dir = "store/logservice" +data-dir = "mo-data/logservice" [logservice.BootstrapConfig] bootstrap-cluster = true @@ -50,5 +50,5 @@ backend = "MEM" [[fileservice]] name = "ETL" backend = "DISK-ETL" -data-dir = "store" +data-dir = "mo-data/etl/log" -- GitLab