Настройка производительности искры и кассандры

Я изо всех сил пытаюсь настроить искру и кассандру. У меня есть 10 миллионов данных в cassandra, и я выполняю такие операции, как чтение в spark/beeline, используя spark-cassandra-connector. Но это занимает 15-20 мин. У меня 4 узла кассандры и 3 узла спарки. Вот мои конфигурации cassandra и spark.

Кассандра:

listen_address: 192.168.xx.xx rpc_address: 192.168.xx.xx endpoint_snitch: GossipingPropertyFileSnitch auto_bootstrap: true start_rpc: true read_request_timeout_in_ms: 5000 write_request_timeout_in_ms: 2000 batch_size_warn_threshold_in_kb: 100 batch_size_fail_threshold_in_kb: 1000 authenticator: PasswordAuthenticator authorizer: CassandraAuthorizer request_timeout_in_ms: 300000 range_request_timeout_in_ms: 360000

Искра:

spark.master spark://master:7077 spark.cassandra.connection.host 192.168.xx.xx,192.168.xx.xx,192.168.xx.xx,192.168.xx.xx spark.cassandra.connection.port 9042 spark.cassandra.auth.username cassandra spark.cassandra.auth.password cassandra spark.driver.memory 5g spark.executor.memory 6g spark.cassandra.input.consistency.level QUORUM spark.eventLog.enabled true spark.serializer org.apache.spark.serializer.KryoSerializer spark.cassandra.input.split.size_in_mb 128 spark.cassandra.input.fetch.size_in_rows 10000 spark.sql.qubole.split.computation true spark.sql.inmemorycolumnarstorage.compressed true


person Vish    schedule 08.08.2017    source источник
comment
Опираясь на текущую информацию, нельзя сказать, Cassandra является узким местом или Spark? Я предлагаю найти узкое место/плохо работающую часть, а затем настроить ее. Прочтите stackoverflow.com/questions/45460000/ и stackoverflow.com/questions/31132497/ Производительность Spark также необходимо проверить, но сначала начните с мониторинга Cassandra и Spark.   -  person Nachiket Kate    schedule 08.08.2017
comment
Спасибо за ответ .. Я пройдусь по указанным ссылкам. Я запустил один запрос для подсчета записей, которые он запускал с 15 минут. Я проверил пользовательский интерфейс задания искры, он создал 1122 задачи, из которых 1121 завершена, а одна задача требует времени и выполняется только на одном узле. Я не понимаю, почему все остальные задачи занимают 2-3 минуты, а одна задача занимает столько времени.   -  person Vish    schedule 08.08.2017
comment
Время выполнения задания зависит от задействованной обработки, а также от доступных ресурсов. Проверьте, не выполняется ли какая-либо тяжелая операция в этом задании. (Например: такие случаи могут возникнуть, когда вы выполняете некоторые преобразования в более ранних заданиях, а в конце пишете или передаете окончательный RDD/DF). Также проверьте использование ресурса на этом единственном узле во время последнего задания.   -  person Nachiket Kate    schedule 08.08.2017
comment
Предоставление общего доступа к фрагменту задания Spark или функциям, которые являются частью последнего задания, поможет определить причину большого времени выполнения.   -  person Nachiket Kate    schedule 08.08.2017
comment
SparkSession spark = new SparkSession.Builder().appName("test").getOrCreate(); Dataset<Row> selectDF = spark.read().format("org.apache.spark.sql.cassandra") .options(new HashMap<String, String>() { /** * */ private static final long serialVersionUID = 1L; { put("keyspace", "testkeyspace"); put("table", "rawdata_testing"); } }).load().where("kpi='OSA'"); selectDF.createOrReplaceTempView("temp"); spark.sql("select count(1) from temp").show(); это фрагмент кода.   -  person Vish    schedule 08.08.2017
comment
@NachiketKate что-нибудь, чем вы можете поделиться или направить?   -  person Vish    schedule 17.08.2017
comment
Я бы посоветовал взглянуть на этапы искры во время выполнения и выяснить, какой этап/задача занимает большую часть времени. Узнайте, как читать пользовательский интерфейс spark и документацию по spark для повышения производительности. Также читайте о мониторинге производительности Spark.   -  person Nachiket Kate    schedule 17.08.2017