Я использую 64 ГБ ОЗУ и 24-ядерный компьютер и выделил 32 ГБ для JVM. Я хотел запустить следующие процессы: -
7 Kafka Brokers
3 instance of zookeeper
Elastic Search
Cassandra
Spark
MongoDB
Mysql
Kafka Manager
Node.js
& работает 4-5 Spark Application на 5-6 исполнителях по 1 ГБ каждый одновременно. Рабочие места Spark следующие: -
1) 1 Spark job takes data from kafka and inserts into Cassandra
2) 1 Spark job takes data from another kafka topic and inserts into different Cassandra Table.
3) 2 Spark Job takes data from Cassandra, did some processing/analysis and writes data into their respective different cassandra table.
Итак, иногда мое приложение вставки зависает. Это занимает около 500 записей в секунду от Кафки. После некоторого запуска он начинает создавать пакеты в очереди, и ошибки не возникает, но время обработки в панели мониторинга Spark постепенно увеличивается.
Я использовал TOP для проверки загрузки ЦП и обнаружил, что есть один процесс "0QrmJB", который использует 1500% загрузки ЦП, а java использует 200%.
Какие могут быть проблемы? Я не могу анализировать. Можно ли запускать эти многочисленные процессы на одной машине JVM? Спасибо,