-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #96 from openedx/bmtcril/beta_doc_updates
docs: Add upgrading and clustering docs, update port setting names
- Loading branch information
Showing
4 changed files
with
43 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
.. clickhouse-cluster: | ||
How To Run Aspects With ClickHouse Cluster | ||
****************************************** | ||
|
||
ClickHouse clusters are an advanced way of running ClickHouse, but offer many benefits for large scale installations. Deciding whether to run in a clustered environment is a big decision with many cost and administrative impacts and should be carefully considered before launching a production environment. In most cases we expect Aspects to perform well without cluster scaling. | ||
|
||
.. warning:: | ||
Please fully understand the nuances of ClickHouse replication before choosing this route! While we have done some testing to ensure basic functionality of Aspects in a clustered environment, it may be expected to fail in novel and spectacular ways until we have a fully tested release running under load. | ||
|
||
|
||
It is strongly suggested that if you are considering clustering you use a service provider to manage the cluster for you. `ClickHouse Cloud <https://clickhouse.com/cloud>`_ and `Altinity <https://altinity.com/cloud-database/>`_ both offer ClickHouse as a service. Altinity also offers `management services <https://altinity.com/cloud-database/#anywhere>`_ for running ClickHouse in your own Kubernetes environment. | ||
|
||
Configuring Aspects to run in clustered mode is simple: | ||
|
||
- Follow the directions in :ref:`remote-clickhouse` to set up your ClickHouse connection | ||
- Set the ``CLICKHOUSE_CLUSTER_NAME`` Tutor configuration variables as appropriate for your installation | ||
- Save your Tutor configuration: ``tutor config save`` | ||
|
||
When you initialize your environment the following changes will happen from a single server install: | ||
|
||
- All users, databases, tables, views, functions, etc. will be created with ``ON CLUSTER 'your-cluster-name'``, including dbt managed views. | ||
- All tables will be created with the Replicated versions of their table engines (ex: ``ReplicatedReplacingMergeTree``) | ||
- ClickHouse traffic will be split among your nodes, as described in `their documentation <https://clickhouse.com/docs/en/architecture/cluster-deployment>`_ . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
.. upgrade-aspects: | ||
How-to Upgrade Aspects | ||
********************** | ||
|
||
At least in the early phases of existence, Aspects is intended to have a faster upgrade cycle than Open edX named releases. It's expected that many operators will want to upgrade between releases to get features as they become available, but the upgrade process should be the same whether it's happening as part of a named release upgrade or in between. | ||
|
||
As for any upgrade you should take a backup snapshot of your environment before beginning, especially make sure you have a recent backup of your ClickHouse database. Then follow these steps, which are basically the same as installation: | ||
|
||
- Install the version you would like from tutor-contrib-aspects, or for the latest: ``pip install --upgrade tutor-contrib-aspects`` | ||
- Save your tutor configuration: ``tutor config save`` | ||
- Build your openedx image (in case there are upgrades to LMS/Studio plugins): ``tutor images build openedx --no-cache`` | ||
- Initialize Aspects to get the latest schema and reports, for a tutor local install: ``tutor local do init -l aspects`` | ||
|
||
In a case where the release has special instructions, such as when new xAPI transforms have been added and you may need to replay tracking logs, they will be included in the release announcement. |