You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by GitBox <gi...@apache.org> on 2020/06/24 08:21:19 UTC

[GitHub] [pulsar-manager] tuteng opened a new pull request #308: Add frequently asked questions document

tuteng opened a new pull request #308:
URL: https://github.com/apache/pulsar-manager/pull/308


   
   * There are some problems that users often encounter, so add a faq document
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar-manager] tuteng commented on pull request #308: Add frequently asked questions document

Posted by GitBox <gi...@apache.org>.
tuteng commented on pull request #308:
URL: https://github.com/apache/pulsar-manager/pull/308#issuecomment-749873245


   Will update later.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar-manager] tuteng merged pull request #308: Add frequently asked questions document

Posted by GitBox <gi...@apache.org>.
tuteng merged pull request #308:
URL: https://github.com/apache/pulsar-manager/pull/308


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar-manager] tuteng commented on pull request #308: Add frequently asked questions document

Posted by GitBox <gi...@apache.org>.
tuteng commented on pull request #308:
URL: https://github.com/apache/pulsar-manager/pull/308#issuecomment-749901485


   ping @Jennifer88huang @Anonymitaet PTAL


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar-manager] Anonymitaet commented on a change in pull request #308: Add frequently asked questions document

Posted by GitBox <gi...@apache.org>.
Anonymitaet commented on a change in pull request #308:
URL: https://github.com/apache/pulsar-manager/pull/308#discussion_r449016452



##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+```
+Releated issue: https://github.com/apache/pulsar-manager/issues/292
+
+
+Q: Pulsar Manager keeps saying "This environment is error. Please check it"
+
+Reason: Your pulsar manager service cannot connect with your pulsar cluster network.
+
+A: it's because _pulsar_  and _pulsar-manger_ runs in different containers with theirself localhosts (each container just know itself `localhost`).
+you should either run these two containers in one network using something like docker composer, or set `--network host` in your command, something like this:
+```bash
+docker run --rm --network host -it  -e REDIRECT_HOST=http://localhost -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -v $PWD:/data apachepulsar/pulsar-manager:v0.1.0 /bin/sh
+```
+
+Related issue: https://github.com/apache/pulsar-manager/issues/283
+https://github.com/apache/pulsar-manager/issues/214

Review comment:
       same

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.

Review comment:
       ```suggestion
   * Reason: The webservice URL configured by the Pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
   ```

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+```
+Releated issue: https://github.com/apache/pulsar-manager/issues/292

Review comment:
       ```suggestion
   * Releated issue: https://github.com/apache/pulsar-manager/issues/292
   ```

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 

Review comment:
       ```suggestion
   * Question: "I cannot do any operation on Pulsar" or "Pulsar Manager does not show the `standalone cluster` option when adding to a tenant?
   ```
   
   1. Do you mean this?
   2. adding "what" to a tenant? or just "adding a tenant"?

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.

Review comment:
       ```suggestion
   If these two domain names are set incorrectly, use the `./bin/pulsar-admin clusters update` command to update them.
   ```

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+```
+Releated issue: https://github.com/apache/pulsar-manager/issues/292
+
+
+Q: Pulsar Manager keeps saying "This environment is error. Please check it"
+
+Reason: Your pulsar manager service cannot connect with your pulsar cluster network.
+
+A: it's because _pulsar_  and _pulsar-manger_ runs in different containers with theirself localhosts (each container just know itself `localhost`).

Review comment:
       ```suggestion
   A: it's because _pulsar_  and _pulsar-manger_ runs in different containers with theirself localhosts (each container just know itself `localhost`).
   ```
   ```suggestion
   * Solution:  _pulsar_  and _pulsar-manger_ runs in different containers with their own localhosts (each container just knows its own `localhost`).
   ```

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 

Review comment:
       ```suggestion
   * Solution: check the status and information of the cluster.
   ```

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+```
+Releated issue: https://github.com/apache/pulsar-manager/issues/292
+
+
+Q: Pulsar Manager keeps saying "This environment is error. Please check it"
+
+Reason: Your pulsar manager service cannot connect with your pulsar cluster network.
+
+A: it's because _pulsar_  and _pulsar-manger_ runs in different containers with theirself localhosts (each container just know itself `localhost`).
+you should either run these two containers in one network using something like docker composer, or set `--network host` in your command, something like this:
+```bash
+docker run --rm --network host -it  -e REDIRECT_HOST=http://localhost -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -v $PWD:/data apachepulsar/pulsar-manager:v0.1.0 /bin/sh
+```
+
+Related issue: https://github.com/apache/pulsar-manager/issues/283
+https://github.com/apache/pulsar-manager/issues/214
+
+
+### Troubleshooting steps for Pulsar Manager
+
+1. check whether pulsar cluster is normal
+
+```
+curl -v http://webservice-url:port/metrics/
+
+For example:
+curl -v http://localhost:8080/metrics/
+```
+
+2. Check the cluster configuration. A should be your real service address and cannot be filled in casually
+
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+
+3. Check the log of pulsar manager

Review comment:
       same issue for capitalization

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 

Review comment:
       Q → Question
   A → Solution
   
   pls check overall

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+```
+Releated issue: https://github.com/apache/pulsar-manager/issues/292
+
+
+Q: Pulsar Manager keeps saying "This environment is error. Please check it"
+
+Reason: Your pulsar manager service cannot connect with your pulsar cluster network.
+
+A: it's because _pulsar_  and _pulsar-manger_ runs in different containers with theirself localhosts (each container just know itself `localhost`).
+you should either run these two containers in one network using something like docker composer, or set `--network host` in your command, something like this:

Review comment:
       ```suggestion
   You should either run these two containers in one network using tools like Docker composer or set `--network host` as below.
   ```

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+```
+Releated issue: https://github.com/apache/pulsar-manager/issues/292
+
+
+Q: Pulsar Manager keeps saying "This environment is error. Please check it"
+
+Reason: Your pulsar manager service cannot connect with your pulsar cluster network.

Review comment:
       ```suggestion
   * Reason: Your Pulsar Manager service cannot connect with your Pulsar cluster network.
   ```

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+```
+Releated issue: https://github.com/apache/pulsar-manager/issues/292
+
+
+Q: Pulsar Manager keeps saying "This environment is error. Please check it"
+
+Reason: Your pulsar manager service cannot connect with your pulsar cluster network.
+
+A: it's because _pulsar_  and _pulsar-manger_ runs in different containers with theirself localhosts (each container just know itself `localhost`).
+you should either run these two containers in one network using something like docker composer, or set `--network host` in your command, something like this:
+```bash
+docker run --rm --network host -it  -e REDIRECT_HOST=http://localhost -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -v $PWD:/data apachepulsar/pulsar-manager:v0.1.0 /bin/sh
+```
+
+Related issue: https://github.com/apache/pulsar-manager/issues/283
+https://github.com/apache/pulsar-manager/issues/214
+
+
+### Troubleshooting steps for Pulsar Manager
+
+1. check whether pulsar cluster is normal
+
+```
+curl -v http://webservice-url:port/metrics/
+
+For example:
+curl -v http://localhost:8080/metrics/
+```
+
+2. Check the cluster configuration. A should be your real service address and cannot be filled in casually

Review comment:
       "what" should be your real service address and cannot be filled in casually?

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+```
+Releated issue: https://github.com/apache/pulsar-manager/issues/292
+
+
+Q: Pulsar Manager keeps saying "This environment is error. Please check it"
+
+Reason: Your pulsar manager service cannot connect with your pulsar cluster network.
+
+A: it's because _pulsar_  and _pulsar-manger_ runs in different containers with theirself localhosts (each container just know itself `localhost`).
+you should either run these two containers in one network using something like docker composer, or set `--network host` in your command, something like this:
+```bash
+docker run --rm --network host -it  -e REDIRECT_HOST=http://localhost -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -v $PWD:/data apachepulsar/pulsar-manager:v0.1.0 /bin/sh
+```
+
+Related issue: https://github.com/apache/pulsar-manager/issues/283
+https://github.com/apache/pulsar-manager/issues/214
+
+
+### Troubleshooting steps for Pulsar Manager
+
+1. check whether pulsar cluster is normal

Review comment:
       ```suggestion
   1. Check whether the Pulsar cluster runs well.
   ```

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+```
+Releated issue: https://github.com/apache/pulsar-manager/issues/292
+
+
+Q: Pulsar Manager keeps saying "This environment is error. Please check it"
+
+Reason: Your pulsar manager service cannot connect with your pulsar cluster network.
+
+A: it's because _pulsar_  and _pulsar-manger_ runs in different containers with theirself localhosts (each container just know itself `localhost`).
+you should either run these two containers in one network using something like docker composer, or set `--network host` in your command, something like this:
+```bash
+docker run --rm --network host -it  -e REDIRECT_HOST=http://localhost -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -v $PWD:/data apachepulsar/pulsar-manager:v0.1.0 /bin/sh
+```
+
+Related issue: https://github.com/apache/pulsar-manager/issues/283
+https://github.com/apache/pulsar-manager/issues/214
+
+
+### Troubleshooting steps for Pulsar Manager

Review comment:
       Why uses `###`? (Does this belong to "FAQ"?)

##########
File path: docs/faq.md
##########
@@ -0,0 +1,107 @@
+## FAQ
+
+* Q: Couldn't do any operation for pulsar?
+* Q: Manager doesn't show the Standalone cluster option for adding to tenant?
+* Q: 
+```
+java.lang.NullPointerException: null
+	at org.apache.pulsar.manager.service.impl.BrokersServiceImpl.getBrokersList(BrokersServiceImpl.java:54) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.ClustersServiceImpl.getClustersList(ClustersServiceImpl.java:70) ~[pulsar-manager.jar:na]
+	at org.apache.pulsar.manager.service.impl.BrokerStatsServiceImpl.scheduleCollectStats(BrokerStatsServiceImpl.java:129) ~[pulsar-manager.jar:na]
+	at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
+	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
+	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
+```
+
+Reason: The webservice URL configured by pulsar cluster when initializing metadata is inconsistent with the actual webservice URL.
+
+A: 
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.
+
+```
+./bin/pulsar-admin clusters update --broker-url http://broker-ip:6605 --url http://broker-ip:8080 cluster-name (eg, standalone)
+```
+Releated issue: https://github.com/apache/pulsar-manager/issues/292
+
+
+Q: Pulsar Manager keeps saying "This environment is error. Please check it"
+
+Reason: Your pulsar manager service cannot connect with your pulsar cluster network.
+
+A: it's because _pulsar_  and _pulsar-manger_ runs in different containers with theirself localhosts (each container just know itself `localhost`).
+you should either run these two containers in one network using something like docker composer, or set `--network host` in your command, something like this:
+```bash
+docker run --rm --network host -it  -e REDIRECT_HOST=http://localhost -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -v $PWD:/data apachepulsar/pulsar-manager:v0.1.0 /bin/sh
+```
+
+Related issue: https://github.com/apache/pulsar-manager/issues/283
+https://github.com/apache/pulsar-manager/issues/214
+
+
+### Troubleshooting steps for Pulsar Manager
+
+1. check whether pulsar cluster is normal
+
+```
+curl -v http://webservice-url:port/metrics/
+
+For example:
+curl -v http://localhost:8080/metrics/
+```
+
+2. Check the cluster configuration. A should be your real service address and cannot be filled in casually
+
+```
+./bin/pulsar-admin clusters list
+./bin/pulsar-admin clusters get cluster-name (eg, standalone)
+```
+
+The following results are correct:
+```
+./bin/pulsar-admin clusters get standalone
+{
+  "serviceUrl" : "http://127.0.0.1:8080",
+  "brokerServiceUrl" : "pulsar://127.0.0.1:6650"
+}
+```
+Your network should be connected to serviceUrl's network.
+
+If these two domain names are set incorrectly, please use the `./bin/pulsar-admin clusters update` command to update them to be correct.

Review comment:
       same




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar-manager] dockerzhang commented on pull request #308: Add frequently asked questions document

Posted by GitBox <gi...@apache.org>.
dockerzhang commented on pull request #308:
URL: https://github.com/apache/pulsar-manager/pull/308#issuecomment-749518942


   when will this PR be merged,  do we have a plan?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar-manager] sijie commented on pull request #308: Add frequently asked questions document

Posted by GitBox <gi...@apache.org>.
sijie commented on pull request #308:
URL: https://github.com/apache/pulsar-manager/pull/308#issuecomment-652875618


   @Anonymitaet @Jennifer88huang please review this.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar-manager] Jennifer88huang commented on pull request #308: Add frequently asked questions document

Posted by GitBox <gi...@apache.org>.
Jennifer88huang commented on pull request #308:
URL: https://github.com/apache/pulsar-manager/pull/308#issuecomment-749558698


   @dockerzhang Thanks for asking. We're sorry for forgetting the issue.
   @tuteng Do you have any concern on @Anonymitaet comments? If you have any concern, feel free to let us know.
   Let's fix the PR soon.
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org