MicroStrategy ONE
Configure High Throughput or Advanced Architecture
This topic explains how to configure high throughput architecture using a cluster of Kafka nodes (Telemetry servers). One Telemetry Store (Platform Analytics) can only consume data from a single Kafka node or single Kakfa cluster.
All Kafka nodes should be in cluster and multiple Kafka clusters are not supported.
Get started with the following topics:
4. Configure Platform Analytics Consumer
1. Install Components
Start by installing components on the corresponding environments.
-
Choose the following components for machines 1, 2, and 3 in the Installation wizard:
-
MicroStrategy Intelligence
-
MicroStrategy Telemetry Server
-
Choose Create a cluster... while creating a clustered environment for Telemetry and provide the other nodes or machines addresses where you have installed or are going to install Telemetry. Repeat this for machines 1, 2, and 3.
-
-
Choose the following components for machines 4 and 5 in the Installation wizard:
-
MicroStrategy Intelligence
-
MicroStrategy Telemetry Server
-
- After installation, turn off MicroStrategy Telemetry server (Kafka & Zookeeper services).
-
Choose the following components for machine 6 in the Installation wizard:
-
Platform Analytics
-
During the installation of components, you must enter repository (machine 7) connection information.
-
-
Install Platform Analytics Repository on machine 7. You can choose an out-of-the-box MicroStrategy Repository or opt for you own instance of PostgreSQL database server, provided by your organization.
-
For Windows deployments, continue with Windows Specific Modifications to Create the Platform Analytics Service, otherwise go to 2. Configure Telemetry Server for Linux deployments.
Windows Specific Modifications to Create the Platform Analytics Service
On Windows machines, you must recreate the Platform Analytics service to prevent the service from going down.
-
Go to Services.
-
Stop MicroStrategy Platform Analytics Consumer.
-
Stop MicroStrategy Platform Analytics In-Memory Cache.
-
-
Delete the MicroStrategy Platform Analytics Consumer service.
-
Launch a Windows command prompt with administrative privileges.
-
Execute the following command:
Copysc delete MSTR_PlatformAnalyticsConsumer
-
Close Services.
-
-
Recreate the Platform Analytics Consumer service.
-
Navigate to the Platform Analytics directory.
-
Open
MSTR_PlatformAnalyticsConsumer.config
for editing. -
Delete
--DependesOn =Redis
to remove the dependent services (Kafka and Zookeeper).
-
-
Launch a Windows command prompt with administrative privileges.
-
Navigate to the Platform Analytics directory.
-
Execute the following command:
CopyPlatformAnalyticsConsumer.exe install MSTR_PlatformAnalyticsConsumer --Config PlatformAnalyticsConsumer_config.txt
-
-
Go to Services.
-
Start MicroStrategy Platform Analytics Consumer.
-
Refresh Service Manager if necessary.
-
2. Configure Telemetry Server
Perform following steps below for all Telemetry server nodes. This example uses machines 1, 2, and 3.
Edit server.properties
-
Open
server.properties
for editing.Windows location:
C:\Program Files (x86)\MicroStrategy\Messaging Services\Kafka\kafka_x.x.xx\config
Linux location:
/opt/MicroStrategy/MessagingServices/Kafka/kafka_x.x.x./config
-
Under
##### Server Basics ####
, provide a unique broker ID to each Telemetry server machine in the preferred order of node failover.In this example:
Machine 1:
broker.id=1
Machine 2:broker.id=2
Machine 3:broker.id=3
Copy# Set the broker id to a unique value for each node.
# Do not change it on the machine configured during single node set up, i.e. your main node. It should be left at the default value and referred to by the other nodes.
# For example,
broker.id=1 -
Under
##### Internal Topic Settings ####
, set both offsets and transaction state factors to the amount of nodes in the cluster. In this example, that is 3.Copy# offsets.topic.replication.factor= set to the number of nodes in your cluster
# transaction.state.log.replication.factor= set to the number of nodes in your cluster
# For example,
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3 -
Under
##### Zookeeper #####
, add all Telemetry server node IP addresses or FQDNs for thezookeeper.connect
parameter. The order of nodes must correspond to the broker ID parameter in step 2.Copy# Set zookeeper.connect= to a comma separated list of <IP address:2181> for all nodes in the cluster.
# For example,
zookeeper.connect=10.27.18.73:2181,10.27.18.224:2181,10.27.36.168:2181
Edit zookeeper.properties
-
Open
zookeeper.properties
for editing.Windows location:
C:\Program Files (x86)\MicroStrategy\Messaging Services\Kafka\kafka_x.x.xx\config
Linux location:
/opt/MicroStrategy/MessagingServices/Kafka/kafka_x.x.x./config
-
Add new lines at the end of the file with
server.node_id=ip:2888:3888
. In this example, there are three new lines for each node.Copy# To allow Zookeeper to work with the other nodes in your cluster, add the following properties to the end of the zookeeper.properties file.
# initLimit=5
# syncLimit=2
# server.X= <IP address of the node>:2888:3888
# When adding this property, replace X above with the broker.id for the node being referenced. A separate entry must be made for each node in the cluster.
# For example,
initLimit=5
syncLimit=2
server.0=10.27.18.73:2888:3888
server.1=10.27.18.224:2888:3888
server.2=10.27.36.168:2888:3888
Edit myid
-
Open
myid
for editing. If this file doesn’t exist, you should create one.Windows location:
C:\Program Files (x86)\MicroStrategy\Messaging Services\tmp\zookeeper
Linux location:
/opt/MicroStrategy/MessagingServices/tmp/zookeeper
-
Confirm that the
myid
file does not have a hidden extension. In File Explorer, go to View > Show > File name extensions to show extensions. If your file has an extension, remove it. -
Make sure the
broker.id
for each node matches the values you set inserver.properties
.Copy# Make sure the broker.id is the same as it appears in server.properties.
# For example,
broker.id=1
3. Restart Necessary Services
After updating the configurations for Kafka and Zookeeper on all nodes in the cluster, you must restart the services, including the Intelligence server.
When restarting the services, it's important to note that all configuration file changes must be completed first. For example, if you are adding two additional Kafka nodes and you already have one existing node, then the install and configuration should be completed on all three nodes before restarting any of the services.
Additionally, some services are dependent on each other, so the services should be started in the order provided below. Not starting in this order can cause inconsistencies in the services.
-
Start Zookeeper and Kafka on the main node before starting other nodes.
-
Start Zookeeper on the remaining nodes.
-
Start Kafka on the remaining nodes.
4. Configure Platform Analytics Consumer
Perform the following steps on the node where you are running Platform Analytics Consumer. In this example, that is machine 6.
-
Open
PAConsumerConfig.yaml
for editing.Windows location:
C:\Program Files (x86)\MicroStrategy\Platform Analytics\conf
Linux location:
/opt/MicroStrategy/Platform Analytics/conf
-
Add all telemetry node IP addresses to the file, using the following format:
zookeeperConnection:IP1:port,IP2:port,IP3:port
bootstrap.servers: IP1:port,IP2:port,IP3:port
Copy# Set kafkaTopicNumberOfReplicas: number of nodes in cluster
# Set zookeeperConnection: <ipAddress:2181> for all nodes in cluster
# Set bootstrap.servers: <ipAddress:9092> for all nodes in cluster
# For example,
kafkaTopicNumberOfReplicas: 3
zooKeeperConnection: 10.27.18.73:2181,10.27.18.224:2181
bootstrap.servers: 10.27.18.73:9092,10.27.18.224:9092 -
Ensure that the
kafkaTopicNumberOfReplicas
parameter matches the number of Telemetry server nodes. In this example, that would be 3. -
Restart the following services:
-
MicroStrategy Platform Analytics Consumer
-
MicroStrategy Platform Analytics In-Memory Cache
-