This is an automated email from the ASF dual-hosted git repository.

mck pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra-website.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 65033ab  December blog post titled: "Configurable Storage Ports and 
Why We Need Them"
65033ab is described below

commit 65033abc8747d060b45a958bd52be399a9cb9987
Author: Diogenese Topper <[email protected]>
AuthorDate: Thu Dec 23 19:14:21 2021 -0800

    December blog post titled: "Configurable Storage Ports and Why We Need Them"
    
     patch by Chris Thornett, Diogenese Topper; reviewed by Anthony Grasso, 
Erick Ramirez for CASSANDRA-1722
---
 ...d-why-we-need-them-unsplash-bernard-hermant.jpg | Bin 0 -> 271007 bytes
 site-content/source/modules/ROOT/pages/blog.adoc   |  28 +++++++++++++-
 ...gurable-Storage-Ports-and-Why-We-Need-Them.adoc |  42 +++++++++++++++++++++
 3 files changed, 68 insertions(+), 2 deletions(-)

diff --git 
a/site-content/source/modules/ROOT/images/blog/configurable-storage-ports-and-why-we-need-them-unsplash-bernard-hermant.jpg
 
b/site-content/source/modules/ROOT/images/blog/configurable-storage-ports-and-why-we-need-them-unsplash-bernard-hermant.jpg
new file mode 100644
index 0000000..4fbe7b8
Binary files /dev/null and 
b/site-content/source/modules/ROOT/images/blog/configurable-storage-ports-and-why-we-need-them-unsplash-bernard-hermant.jpg
 differ
diff --git a/site-content/source/modules/ROOT/pages/blog.adoc 
b/site-content/source/modules/ROOT/pages/blog.adoc
index 0b1a97f..a1ba382 100644
--- a/site-content/source/modules/ROOT/pages/blog.adoc
+++ b/site-content/source/modules/ROOT/pages/blog.adoc
@@ -14,7 +14,31 @@ NOTES FOR CONTENT CREATORS
 [openblock,card-header]
 ------
 [discrete]
-=== Arithmetic Operators in Cassandra 4.0
+=== Configurable Storage Ports and Why We Need Them
+[discrete]
+==== January 14, 2022
+------
+[openblock,card-content]
+------
+Cassandra’s network configuration is highly adaptable, communicating across a 
great variety of networks and devices, we explain how and why you might need to 
change your storage port configuration.
+
+[openblock,card-btn card-btn--blog]
+--------
+[.btn.btn--alt]
+xref:blog/Configurable-Storage-Ports-and-Why-We-Need-Them.adoc[Read More]
+--------
+
+------
+----
+//end card
+
+//start card
+[openblock,card shadow relative test]
+----
+[openblock,card-header]
+------
+[discrete]
+=== Using Arithmetic Operators in Cassandra 4.0
 [discrete]
 ==== December 21, 2021
 ------
@@ -857,4 +881,4 @@ 
xref:blog/Hardware-bound-Zero-Copy-Streaming-in-Apache-Cassandra-4.adoc[Read Mor
 
 ------
 ----
-//end card
\ No newline at end of file
+//end card
diff --git 
a/site-content/source/modules/ROOT/pages/blog/Configurable-Storage-Ports-and-Why-We-Need-Them.adoc
 
b/site-content/source/modules/ROOT/pages/blog/Configurable-Storage-Ports-and-Why-We-Need-Them.adoc
new file mode 100644
index 0000000..05215fe
--- /dev/null
+++ 
b/site-content/source/modules/ROOT/pages/blog/Configurable-Storage-Ports-and-Why-We-Need-Them.adoc
@@ -0,0 +1,42 @@
+= Configurable Storage Ports and Why We Need Them
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: January 14, 2022
+:page-post-author: Chris Thornett
+:description: The Apache Cassandra Community
+:keywords: 
+
+= Configurable Storage Ports and Why We Need Them
+
+image::blog/configurable-storage-ports-and-why-we-need-them-unsplash-bernard-hermant.jpg[storage
 ports]
+
+Image credit: 
https://unsplash.com/@bernardhermant?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText[Bernard
 Hermant on Unsplash,window=_blank]
+
+As a distributed database, Cassandra relies heavily on running across multiple 
machines and communicating over a network. Since we take pride in keeping 
Cassandra lightweight, it is important that network configuration is highly 
adaptable. This allows Cassandra nodes to communicate over a greater variety of 
networks and network devices, across firewalls, and between private networks.
+Cassandra nodes talk to each other just like most internet services: over 
TCP/IP connections. The storage port is the TCP port number used specifically 
for inter-node communication. By default, this is set to port 7000; check out 
the `storage_port` setting in the stock 
https://github.com/apache/cassandra/blob/6709111ed007a54b3e42884853f89cabd38e4316/conf/cassandra.yaml#L641[*cassandra.yaml*^]
 file.
+
+=== Why Would I Need to Change the storage_port Setting?
+
+There are a few instances where the `storage_port` setting might commonly need 
to be changed. You might be trying to run multiple Cassandra instances or 
configurations on one server, and that server could only have one IP address. 
In this case, each Cassandra node will need to use its own `storage_port`.
+Network configurations can also require different `storage_port` settings. For 
example, firewall restrictions, port forwarding at upstream routers, and even 
network address translation issues all have the possibility of requiring 
different port settings.
+Finally, there may be a conflict on port 7000. Perhaps some other application 
or service needs to use that port.
+
+=== How Do My Other Cassandra Nodes Know About Different storage_port Settings?
+
+If you need to change the `storage_port` setting for one of your Cassandra 
nodes, you will need to change the `storage_port` setting for all of the nodes 
in that ring. If you have multiple rings across different data centers, then 
you will need to set up some kind of port-forwarding solution at the firewall 
or router level if those data centers use different `storage_port` settings.
+You will need to check with your firewall or router documentation to learn how 
to configure port forwarding. There are many variations across vendors and 
models.
+
+=== SSL and Inter-Node Communication
+
+Prior to Cassandra 4.0, which was released in July 2021, inter-node 
communication would use two different ports. One was the standard 
`storage_port`, which defaulted to 7000. This was used for legacy unencrypted 
communication. The other was `ssl_storage_port`, which defaulted to 7001 and 
was used for legacy encrypted inter-node communication.
+However, as of version 4.0, both encrypted and unencrypted communications are 
allowed on `storage_port`. This means you no longer have to specify two 
separate ports in your configuration file. If this looks like something 
significant that is changing in your Cassandra configuration, make sure to 
check the `server_encryption_options` section of your *cassandra.yaml* file to 
ensure that `enable_legacy_ssl_storage_port` is set to `false`.
+
+=== What Does Inter-Node Communication Look Like?
+
+Cassandra relies on its masterless architecture to enable each node in a ring 
to provide the exact same functionality. This requires every node to have 
information about the entire database, even though it may only store data 
associated with the tokens in its partition. Cassandra nodes disseminate 
database information to each other using a peer-to-peer 
+https://cassandra.apache.org/doc/4.0/cassandra/architecture/dynamo.html#gossip[communication
 protocol called gossip]
+The gossip protocol broadcasts data over the `storage_port`, which is why 
correctly configuring this setting is essential to getting your Cassandra ring 
operating properly. This protocol is used for peer discovery as well as for 
propagating metadata.
+
+=== Ready to try Apache Cassandra?
+
+Get up and running quickly with our 
https://cassandra.apache.org/_/quickstart.html[quickstart guide]!

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to