mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-12-03 10:05:49 +00:00
Reorg tutorials for managing rippled
- Incorporate macOS install instructions
This commit is contained in:
1
content/_snippets/conf-file-location.md
Normal file
1
content/_snippets/conf-file-location.md
Normal file
@@ -0,0 +1 @@
|
||||
The [recommended installation](install-rippled.html) uses the config file `/etc/opt/ripple/rippled.cfg` by default. Other places you can put a config file include `$HOME/.config/ripple/rippled.cfg` (where `$HOME` is the home directory of the user running `rippled`), `$HOME/.local/ripple/rippled.cfg`, or the current working directory from where you start `rippled`.
|
||||
47
content/_snippets/post-rippled-install.md
Normal file
47
content/_snippets/post-rippled-install.md
Normal file
@@ -0,0 +1,47 @@
|
||||
It can take several minutes for `rippled` to sync with the rest of the network, during which time it outputs warnings about missing ledgers.
|
||||
|
||||
For information about `rippled` log messages, see [Understanding Log Messages](understanding-log-messages.html).
|
||||
|
||||
After your `rippled` has synchronized with the rest of the network, you have a fully functional stock `rippled` server that you can use for local signing and API access to the XRP Ledger. Use [`rippled` server states](rippled-server-states.html) to tell whether your `rippled` server has synchronized with the network. You can use the [`rippled` commandline interface](get-started-with-the-rippled-api.html#commandline) to test this quickly:
|
||||
|
||||
{% if currentpage.md == "tutorials/manage-the-rippled-server/installation/build-run-rippled-ubuntu.md" or
|
||||
currentpage.md == "tutorials/manage-the-rippled-server/installation/build-run-rippled-macos.md" %}
|
||||
$ ./rippled server_info
|
||||
{% else %}
|
||||
$ /opt/ripple/bin/rippled server_info
|
||||
{% endif %}
|
||||
|
||||
For more information about communicating with your `rippled` server using the rippled APIs, see the [rippled API reference](rippled-api.html).
|
||||
|
||||
Once you have your stock `rippled` server running, you may want to consider running it as a validating server. For information about validating servers and why you might want to run one, see [Run rippled as a Validator](run-rippled-as-a-validator.html).
|
||||
|
||||
Having trouble getting your `rippled` server started? See [rippled Server Won't Start](server-wont-start.html).
|
||||
|
||||
### Additional Configuration
|
||||
|
||||
`rippled` should connect to the XRP Ledger with the default configuration. However, you can change your settings by editing the `rippled.cfg` file. For recommendations about configuration settings, see [Capacity Planning](capacity-planning.html).
|
||||
|
||||
{% include '_snippets/conf-file-location.md' %}<!--_ -->
|
||||
|
||||
See [the `rippled` GitHub repository](https://github.com/ripple/rippled/blob/master/cfg/rippled-example.cfg) for a description of all configuration options.
|
||||
|
||||
{% if currentpage.md == "tutorials/manage-the-rippled-server/installation/install-rippled-on-ubuntu-with-alien.md" or
|
||||
currentpage.md == "tutorials/manage-the-rippled-server/installation/install-rippled-on-centos-rhel-with-yum" %}
|
||||
If you change the `[debug_logfile]` or `[database_path]` sections, you may need to grant the `rippled` user and group ownership to your new configured path:
|
||||
|
||||
```
|
||||
$ chown -R rippled:rippled <configured path>
|
||||
```
|
||||
|
||||
Restart `rippled` for any configuration changes to take effect:
|
||||
|
||||
```
|
||||
$ sudo service rippled restart
|
||||
```
|
||||
{% endif %}
|
||||
|
||||
### Updates
|
||||
|
||||
You must update `rippled` regularly to remain synced with the rest of the XRP Ledger network. You can subscribe to the [rippled Google Group](https://groups.google.com/forum/#!forum/ripple-server) to receive notifications of new `rippled` releases.
|
||||
|
||||
The `rippled` package for Red Hat Enterprise Linux and CentOS includes a script you can use to [enable automatic updates](update-rippled-automatically-on-centos-rhel.html) on those platforms. On other platforms, you must update manually.
|
||||
@@ -24,34 +24,12 @@ If a `rippled` server runs out of space before completely acquiring a shard, it
|
||||
|
||||
The history of all ledgers is shared by servers agreeing to keep particular ranges of historical ledgers. This makes it possible for servers to confirm that they have all the data they agreed to maintain, and produce proof trees or ledger deltas. Since `rippled` servers that are configured with history sharding randomly select the shards that they store, the entire history of all closed ledgers is stored in a normal distribution curve, increasing the probability that the XRP Ledger Network evenly maintains the history.
|
||||
|
||||
## Shard Store Configuration
|
||||
## See Also
|
||||
|
||||
To configure your `rippled` to store shards of ledger history, add a `shard_db` section to your `rippled.cfg` file.
|
||||
|
||||
### Shard Configuration Example
|
||||
The following snippet from an example `rippled.cfg` file shows the configuration fields for adding sharding to a `rippled` server:
|
||||
|
||||
```
|
||||
[shard_db]
|
||||
type=NuDB
|
||||
path=/var/lib/rippled/db/shards/nudb
|
||||
max_size_gb=50
|
||||
```
|
||||
|
||||
**Tip:** Ripple recommends using NuDB for the shard store (`type=NuDB`). NuDB uses fewer file handles per shard than RocksDB. RocksDB uses memory that scales with the size of data it stores, which may require excessive memory overhead.
|
||||
|
||||
**Tip:** While both validator and tracking (or stock) `rippled` servers can be configured to use history shard stores, Ripple recommends adding history sharding only for non-validator `rippled` servers to reduce overhead for validators. If you run a validator and want to manage ledger history using sharding, run a separate `rippled` server with sharding enabled.
|
||||
|
||||
For more information, reference the `[shard_db]` example in the [rippled.cfg configuration example](https://github.com/ripple/rippled/blob/master/cfg/rippled-example.cfg).
|
||||
|
||||
### Sizing the Shard Store
|
||||
Determining a suitable size for the shard store involves careful consideration. You should consider the following when deciding what size your shard store should be:
|
||||
|
||||
- Although redundant, it is possible to hold full ledger history in the ledger store and the history shard store.
|
||||
- An effective configuration might limit the ledger store only to recent history.
|
||||
- The ledger store history size should at minimum be twice the ledgers per shard, due to the fact that the current shard may be chosen to be stored and it would be wasteful to reacquire that data.
|
||||
- The time to acquire, number of file handles, and memory cache usage is directly affected by sizing.
|
||||
- Each shard contains 2^14 ledgers (16384).
|
||||
- A shard occupies approximately 200 MB to 4 GB based on the age of the shard. Older shards are smaller because there was less activity in the XRP Ledger at the time.
|
||||
- [Configure History Sharding](configure-history-sharding.html)
|
||||
<!--{# - [download_shard method][] #}-->
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
# Configure History Sharding
|
||||
|
||||
[History Sharding](history-sharding.html) lets servers contribute to preserving historical XRP Ledger data without each server needing to store the full history. By default, `rippled` servers do not store history shards.
|
||||
|
||||
**Tip:** While both validator and tracking (or stock) `rippled` servers can be configured to store history shards, Ripple recommends _not_ configuring validator `rippled` servers to store shards, to reduce overhead on those servers. If you run a validator and want to contribute to storing XRP Ledger history, Ripple recommends you run a separate `rippled` server with history sharding enabled.
|
||||
|
||||
To configure your `rippled` to store shards of ledger history, complete the following steps:
|
||||
|
||||
## 1. Determine how much space to allocate for the shard store
|
||||
|
||||
Before you configure your `rippled` server to store history shards, you must decide how much disk space to allocate to the history shard store. This also affects how much history you keep in the default ledger store. You should consider the following when deciding what size to configure your shard store:
|
||||
|
||||
- The ledger store (defined by the `[node_db]` stanza) is separate from the history shard store. The ledger store is required for all servers and _must_ contain a range of recent history, defined by how many ledgers to keep available in the `online_delete` parameter. (The default configuration stores the most recent 2000 ledgers.)
|
||||
- If you keep at least 2^15 ledgers (32768) in the ledger store, you can efficiently import chunks of recent history from the ledger store into the shard store.
|
||||
- The history shard store (defined by the `[shard_db]` stanza) is only required for storing history shards. The configuration stanza should be omitted from servers that do not store history shards. The size of the history shard store is defined in gigabytes in the `max_size_gb` parameter; the server attempts to use as much of this space as possible to store complete shards.
|
||||
- A shard consists of 2^14 ledgers (16384) and occupies approximately 200 MB to 4 GB based on the age of the shard. Older shards are smaller because there was less activity in the XRP Ledger at the time.
|
||||
- The history shard store and the ledger store _must_ be stored at different file paths. You can configure the ledger store and history store to be on different disks or partitions if desired.
|
||||
- It is possible but redundant to hold full ledger history in both the ledger store and the history shard store.
|
||||
- The time to acquire a shard, number of file handles needed by the `rippled` server, and memory cache usage is directly affected by the size of the shard.
|
||||
|
||||
## 2. Edit rippled.cfg
|
||||
|
||||
Edit your `rippled.cfg` file to add a `[shard_db]` stanza.
|
||||
|
||||
{% include '_snippets/conf-file-location.md' %}<!--_ -->
|
||||
|
||||
The following snippet shows an example of a `[shard_db]` stanza:
|
||||
|
||||
```
|
||||
[shard_db]
|
||||
type=NuDB
|
||||
path=/var/lib/rippled/db/shards/nudb
|
||||
max_size_gb=50
|
||||
```
|
||||
|
||||
**Tip:** Ripple recommends using NuDB for the shard store (`type=NuDB`). NuDB uses fewer file handles per shard than RocksDB. RocksDB uses memory that scales with the size of data it stores, which may require excessive memory overhead. However, NuDB is designed to be used with SSD drives and does not work with rotational disks.
|
||||
|
||||
For more information, reference the `[shard_db]` example in the [rippled.cfg configuration example](https://github.com/ripple/rippled/blob/master/cfg/rippled-example.cfg).
|
||||
|
||||
## 3. Restart the server
|
||||
|
||||
```
|
||||
systemctl restart rippled
|
||||
```
|
||||
|
||||
***TODO: is there an API method you can use to check that the server started and sharding was successfully enabled?***
|
||||
@@ -18,7 +18,7 @@ To enable public signing, perform the following steps:
|
||||
|
||||
vim /etc/opt/ripple/rippled.cfg
|
||||
|
||||
The [recommended installation](install-rippled.html) uses the config file `/etc/opt/ripple/rippled.cfg` by default. Other places you can put a config file include `$HOME/.config/ripple/rippled.cfg` (where `$HOME` is the home directory of the user running `rippled`) or
|
||||
{% include '_snippets/conf-file-location.md' %}<!--_ -->
|
||||
|
||||
2. Add the following stanza to your config file, and save the changes:
|
||||
|
||||
@@ -1,104 +1,10 @@
|
||||
# Install rippled
|
||||
# Build and Run rippled on macOS
|
||||
|
||||
For production, you can install a `rippled` instance using Ripple's binary executable for [Ubuntu](#installation-on-ubuntu-with-alien) or [CentOS/Red Hat](#installation-on-centosred-hat-with-yum).
|
||||
At this time, Ripple doesn't recommend using the macOS platform for `rippled` production use. For production, consider using the [Ubuntu platform](install-rippled-on-ubuntu-with-alien.html), which has received the highest level of quality assurance and testing.
|
||||
|
||||
For development, you can install a `rippled` instance using Ripple's binary executable for [macOS](#installation-on-macos), or you can build and run `rippled` from source for [Ubuntu](build-run-rippled-ubuntu.html).
|
||||
That said, macOS is suitable for many development and testing tasks. `rippled` has been tested for use with macOS up to 10.13 High Sierra.
|
||||
|
||||
For installation information for other platforms, see the [rippled repository](https://github.com/ripple/rippled/tree/develop/Builds).
|
||||
|
||||
|
||||
## Minimum System Requirements
|
||||
|
||||
A `rippled` server should run comfortably on commodity hardware, to make it inexpensive to participate in the network. At present, we recommend the following minimum requirements:
|
||||
|
||||
- Operating System:
|
||||
- Production: CentOS or RedHat Enterprise Linux (latest release) or Ubuntu (16.04+) supported
|
||||
- Development: Mac OS X, Windows (64-bit), or most Linux distributions
|
||||
- CPU: 64-bit x86_64, 2+ cores
|
||||
- Disk: Minimum 50GB SSD recommended (1000 IOPS, more is better) for the database partition
|
||||
- RAM:
|
||||
- Testing: 8GB+
|
||||
- Production: 32 GB
|
||||
|
||||
Amazon EC2's `m3.large` VM size may be appropriate depending on your workload. A fast network connection is preferable. Any increase in a server's client-handling load increases resources needs.
|
||||
|
||||
**Tip:** For recommendations beyond the minimum requirements, see [Capacity Planning](capacity-planning.html).
|
||||
|
||||
|
||||
## Installation on Ubuntu with alien
|
||||
|
||||
This section assumes that you are using Ubuntu 15.04 or later.
|
||||
|
||||
1. Install yum-utils and alien:
|
||||
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install yum-utils alien
|
||||
|
||||
2. Install the Ripple RPM repository:
|
||||
|
||||
$ sudo rpm -Uvh https://mirrors.ripple.com/ripple-repo-el7.rpm
|
||||
|
||||
3. Download the `rippled` software package:
|
||||
|
||||
$ yumdownloader --enablerepo=ripple-stable --releasever=el7 rippled
|
||||
|
||||
4. Verify the signature on the `rippled` software package:
|
||||
|
||||
$ sudo rpm --import https://mirrors.ripple.com/rpm/RPM-GPG-KEY-ripple-release && rpm -K rippled*.rpm
|
||||
|
||||
5. Install the `rippled` software package:
|
||||
|
||||
$ sudo alien -i --scripts rippled*.rpm && rm rippled*.rpm
|
||||
|
||||
6. Configure the `rippled` service to start on system boot:
|
||||
|
||||
$ sudo systemctl enable rippled.service
|
||||
|
||||
7. Start the `rippled` service
|
||||
|
||||
$ sudo systemctl start rippled.service
|
||||
|
||||
8. Verify that `rippled` has started.
|
||||
|
||||
$ sudo systemctl status rippled
|
||||
|
||||
For next steps, see [Postinstall](#postinstall) and [Additional Configuration](#additional-configuration).
|
||||
|
||||
|
||||
## Installation on CentOS/Red Hat with yum
|
||||
|
||||
This section assumes that you are using CentOS 7 or Red Hat Enterprise Linux 7.
|
||||
|
||||
1. Install the Ripple RPM repository:
|
||||
|
||||
$ sudo rpm -Uvh https://mirrors.ripple.com/ripple-repo-el7.rpm
|
||||
|
||||
2. Install the `rippled` software package:
|
||||
|
||||
$ sudo yum install --enablerepo=ripple-stable rippled
|
||||
|
||||
3. Configure the `rippled` service to start on system boot:
|
||||
|
||||
$ sudo systemctl enable rippled.service
|
||||
|
||||
4. Start the `rippled` service
|
||||
|
||||
$ sudo systemctl start rippled.service
|
||||
|
||||
5. Verify that `rippled` has started.
|
||||
|
||||
$ sudo systemctl status rippled
|
||||
|
||||
For next steps, see [Postinstall](#postinstall) and [Additional Configuration](#additional-configuration).
|
||||
|
||||
|
||||
## Installation on macOS
|
||||
|
||||
At this time, Ripple doesn't recommend using the macOS platform for `rippled` production use. For production, consider using the [Ubuntu platform](#installation-on-ubuntu-with-alien), which has received the highest level of quality assurance and testing.
|
||||
|
||||
That said, macOS is suitable for many development and testing tasks. `rippled` has been tested for use with macOS High Sierra up to 10.13.
|
||||
|
||||
Ripple recommends running `rippled` as your own user.
|
||||
For development purposes Ripple recommends running `rippled` as your own user, not using `sudo`.
|
||||
|
||||
1. Install [Xcode](https://developer.apple.com/download/).
|
||||
|
||||
@@ -245,85 +151,12 @@ Ripple recommends running `rippled` as your own user.
|
||||
|
||||
For information about `rippled` log messages, see [Understanding Log Messages](understanding-log-messages.html).
|
||||
|
||||
For next steps, see [Postinstall](#postinstall) and [Additional Configuration](#additional-configuration).
|
||||
## Next Steps
|
||||
|
||||
{% include '_snippets/post-rippled-install.md' %}<!--_ -->
|
||||
|
||||
## Postinstall
|
||||
## See Also
|
||||
|
||||
It can take several minutes for `rippled` to sync with the rest of the network, during which time it outputs warnings about missing ledgers.
|
||||
|
||||
For information about `rippled` log messages, see [Understanding Log Messages](understanding-log-messages.html).
|
||||
|
||||
Once your `rippled` has synchronized with the rest of the network, you have a fully functional stock `rippled` server that you can use for local signing and API access to the XRP Ledger. Use [`rippled` server states](rippled-server-states.html) to tell whether your `rippled` server has synchronized with the network.
|
||||
|
||||
For information about communicating with your `rippled` server using the rippled API, see the [rippled API reference](rippled-api.html).
|
||||
|
||||
Once you have your stock `rippled` server running, you may want to consider running it as a validating server. For information about validating servers and why you might want to run one, see [Run rippled as a Validator](run-rippled-as-a-validator.html).
|
||||
|
||||
Having trouble getting your `rippled` server started? See [rippled Server Won't Start](server-wont-start.html).
|
||||
|
||||
|
||||
## Additional Configuration
|
||||
|
||||
<!--{# TODO: Once post-rippled-install.md PR is merged, include it here to get latest, consistent info. #}-->
|
||||
|
||||
`rippled` should connect to the XRP Ledger with the default configurations. However, you can change your settings by editing the `rippled.cfg` file.
|
||||
|
||||
For recommendations about configuration settings, see [Capacity Planning](capacity-planning.html).
|
||||
|
||||
You must restart `rippled` for any configuration changes to take effect:
|
||||
|
||||
* For Ubuntu and CentOS/Red Hat:
|
||||
|
||||
$ sudo systemctl restart rippled.service
|
||||
|
||||
* For macOS, use Ctrl-C to stop `rippled` and then start it again:
|
||||
|
||||
$ ./rippled
|
||||
|
||||
|
||||
### Connect Your `rippled` to the XRP Test Net
|
||||
|
||||
Ripple has created the [XRP Test Network](https://ripple.com/build/xrp-test-net/) to provide a testing platform for the XRP Ledger. XRP Test Net funds are not real funds and are intended for testing only. You can connect your `rippled` server to the XRP Test Net to test out and understand `rippled` functionality before connecting to the production XRP Ledger Network. You can also use the XRP Test Net to verify that your own code interacts correctly with `rippled`.
|
||||
|
||||
**Note:** The XRP Test Net ledger and balances are reset on a regular basis.
|
||||
|
||||
_**To connect your `rippled` server to the XRP Test Net, set the following configurations:**_
|
||||
|
||||
1. In your `rippled.cfg` file:
|
||||
|
||||
a. Uncomment the following section, as follows:
|
||||
|
||||
[ips]
|
||||
r.altnet.rippletest.net 51235
|
||||
|
||||
b. Comment out the following section, as follows:
|
||||
|
||||
# [ips]
|
||||
# r.ripple.com 51235
|
||||
|
||||
2. In your `validators.txt` file:
|
||||
|
||||
a. Uncomment the following sections, as follows:
|
||||
|
||||
[validator_list_sites]
|
||||
https://vl.altnet.rippletest.net
|
||||
|
||||
[validator_list_keys]
|
||||
ED264807102805220DA0F312E71FC2C69E1552C9C5790F6C25E3729DEB573D5860
|
||||
|
||||
b. Comment out the following sections, as follows:
|
||||
|
||||
# [validator_list_sites]
|
||||
# https://vl.ripple.com
|
||||
#
|
||||
# [validator_list_keys]
|
||||
# ED2677ABFFD1B33AC6FBC3062B71F1E8397C1505E1C42C64D11AD1B28FF73F4734
|
||||
|
||||
3. Restart `rippled`.
|
||||
|
||||
4. To verify that your `rippled` is connected to the XRP Test Net, go to the [XRP Test Net Faucet](https://developers.ripple.com/xrp-test-net-faucet.html) and click **Generate credentials**. Make a note of the **Address** value. Make the [`account_info`](https://developers.ripple.com/account_info.html) request to your `rippled` server.
|
||||
|
||||
If the request returns account information, your `rippled` is connected to the XRP Test Net. If the request cannot find the account, your `rippled` is not connected to the XRP Test Net. Check your `rippled.cfg` and `validators.txt` configurations.
|
||||
|
||||
Ripple recommends that you generate new test credentials each time you want to perform this verification. Using an old XRP Test Net **Address** value may not provide accurate results.
|
||||
- [Install rippled on Ubuntu Linux](install-rippled-on-ubuntu.html) (Pre-built binary on Ubuntu for production use)
|
||||
- [Build and Run `rippled` on Ubuntu](build-run-rippled-ubuntu.html) (Compile `rippled` yourself on Ubuntu)
|
||||
- [Compilation instructions for other platforms](https://github.com/ripple/rippled/tree/develop/Builds)
|
||||
@@ -9,16 +9,9 @@ Use these instructions to build a `rippled` executable from source version 1.1.0
|
||||
For information about building `rippled` for other platforms, see [Builds](https://github.com/ripple/rippled/tree/develop/Builds) in the `rippled` GitHub repository.
|
||||
|
||||
|
||||
## System Requirements
|
||||
|
||||
**_To build `rippled`:_**
|
||||
|
||||
You need a **minimum** of 8GB of RAM.
|
||||
|
||||
**_To run `rippled`:_**
|
||||
|
||||
Meet these [system requirements](install-rippled.html#minimum-system-requirements).
|
||||
## Prerequisites
|
||||
|
||||
Before you compile or install `rippled`, you must meet the [System Requirements](system-requirements.html).
|
||||
|
||||
## 1. Build `rippled`
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# Install on CentOS/Red Hat with yum
|
||||
|
||||
This page describes the recommended instructions for installing the latest stable version of `rippled` on **CentOS 7** or **Red Hat Enterprise Linux 7**, using Ripple's [yum](https://en.wikipedia.org/wiki/Yellowdog_Updater,_Modified) repository.
|
||||
|
||||
These instructions install a binary that has been compiled by Ripple.
|
||||
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before you install `rippled`, you must meet the [System Requirements](system-requirements.html).
|
||||
|
||||
|
||||
## Installation Steps
|
||||
|
||||
1. Install the Ripple RPM repository:
|
||||
|
||||
$ sudo rpm -Uvh https://mirrors.ripple.com/ripple-repo-el7.rpm
|
||||
|
||||
2. Install the `rippled` software package:
|
||||
|
||||
$ sudo yum install --enablerepo=ripple-stable rippled
|
||||
|
||||
3. Configure the `rippled` service to start on system boot:
|
||||
|
||||
$ sudo systemctl enable rippled.service
|
||||
|
||||
4. Start the `rippled` service
|
||||
|
||||
$ sudo systemctl start rippled.service
|
||||
|
||||
|
||||
## Next Steps
|
||||
|
||||
{% include '_snippets/post-rippled-install.md' %}<!--_ -->
|
||||
|
||||
## See Also
|
||||
|
||||
- [Automatically Update rippled on Ubuntu Linux]()
|
||||
- [Install rippled on Ubuntu Linux](install-rippled-on-ubuntu.html) (Pre-built binary on Ubuntu)
|
||||
- [Build and Run `rippled` on Ubuntu](build-run-rippled-ubuntu.html) (Compile `rippled` yourself on Ubuntu)
|
||||
- [Compilation instructions for other platforms](https://github.com/ripple/rippled/tree/develop/Builds)
|
||||
@@ -0,0 +1,47 @@
|
||||
# Install on Ubuntu with Alien
|
||||
|
||||
This page describes the recommended instructions for installing the latest stable version of `rippled` on **Ubuntu Linux 16.04 or higher**, using the [Alien](https://help.ubuntu.com/community/RPM/AlienHowto) utility to install from Ripple's [yum](https://en.wikipedia.org/wiki/Yellowdog_Updater,_Modified) repository.
|
||||
|
||||
These instructions install a binary that has been compiled by Ripple.
|
||||
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before you install `rippled`, you must meet the [System Requirements](system-requirements.html).
|
||||
|
||||
|
||||
## Installation Steps
|
||||
|
||||
1. Install yum-utils and alien:
|
||||
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install yum-utils alien
|
||||
|
||||
2. Install the Ripple RPM repository:
|
||||
|
||||
$ sudo rpm -Uvh https://mirrors.ripple.com/ripple-repo-el7.rpm
|
||||
|
||||
3. Download the `rippled` software package:
|
||||
|
||||
$ yumdownloader --enablerepo=ripple-stable --releasever=el7 rippled
|
||||
|
||||
4. Verify the signature on the `rippled` software package:
|
||||
|
||||
$ sudo rpm --import https://mirrors.ripple.com/rpm/RPM-GPG-KEY-ripple-release && rpm -K rippled*.rpm
|
||||
|
||||
5. Install the `rippled` software package:
|
||||
|
||||
$ sudo alien -i --scripts rippled*.rpm && rm rippled*.rpm
|
||||
|
||||
6. Configure the `rippled` service to start on system boot:
|
||||
|
||||
$ sudo systemctl enable rippled.service
|
||||
|
||||
7. Start the `rippled` service
|
||||
|
||||
$ sudo systemctl start rippled.service
|
||||
|
||||
|
||||
## Next Steps
|
||||
|
||||
{% include '_snippets/post-rippled-install.md' %}
|
||||
@@ -0,0 +1,30 @@
|
||||
# System Requirements
|
||||
|
||||
## Minimum Specifications
|
||||
|
||||
A `rippled` server should run comfortably on commodity hardware, to make it inexpensive to participate in the network. At present, Ripple recommends the following minimum requirements:
|
||||
|
||||
- Operating System:
|
||||
- Production: CentOS or RedHat Enterprise Linux (latest release) or Ubuntu (16.04+) supported
|
||||
- Development: Mac OS X, Windows (64-bit), or most Linux distributions
|
||||
- CPU: 64-bit x86_64, 2+ cores
|
||||
- Disk: Minimum 50GB for the database partition. SSD strongly recommended (minimum 1000 IOPS, more is better)
|
||||
- RAM: 8GB+
|
||||
|
||||
Amazon EC2's `m3.large` VM size may be appropriate depending on your workload. A fast network connection is preferable. Any increase in a server's client-handling load increases resources needs.
|
||||
|
||||
## Recommended Specifications
|
||||
|
||||
For best performance in enterprise production environments, Ripple recommends running `rippled` on bare metal with the following characteristics:
|
||||
|
||||
- Operating System: Ubuntu 16.04+
|
||||
- CPU: Intel Xeon 3+ GHz processor with 4 cores and hyperthreading enabled
|
||||
- Disk: SSD (7000+ writes/second, 10,000+ reads/second)
|
||||
- RAM:
|
||||
- For testing: 8GB+
|
||||
- For production: 32GB
|
||||
- Network: Enterprise data center network with a gigabit network interface on the host
|
||||
|
||||
## See Also
|
||||
|
||||
For more information on the recommended specifications and planning for production needs, see [Capacity Planning](capacity-planning.html).
|
||||
@@ -0,0 +1,25 @@
|
||||
# Update Automatically on CentOS/Red Hat
|
||||
|
||||
On CentOS and Red Hat Enterprise Linux, you can set up `rippled` to automatically upgrade to the latest version with a one-time `cron` configuration. Ripple recommends enabling automatic updates if possible.
|
||||
|
||||
These instructions assume you have already [installed `rippled` from the `yum` repository](install-rippled-on-centos-rhel-with-yum.html).
|
||||
|
||||
To set up automatic updates, complete the following steps:
|
||||
|
||||
1. Check that `/opt/ripple/bin/update-rippled.sh` exists. If it does not, [update manually](update-rippled-manually-on-centos-rhel.html).
|
||||
|
||||
2. Install `crond`:
|
||||
|
||||
$ sudo yum install cronie
|
||||
|
||||
3. Open the crontab file for editing
|
||||
|
||||
$ sudo crontab -e
|
||||
|
||||
4. Add the following to the crontab file. Be sure to add a blank line at the end of the file.
|
||||
|
||||
RANDOM_DELAY=59
|
||||
0 * * * * /opt/ripple/bin/update-rippled.sh
|
||||
|
||||
|
||||
The script updates the installed `rippled` package within an hour of each new release. To reduce the chance of outages from all servers updating simultaneously, the script delays the update for a random number of minutes, up to 59.
|
||||
@@ -0,0 +1,23 @@
|
||||
# Update Manually on CentOS/Red Hat
|
||||
|
||||
This page describes how to update manually to the latest release of `rippled` on CentOS or Red Hat Enterprise Linux. Ripple recommends setting up [automatic updates](update-rippled-automatically-on-centos-rhel.html) instead, where possible.
|
||||
|
||||
These instructions assume you have already [installed `rippled` from the `yum` repository](install-rippled-on-centos-rhel-with-yum.html).
|
||||
|
||||
To update manually, complete the following steps:
|
||||
|
||||
1. Update the package list from Ripple's yum repository:
|
||||
|
||||
$ sudo rpm -Uvh --replacepkgs https://mirrors.ripple.com/ripple-repo-el7.rpm
|
||||
|
||||
2. Download and install the latest `rippled` package:
|
||||
|
||||
$ sudo yum update --enablerepo=ripple-stable rippled
|
||||
|
||||
3. Reload the `systemd` unit files:
|
||||
|
||||
$ sudo systemctl daemon-reload
|
||||
|
||||
4. Restart the `rippled` service:
|
||||
|
||||
$ sudo service rippled restart
|
||||
@@ -0,0 +1,29 @@
|
||||
# Update Manually on Ubuntu
|
||||
|
||||
This page describes how to update manually to the latest release of `rippled` on Ubuntu Linux. These instructions assume you have already [installed `rippled` using Alien](install-rippled-on-ubuntu-with-alien.html).
|
||||
|
||||
To update manually, complete the following steps:
|
||||
|
||||
1. Update the package list from Ripple's yum repository:
|
||||
|
||||
$ sudo rpm -Uvh --replacepkgs https://mirrors.ripple.com/ripple-repo-el7.rpm
|
||||
|
||||
2. Download the latest `rippled` package:
|
||||
|
||||
$ yumdownloader --enablerepo=ripple-stable --releasever=el7 rippled
|
||||
|
||||
3. Verify the signatures on the downloaded packages:
|
||||
|
||||
$ rpm -K rippled*.rpm
|
||||
|
||||
4. Use Alien to upgrade to the new `rippled` package:
|
||||
|
||||
$ sudo alien -i --scripts rippled*.rpm
|
||||
|
||||
5. Reload the `systemd` unit files:
|
||||
|
||||
$ sudo systemctl daemon-reload
|
||||
|
||||
6. Restart the `rippled` service:
|
||||
|
||||
$ sudo service rippled restart
|
||||
@@ -1,37 +0,0 @@
|
||||
# Manage the `rippled` Server
|
||||
<!--{# There may be a better way to present the info on this page - especially once we have more tutorials per platform. Also, how about the sequence -- which tasks are required/commonly performed/highest priority? Which tasks are advanced/optional/lower priority? #}-->
|
||||
|
||||
The tutorials in this section walk you through the ins-and-outs of maintaining a `rippled` server.
|
||||
|
||||
* **[Install `rippled`](x)**
|
||||
|
||||
Install `rippled` from a binary executable on CentOS/RedHat and Ubuntu.
|
||||
|
||||
* **[Build and Run `rippled` on Ubuntu](x)**
|
||||
|
||||
Build `rippled` from source and run it on Ubuntu.
|
||||
|
||||
* **[Configure and Scale `rippled`](x)**
|
||||
|
||||
Configure and scale your `rippled` to meet the needs of your use case, whether you need a test server or a robust production-grade server.
|
||||
|
||||
* **[Run `rippled` in Validator Mode](x)**
|
||||
|
||||
Configure `rippled` to run in validator mode. In this mode, your `rippled` server participates in the XRP Ledger consensus process.
|
||||
|
||||
* **[Run `rippled` in Stand-Alone Mode](x)**
|
||||
|
||||
Configure `rippled` to run in stand-alone mode. In this mode, your `rippled` server is not connected to the live XRP Ledger network, which is a great mode to use for testing and development.
|
||||
|
||||
* **[Run `rippled` in a Cluster](x)**
|
||||
|
||||
Run `rippled` in a cluster to maximize efficiency.
|
||||
|
||||
* **[Troubleshoot `rippled`](x)**
|
||||
|
||||
Troubleshoot your `rippled`, whether you are just trying to get it running, or if it's been up and running for a while.
|
||||
|
||||
* **[Configure the Peer Protocol](x)**
|
||||
|
||||
Configure your `rippled` to use the peer protocol to send and receive connections on the peer port.
|
||||
<!--{# TODO: Not sure about this phrasing -- wondering if this should just be a part of the "Configure and Scale" rippled.cfg tutorial? #}-->
|
||||
@@ -1,45 +0,0 @@
|
||||
# Update rippled
|
||||
|
||||
You can subscribe to the [rippled Google Group](https://groups.google.com/forum/#!forum/ripple-server) to receive notifications of new `rippled` releases.
|
||||
|
||||
## Automatic Update on CentOS/Red Hat
|
||||
|
||||
Automatic rippled updates can be enabled with a one-time Cron configuration:
|
||||
|
||||
1. Check that `/opt/ripple/bin/update-rippled.sh` exists. If it does not, [update manually](#manual-update-on-centosred-hat).
|
||||
|
||||
2. Install `crond`:
|
||||
|
||||
$ sudo yum install cronie
|
||||
|
||||
3. Open the crontab file for editing
|
||||
|
||||
$ sudo crontab -e
|
||||
|
||||
4. Add the following to the crontab file. Be sure to add a blank line at the end of the file.
|
||||
|
||||
RANDOM_DELAY=59
|
||||
0 * * * * /opt/ripple/bin/update-rippled.sh
|
||||
|
||||
|
||||
The script updates the installed `rippled` package within an hour of each new release.
|
||||
|
||||
## Manual Update on CentOS/Red Hat
|
||||
|
||||
Run the following commands to update to the latest release of `rippled`:
|
||||
|
||||
$ sudo rpm -Uvh --replacepkgs https://mirrors.ripple.com/ripple-repo-el7.rpm
|
||||
$ sudo yum update --enablerepo=ripple-stable rippled
|
||||
$ sudo systemctl daemon-reload
|
||||
$ sudo service rippled restart
|
||||
|
||||
## Manual Update on Ubuntu
|
||||
|
||||
Run the following commands to update to the latest release of `rippled`:
|
||||
|
||||
$ sudo rpm -Uvh --replacepkgs https://mirrors.ripple.com/ripple-repo-el7.rpm
|
||||
$ yumdownloader --enablerepo=ripple-stable --releasever=el7 rippled
|
||||
$ rpm -K rippled*.rpm
|
||||
$ sudo alien -i --scripts rippled*.rpm
|
||||
$ sudo systemctl daemon-reload
|
||||
$ sudo service rippled restart
|
||||
@@ -876,92 +876,205 @@ pages:
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
blurb: Build, install, configure, and run the rippled server.
|
||||
blurb: A system admin's guide to setting up and maintaining the rippled server.
|
||||
template: template-landing-children.html
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/capacity-planning.md
|
||||
html: capacity-planning.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/install-rippled.md
|
||||
- name: Install rippled
|
||||
html: install-rippled.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Installation
|
||||
blurb: Set up and update the rippled server.
|
||||
template: template-landing-children.html
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/update-rippled.md
|
||||
html: update-rippled.html
|
||||
- md: tutorials/manage-the-rippled-server/installation/system-requirements.md
|
||||
html: system-requirements.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Installation
|
||||
blurb: Hardware and software requirements for running rippled.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/cluster-rippled-servers.md
|
||||
html: cluster-rippled-servers.html
|
||||
- md: tutorials/manage-the-rippled-server/installation/install-rippled-on-centos-rhel-with-yum.md
|
||||
html: install-rippled-on-centos-rhel-with-yum.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Installation
|
||||
blurb: Install a precompiled rippled binary on CentOS or Red Hat Enterprise Linux.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/enable-public-signing.md
|
||||
html: enable-public-signing.html
|
||||
- md: tutorials/manage-the-rippled-server/installation/install-rippled-on-ubuntu-with-alien.md
|
||||
html: install-rippled-on-ubuntu-with-alien.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Installation
|
||||
blurb: Install a precompiled rippled binary on Ubuntu Linux.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/run-rippled-as-a-validator.md
|
||||
html: run-rippled-as-a-validator.html
|
||||
- md: tutorials/manage-the-rippled-server/installation/update-rippled-automatically-on-centos-rhel.md
|
||||
html: update-rippled-automatically-on-centos-rhel.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Installation
|
||||
blurb: Set up automatic updates for rippled on CentOS or Red Hat Enterprise Linux.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/start-a-new-genesis-ledger-in-stand-alone-mode.md
|
||||
html: start-a-new-genesis-ledger-in-stand-alone-mode.html
|
||||
- md: tutorials/manage-the-rippled-server/installation/update-rippled-manually-on-centos-rhel.md
|
||||
html: update-rippled-manually-on-centos-rhel.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Installation
|
||||
blurb: Manually update rippled on CentOS or Red Hat Enterprise Linux.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/load-a-saved-ledger-in-stand-alone-mode.md
|
||||
html: load-a-saved-ledger-in-stand-alone-mode.html
|
||||
- md: tutorials/manage-the-rippled-server/installation/update-rippled-manually-on-ubuntu.md
|
||||
html: update-rippled-manually-on-ubuntu.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Installation
|
||||
blurb: Manually update rippled on Ubuntu Linux.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/advance-the-ledger-in-stand-alone-mode.md
|
||||
html: advance-the-ledger-in-stand-alone-mode.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/build-run-rippled-ubuntu.md
|
||||
- md: tutorials/manage-the-rippled-server/installation/build-run-rippled-ubuntu.md
|
||||
html: build-run-rippled-ubuntu.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Installation
|
||||
blurb: Compile rippled yourself on Ubuntu Linux.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/installation/build-run-rippled-macos.md
|
||||
html: build-run-rippled-macos.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Installation
|
||||
blurb: Compile rippled yourself on macOS.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/installation/capacity-planning.md
|
||||
html: capacity-planning.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Installation
|
||||
blurb: Plan system specs and tune configuration for rippled in production environments.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- name: Configure rippled
|
||||
html: configure-rippled.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Configuration
|
||||
blurb: Customize your rippled server configuration.
|
||||
template: template-landing-children.html
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/configuration/run-rippled-as-a-validator.md
|
||||
html: run-rippled-as-a-validator.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Configuration
|
||||
blurb: Have your server vote on the consensus ledger.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/configuration/cluster-rippled-servers.md
|
||||
html: cluster-rippled-servers.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Configuration
|
||||
blurb: Set up a group of servers that share work for higher efficiency.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/configuration/configure-history-sharding.md
|
||||
html: configure-history-sharding.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Configuration
|
||||
blurb: Set up a server to contribute to preserving shards of historical XRP Ledger data.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/configuration/enable-public-signing.md
|
||||
html: enable-public-signing.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Configuration
|
||||
blurb: Allow others to use your server to sign transactions. (Not recommended)
|
||||
targets:
|
||||
- local
|
||||
|
||||
- name: Use rippled in Stand-Alone Mode
|
||||
html: use-stand-alone-mode.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Stand-Alone Mode
|
||||
blurb: Use rippled's Stand Alone Mode for testing new features or configurations.
|
||||
template: template-landing-children.html
|
||||
targets:
|
||||
- local
|
||||
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/stand-alone-mode/start-a-new-genesis-ledger-in-stand-alone-mode.md
|
||||
html: start-a-new-genesis-ledger-in-stand-alone-mode.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Stand-Alone Mode
|
||||
blurb: Start from a fresh genesis ledger in stand-alone mode.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/stand-alone-mode/load-a-saved-ledger-in-stand-alone-mode.md
|
||||
html: load-a-saved-ledger-in-stand-alone-mode.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Stand-Alone Mode
|
||||
blurb: Start in stand-alone mode from a specific saved ledger to test or replay transactions.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/stand-alone-mode/advance-the-ledger-in-stand-alone-mode.md
|
||||
html: advance-the-ledger-in-stand-alone-mode.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Stand-Alone Mode
|
||||
blurb: Make progress in stand-alone mode by manually closing the ledger.
|
||||
targets:
|
||||
- local
|
||||
|
||||
# TODO: run a validator, run in stand-alone mode, set up private peers
|
||||
|
||||
- name: Troubleshooting rippled
|
||||
html: troubleshoot-the-rippled-server.html
|
||||
@@ -1004,13 +1117,12 @@ pages:
|
||||
targets:
|
||||
- local
|
||||
|
||||
# TODO: more troubleshooting rippled articles
|
||||
|
||||
- md: tutorials/manage-the-rippled-server/fix-sqlite-tx-db-page-size-issue.md
|
||||
- md: tutorials/manage-the-rippled-server/troubleshooting/fix-sqlite-tx-db-page-size-issue.md
|
||||
html: fix-sqlite-tx-db-page-size-issue.html
|
||||
funnel: Docs
|
||||
doc_type: Tutorials
|
||||
category: Manage the rippled Server
|
||||
subcategory: Troubleshooting rippled
|
||||
targets:
|
||||
- local
|
||||
|
||||
|
||||
Reference in New Issue
Block a user