2014-07-14 3 views
1

Привет, специалисты Cassandra !!!Cassandra - SSTable Readpth & Write Path

Как будет происходить анализ путей чтения и записи для Кассандры? В принципе, я хотел бы знать, что такое путь чтения и записи пути, и если я дам несколько примеров строк, как я узнаю, сколько SStables есть в настоящее время для этого конкретного Row Key и где это расположено о деталях? Основываясь на этой детали, я хотел бы знать, что вызывает медленность и путь чтения, и что можно улучшить. Мне особенно интересно познакомиться Сколько SSTables существует для определенного RowKey и где они находятся? Это один из POC, над которым я работаю для клиента. Спасибо заранее ...

ответ

1

Документы, как правило, являются хорошей отправной точкой:

, как я буду знать, сколько SStables есть в настоящее время для этого конкретного ключа строки

Вы можете использовать sstable2json для просмотра исходной информации, содержащейся в sstables, в формате json и поиска отдельных ключей, чтобы узнать, как они распределены по репликам. Это будет особенно сложно, если у вас много sstables, поэтому вы можете использовать nodetool getendpoints <keyspace> <table> <key> для тренировки, какой узел фактически владеет ключом, а затем начать преобразование sstables в json.

+0

Hello Lyuben Todorov, Спасибо за ответ. Я понимаю, как узнать, какой узел владеет данными для конкретного ключа. Есть ли одна команда, которую я могу использовать, чтобы узнать, сколько данных sstables распространяется по определенному ключу? Вы хотите, чтобы я каждый раз, чтобы сварить все * Data.db sstables и узнать, сколько файлов имеет данные для этого конкретного ключа? Я уверен, что должна быть единственная команда для поиска имен файлов, у которых есть данные для partcular key.Thanks, –

2

Другой возможный механизм может заключаться в использовании nodetool getsstables <keyspace><cf><key , который предоставит вам список sstables, содержащих ключ.

Другой вариант - написать скрипт, который запускает/повторяет sstable2json для всех файлов в папке и greps для конкретного ключа. Как только ключ найден, вы можете записать этот файл в какую-то структуру данных, а затем получить детали того же самого из структуры данных.

+0

Да, что comamnd работал в Windows как единый узел. Когда я запускал это в linux и кластере из 3 узлов. ./nodetool getendpoints 'c11b3e8b-6f80-4900-АВдд-93d9472b59df' я получил выход в 130.5.127.43 130.8.119.87 и я вошел в одну из выше машины и побежал ./nodetool getsstables «c11b3e8b-6f80 -4900-abdd-93d9472b59df ' но он не приносит никакого результата. Все предложения? –

+0

Извините. Работает как можно раньше ... –

Смежные вопросы