apache / doris

Apache Doris is an easy-to-use, high performance and unified analytics database.
https://doris.apache.org
Apache License 2.0
12.83k stars 3.3k forks source link

feature: Add FE/BE auto deploy script #1045

Closed zhoufwind closed 5 years ago

zhoufwind commented 5 years ago

Is your feature request related to a problem? Please describe. Deploy FE and BE is quite boring, especially on dev/QA environment, 1 server node need deploy multiple BEs, we can save a lot of time if we have auto deployment script. I have wrote scripts to speed up deploying FE and BE, and published at palo-deploy. I have confirmed, it support v0.8.2 and v0.9.0 for now, would you please review it and let me know if I can PR this feature to doris master branch? Thanks. BTW, If necessary, I can translate the doc to english.

morningman commented 5 years ago

First, I am very thanks to you that you can contribute a deploy script for Doris. But I have to point out some problems of the script you provide.

  1. There is a DeployManager.java in FE source code. This is a base class for the deployment of Doris for some certain scenarios, such k8s, Ambari. And the derived class LocalFileDeployManager is for generic scenarios. I think you may use this to implement the deploy method.

  2. In my opinion, the deployment tools should contains the ability of downloading, distribution, installation and starting. And your scripts only implement the latter two, the downloading and distribution ability is missing.

  3. The expansibility and maintainability should also be considered. For example, what if user wants to add some additional configurations to fe.conf or be.conf? Is there a convenient way to change the configuration and re-deploy them again? And the latest start_xx.sh is added a new parameter --daemon instead of the & symbol, you'd better redesign the script.

I think this script is not ready for now. But Doris DO long for a deployment toolset. Any idea can be discussed here (Using Chinese is also welcome).

zhoufwind commented 5 years ago

@morningman Thanks a lot for your quick and helpful responding! As you said, there are so many excellent config manager or deployment toolset, such as K8S orchestration/ Ambari/ LocalFile(SaltStack sls & Ansible playbook) and so on now, I believe these method should be more efficiency than my way which just provided, and I will take further look on these aspect. This issue should be closed for now, and considering reopen it when I have further progress. Again, thank you Mingyu, learned a lot on it today :)