ignore zk node already exist when store provider/consumer metadata (#2311)

diff --git a/metadata/report/zookeeper/report.go b/metadata/report/zookeeper/report.go
index 6e2525d..9a55865 100644
--- a/metadata/report/zookeeper/report.go
+++ b/metadata/report/zookeeper/report.go
@@ -28,6 +28,7 @@
 	gxset "github.com/dubbogo/gost/container/set"
 	gxzookeeper "github.com/dubbogo/gost/database/kv/zk"
 	"github.com/dubbogo/gost/log/logger"
+	perrors "github.com/pkg/errors"
 )
 
 import (
@@ -79,7 +80,7 @@
 		return err
 	}
 	err = m.client.CreateWithValue(k, data)
-	if err == zk.ErrNodeExists {
+	if perrors.Is(err, zk.ErrNodeExists) {
 		logger.Debugf("Try to create the node data failed. In most cases, it's not a problem. ")
 		return nil
 	}
@@ -89,13 +90,23 @@
 // StoreProviderMetadata stores the metadata.
 func (m *zookeeperMetadataReport) StoreProviderMetadata(providerIdentifier *identifier.MetadataIdentifier, serviceDefinitions string) error {
 	k := m.rootDir + providerIdentifier.GetFilePathKey()
-	return m.client.CreateWithValue(k, []byte(serviceDefinitions))
+	err := m.client.CreateWithValue(k, []byte(serviceDefinitions))
+	if perrors.Is(err, zk.ErrNodeExists) {
+		logger.Debugf("Try to store provider metadata failed. In most cases, it's not a problem. ")
+		return nil
+	}
+	return err
 }
 
 // StoreConsumerMetadata stores the metadata.
 func (m *zookeeperMetadataReport) StoreConsumerMetadata(consumerMetadataIdentifier *identifier.MetadataIdentifier, serviceParameterString string) error {
 	k := m.rootDir + consumerMetadataIdentifier.GetFilePathKey()
-	return m.client.CreateWithValue(k, []byte(serviceParameterString))
+	err := m.client.CreateWithValue(k, []byte(serviceParameterString))
+	if perrors.Is(err, zk.ErrNodeExists) {
+		logger.Debugf("Try to store consumer metadata failed. In most cases, it's not a problem. ")
+		return nil
+	}
+	return err
 }
 
 // SaveServiceMetadata saves the metadata.