글쎄 한 개의 노드 클러스터가 있으며 두 개의 주소 127.0.0.1과 127.0.0.2로 나뉘어 있습니다. 127.0.0.1에 데이터를 삽입하려고하면 Cassandra Client를 사용하십시오. 데이터가 성공적으로 127.0.0.1에 대한 추가 가져옵니다 및 그것을 또한 볼 수 있지만 127.0.0.2 볼 수 연결하려고하면 모든 업데이트를 볼 수 없습니다. 데이터가 없습니다. 나는 지난 번에 그것을 잘 설명 할 수 없었다고 생각합니다. 여기에 두 개의 카산드라를 같은 폴더에있는 카산드라 1과 카산드라 2라는 이름으로 다른 폴더에 복사 한 것입니다. 그에 따라 Cassandra.yaml을 업데이트하십시오.카산드라 클러스터링 단일 노드
1)
cluster_name: 'Test Cluster'
initial_token:
data_file_directories: - /Cassandra/1/var/lib/cassandra/data
commitlog_directory: /Cassandra/1/var/lib/cassandra/commitlog
saved_caches_directory: /Cassandra/1/var/lib/cassandra/saved_caches
- seeds: "127.0.0.1,127.0.0.2"
listen_address: 127.0.0.1
rpc_address: 127.0.0.1
2)
cluster_name: 'Test Cluster'
initial_token:
data_file_directories: - /Cassandra/2/var/lib/cassandra/data
commitlog_directory: /Cassandra/2/var/lib/cassandra/commitlog
saved_caches_directory: /Cassandra/2/var/lib/cassandra/saved_caches
- seeds: "127.0.0.1,127.0.0.2"
listen_address: 127.0.0.2
rpc_address: 127.0.0.2
다른 사람 설정은 기본 설정하고 난 아무것도 수정하지 않았습니다. 내가 그렇게 defauly 어떤 partioner을 지정한 것 같아요 랜덤하지 않은
CREATE KEYSPACE demo with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' and strategy_options = [{replication_factor:2}];
: 그럼 사용하여 키 스페이스 및 열 가족을 만들 수 있습니다. 내가 127.0.0.1에 연결하고 데이터를 삽입하려고하면
use demo;
create column family order with comparator=UTF8Type and key_validation_class=UTF8Type and default_validation_class=UTF8Type and column_metadata=[{column_name: member, validation_class: UTF8Type},{column_name: user, validation_class: UTF8Type, index_type: KEYS},{column_name: instrument, validation_class: UTF8Type},{column_name: price, validation_class: DoubleType}, {column_name: quantity, validation_class: Int32Type},{column_name:datetime, validation_class: DateType}];
지금, 나는 데이터가 모두 127.0.0.1와 127.0.0.2에 대한 삽입해야하지만이 사건이 아니라고 보라.
Set orders[KEY][user] = 'ABC' list orders;
잘못된 것이 있습니까? 작동 가능하게하려면 어떻게해야합니까?
당신이있는 경우 세부적인 예를 들어주십시오. 키 스페이스, 컬럼 패밀리 및 데이터 삽입을 생성하는 동안 나는 뭔가 잘못하고 있다고 생각합니다. 두 개의 노드를 삽입하는 예제가 있다면 위대 할 것입니다.
예, IP를 모두 시드로 사용하고 있습니다. INFO 레벨을 DEBUG로 변경하여 둘 다 통신하지만 한 번에 하나의 IP 만 볼 수 있습니다. 둘 다 통신하지 않습니다. – Jone
예, IP를 시드로 사용하고 시드로 단일 IP를 설정하면 두 번째 서버를 실행할 때 예외가 발생합니다. – Jone