[MCOL-1146] One step configuration of Multi Server Node Created: 2018-01-07 Updated: 2018-08-07 Resolved: 2018-08-07 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | installation |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.6 |
| Type: | Task | Priority: | Major |
| Reporter: | Dipti Joshi (Inactive) | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Epic Link: | ColumnStore Installation Improvements |
| Sprint: | 2018-13, 2018-14, 2018-15, 2018-16 |
| Description |
|
At present single node and multi-node install requires postConfig to be run after binary has been installed. postConfig is interactive configuration utility. Please provide a utility for Multi node install - that simply takes IP addresses of UM node and IP address of the PM node on command line and then applies all the default parameters for posConfig automatically without user interaction in the background. Something like: multiNodeConfig UM=IP1,IP2,IP3... PM=IP4,IP5,IP6 All the packages (rpm, deb, zypher or binaries) must have been installed on each of the UM and PM nodes before invoking this configuration utility. |
| Comments |
| Comment by David Hill (Inactive) [ 2018-01-08 ] |
|
get infinidb amazon multi-node installes, we had a script called amazonInstaller where you just configure an XML file, run the amazonInstaller and it would do the rest including running postConfigure. This would be a good place to start with a general multi-node install script. |
| Comment by Assen Totin (Inactive) [ 2018-02-16 ] |
|
I'd suggest we extend the postConfigure with the option to read an XML file (since CS uses XML for configuration), verify its contents and then run the usual tasks. The only thing here, aside from the actual work (which should be trivial, I could take it after M18), is to ask whether there are any plans to move CS to INI-style configs like the TX has (since there is a trend to converge the two). If yes, then it will make more sense to make this kickstart file for postConfigure use INI style; if not, we can stick with XML. For what it's worth, INI is easier for humans to write and will be less error-prone than XML. |
| Comment by David Hill (Inactive) [ 2018-07-05 ] |
|
Non AWS install configuration items that postConfigure normal ask for: Module Config type [separate or combined] And if Data Redundancy, these |
| Comment by Dipti Joshi (Inactive) [ 2018-07-05 ] |
|
Simply ask for UM and PM IP addresses and non-root user id /password on the command line. For rest of the post config options take defaults. Also assume non-distributed install. This should be non-interactive. The user should not be required to edit any config file. See here https://github.com/mariadb-corporation/mariadb-columnstore-docker/blob/master/columnstore/Dockerfile - how David Thompson has done it for a single node. |
| Comment by David Hill (Inactive) [ 2018-07-05 ] |
|
Ok, so for 1.1.6, this would be the default multi-node install. User would just provide UM and PM ip addresses Module Config type [separate] and the Ip-addresses would be used as the host-names |
| Comment by David Hill (Inactive) [ 2018-07-05 ] |
|
I can implement it like I did for example on postConfigure change ./postConfigure -qm -um-ip-addresses xxxx.xxxx.xxxx.xxxx,xxxx.xxxx.xxxx.xxxx -pm-ip-addresses xxxx.xxxx.xxxx.xxxx,xxxx.xxxx.xxxx.xxxx And the quick install script: ./quick_installer_multi_node.sh --um-ip-addresses=xxxx.xxxx.xxxx.xxxx,xxxx.xxxx.xxxx.xxxx --pm-ip-addresses=xxxx.xxxx.xxxx.xxxx,xxxx.xxxx.xxxx.xxxx or for a combined system ./quick_installer_multi_node.sh --pm-ip-addresses=xxxx.xxxx.xxxx.xxxx,xxxx.xxxx.xxxx.xxxx SO going this route, the data just gets passed into postConfigure, dont need to prefill in a Columnstore.xml |
| Comment by David Hill (Inactive) [ 2018-07-10 ] |
|
Distrubuted and Non-distributed. The default will be Non-distributed, which will require users to preinstall packages on all servers. But I did add an option to do Distributed installs, which is something I would use more.. So it will be good to have the option of both both ways.. here is an example and a full output: /usr/local/mariadb/columnstore/bin/quick_installer_multi_server.sh --pm-ip-addresses=172.31.46.144,172.31.33.138 --um-ip-addresses=172.31.40.253 --dist-install NOTE: Performing a Multi-Server Seperate install with um and pm running on seperate servers Run post-install script The next step is: If installing on a pm1 node: /usr/local/mariadb/columnstore/bin/postConfigure If installing on a non-pm1 using the non-distributed option: /usr/local/mariadb/columnstore/bin/columnstore start Run postConfigure script This is the MariaDB ColumnStore System Configuration and Installation tool. IMPORTANT: This tool requires to run on the Performance Module #1 With the no-Prompting Option being specified, you will be required to have the following: 1. Root user ssh keys setup between all nodes in the system or ===== Quick Install Multi-Server Configuration ===== ===== Setup System Module Type Configuration ===== There are 2 options when configuring the System Module Type: separate and combined 'separate' - User and Performance functionality on separate servers. 'combined' - User and Performance functionality on the same server Select the type of System Module Install [1=separate, 2=combined] (1) > Seperate Server Installation will be performed. NOTE: Local Query Feature allows the ability to query data from a single Performance Enable Local Query feature? [y,n] NOTE: The MariaDB ColumnStore Schema Sync feature will replicate all of the MariaDB ColumnStore Schema Sync feature is Enabled, do you want to leave enabled? [y,n] NOTE: MariaDB ColumnStore Replication Feature is enabled Enter System Name (columnstore-1) > ===== Setup Storage Configuration ===== ----- Setup Performance Module DBRoot Data Storage Mount Configuration ----- There are 2 options when configuring the storage: internal or external 'internal' - This is specified when a local disk is used for the DBRoot storage. 'external' - This is specified when the DBRoot directories are mounted. Select the type of Data Storage [1=internal, 2=external] (1) > ===== Setup Memory Configuration ===== NOTE: Setting 'NumBlocksPct' to 70% ===== Setup the Module Configuration ===== ----- User Module Configuration ----- Enter number of User Modules [1,1024] (1) >
Enter Nic Interface #1 Host Name (172.31.40.253) > ----- Performance Module Configuration ----- Enter number of Performance Modules [1,1024] (2) >
Enter Nic Interface #1 Host Name (172.31.46.144) >
Enter Nic Interface #1 Host Name (172.31.33.138) > ===== System Installation ===== System Configuration is complete. Performing a MariaDB ColumnStore System install using a Binary package Next step is to enter the password to access the other Servers. Enter password, hit 'enter' to default to using a ssh key, or 'exit' > ----- Performing Install on 'um1 / 172.31.40.253' ----- Install log file is located here: /tmp/um1_binary_install.log ----- Performing Install on 'pm2 / 172.31.33.138' ----- Install log file is located here: /tmp/pm2_binary_install.log MariaDB ColumnStore Package being installed, please wait ... DONE ===== Checking MariaDB ColumnStore System Logging Functionality ===== The MariaDB ColumnStore system logging is setup and working on local server ===== MariaDB ColumnStore System Startup ===== System Configuration is complete. ----- Starting MariaDB ColumnStore on local server ----- MariaDB ColumnStore successfully started MariaDB ColumnStore Database Platform Starting, please wait .......... DONE System Catalog Successfully Created Run MariaDB ColumnStore Replication Setup.. DONE MariaDB ColumnStore Install Successfully Completed, System is Active Enter the following command to define MariaDB ColumnStore Alias Commands . /usr/local/mariadb/columnstore/bin/columnstoreAlias Enter 'mcsmysql' to access the MariaDB ColumnStore SQL console NOTE: The MariaDB ColumnStore Alias Commands are in /etc/profile.d/columnstoreAlias.sh root@ip-172-31-46-144:~# |
| Comment by David Hill (Inactive) [ 2018-07-12 ] |
|
Multi-node quick install completed, here is the help ./quick_installer_multi_server.sh --help Quick Installer for a Multi Server MariaDB ColumnStore Install Defaults to non-distrubuted install, meaning MariaDB Columnstore Performace Module (pm) IP addresses are required --pm-ip-addresses=xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx Amazon AMI quick install completed, here is the help ./quick_installer_amazon.sh --help Quick Installer for an Amazon MariaDB ColumnStore Install Performace Module (pm) number is required --pm-count=x Number of pm instances to create |
| Comment by David Hill (Inactive) [ 2018-07-12 ] |
|
https://github.com/mariadb-corporation/mariadb-columnstore-engine/pull/518 |
| Comment by Ben Thompson (Inactive) [ 2018-07-12 ] |
|
Merged |
| Comment by Daniel Lee (Inactive) [ 2018-07-16 ] |
|
Build tested: 1.1.6-1 source /root/columnstore/mariadb-columnstore-server Merge pull request #113 from mariadb-corporation/davidhilldallas-patch-3 update readme /root/columnstore/mariadb-columnstore-server/mariadb-columnstore-engine Merge pull request #518 from mariadb-corporation/ Mcol 1146 - multi node quick install root installation, distributed worked [guest@localhost bin]$ ./quick_installer_multi_server.sh --pm-ip-addresses=10.0.0.15,10.0.0.16 --um-ip-addresses=10.0.0.11 --dist-install NOTE: Performing a Multi-Server Seperate install with um and pm running on seperate servers Run post-install script The next steps are: If installing on a pm1 node: export COLUMNSTORE_INSTALL_DIR=/home/guest/mariadb/columnstore If installing on a non-pm1 using the non-distributed option: export COLUMNSTORE_INSTALL_DIR=/home/guest/mariadb/columnstore Run postConfigure script /home/guest/mariadb/columnstore/bin/postConfigure: error while loading shared libraries: libmariadb.so.3: cannot open shared object file: No such file or directory using the same VMs, manually running postConfigure installed successfully. |
| Comment by Daniel Lee (Inactive) [ 2018-07-26 ] |
|
reopen per last test result |
| Comment by David Hill (Inactive) [ 2018-08-01 ] |
|
reproduce issue and fixed... Also added another command that user needs to run after postconfigure is finished to set env and alias's guest@ip-172-31-37-130:~$ mariadb/columnstore/bin/quick_installer_multi_server.sh --pm-ip-addresses=172.31.37.130 NOTE: Performing a Multi-Server Combined install with um/pm running on some server Run post-install script The next steps are: If installing on a pm1 node: export COLUMNSTORE_INSTALL_DIR=/home/guest/mariadb/columnstore If installing on a non-pm1 using the non-distributed option: export COLUMNSTORE_INSTALL_DIR=/home/guest/mariadb/columnstore Run postConfigure script This is the MariaDB ColumnStore System Configuration and Installation tool. IMPORTANT: This tool requires to run on the Performance Module #1 With the no-Prompting Option being specified, you will be required to have the following: 1. Root user ssh keys setup between all nodes in the system or ===== Quick Install Multi-Server Configuration ===== ===== Setup System Module Type Configuration ===== There are 2 options when configuring the System Module Type: separate and combined 'separate' - User and Performance functionality on separate servers. 'combined' - User and Performance functionality on the same server Select the type of System Module Install [1=separate, 2=combined] (2) > Combined Server Installation will be performed. NOTE: The MariaDB ColumnStore Schema Sync feature will replicate all of the MariaDB ColumnStore Schema Sync feature is Enabled, do you want to leave enabled? [y,n] NOTE: MariaDB ColumnStore Replication Feature is enabled NOTE: MariaDB ColumnStore Non-Distributed Install Feature is enabled Enter System Name (columnstore-1) > ===== Setup Storage Configuration ===== ----- Setup Performance Module DBRoot Data Storage Mount Configuration ----- There are 2 options when configuring the storage: internal or external 'internal' - This is specified when a local disk is used for the DBRoot storage. 'external' - This is specified when the DBRoot directories are mounted. Select the type of Data Storage [1=internal, 2=external] (1) > ===== Setup Memory Configuration ===== NOTE: Setting 'NumBlocksPct' to 50% ===== Setup the Module Configuration ===== ----- Performance Module Configuration ----- Enter number of Performance Modules [1,1024] (1) >
Enter Nic Interface #1 Host Name (172.31.37.130) > ===== Running the MariaDB ColumnStore MariaDB Server setup scripts ===== post-mysqld-install Successfully Completed ===== Checking MariaDB ColumnStore System Logging Functionality ===== The MariaDB ColumnStore system logging is setup and working on local server MariaDB ColumnStore System Configuration and Installation is Completed ===== MariaDB ColumnStore System Startup ===== System Configuration is complete. ----- Starting MariaDB ColumnStore on local Server 'pm1' ----- MariaDB ColumnStore successfully started MariaDB ColumnStore Database Platform Starting, please wait ....... DONE System Catalog Successfully Created Run MariaDB ColumnStore Replication Setup.. DONE MariaDB ColumnStore Install Successfully Completed, System is Active Enter the following command to define MariaDB ColumnStore Alias Commands . /etc/profile.d/columnstoreEnv.sh Enter 'mcsmysql' to access the MariaDB ColumnStore SQL console NOTE: The MariaDB ColumnStore Alias Commands are in /etc/profile.d/columnstoreAlias.sh guest@ip-172-31-37-130:~$ . /etc/profile.d/columnstoreEnv.sh ma MariaDB ColumnStore Admin Console Active Alarm Counts: Critical = 0, Major = 0, Minor = 0, Warning = 0, Info = 0 Critical Active Alarms: |
| Comment by David Hill (Inactive) [ 2018-08-01 ] |
|
https://github.com/mariadb-corporation/mariadb-columnstore-engine/pull/530 |
| Comment by Daniel Lee (Inactive) [ 2018-08-07 ] |
|
Build verified: 1.1.6-1 source /root/columnstore/mariadb-columnstore-server Merge pull request #123 from drrtuy/ /root/columnstore/mariadb-columnstore-server/mariadb-columnstore-engine Merge pull request #523 from mariadb-corporation/ |