2014-01-15 4 views
1

CSV를 cassandra 2.0.3에 일괄 업로드하려고합니다. 지금 CSV를 Sstables로 successfuly 변환했습니다.CSV를 Cassandra 2.0.3으로 가져 오기

그러나 sstableloader를 실행하면 다음과 같은 오류 메시지가 표시됩니다. 이 오류는 cassandra 2.0.3에서 가져온 데이터를 찾지 못해 벌크로드에 영향을 줍니까 ??

VirtualBox:~/apache-cassandra-2.0.3$ ./bin/sstableloader -d localhost airlines/flight/ 
ERROR 16:08:04,832 Unable to initialize MemoryMeter (jamm not specified as javaagent). This means Cassandra will be unable to measure object sizes accurately and may consequently OOM. 
Established connection to initial hosts 
Opening sstables and calculating sections to stream 
Streaming relevant part of airlines/flight/airlines-flight-jb-1-Data.db to [/127.0.0.1, /127.0.0.2] 
progress: [/127.0.0.2 1/1 (100%)] [/127.0.0.1 1/1 (100%)] [total: 100% - 0MB/s (avg: 0MB/s)] 
+0

이 오류가 표시되었지만 데이터가 올바르게 스트리밍되었습니다. 얼마나 많은 행 (aprrox)을로드하고 있습니까? (속도가 0MB/s라고 말하기 때문에 당신이 행을 거의하지 않는 것처럼 보입니다) –

답변

1

나는 bash 스크립트에서 내 sstableloader 작업을 래핑했고, 처음에는 똑같은 오류가있었습니다. 일부 파고를 수행하고 JAVA_TOOL_OPTIONS 환경 변수를 설정하여 내 문제를 해결했습니다.

여기 내 스크립트 : 당신은 적절한 정보를 것와

#!/bin/bash 

# ------------------------ 
# paths to the cassandra source tree, cassandra jar and java 
CASSANDRA_HOME="/usr/share/cassandra" 
JAVA_AGENT="-javaagent:$CASSANDRA_HOME/lib/jamm-0.2.5.jar" 
export JAVA_TOOL_OPTIONS=$JAVA_AGENT 
# ------------------------ 

# ------------------------ 
# Initialize Parameters 
SSTLOADER=`which sstableloader` 
SSDATADIR=/usr/share/cassandra/scripts/sstable_load/data/<schema_name>/<column family> 

CASSNODE="192.168.2.1" 

# ------------------------ 
log_dir=/usr/share/cassandra/scripts/sstable_load/logs 
dt=`date +'%Y%m%d_%H%M%S'` 
logdest=$log_dir/sstabloader_"$dt".log 
# ------------------------ 

exec 1>$logdest 
echo "Job Started: " `date` 
echo "Job Logged To: " $logdest 
echo 

# ------------------------ 
# Run the SSTableLoader Command 
$SSTLOADER -v -d $CASSNODE -u <user> -pw <password> $SSDATADIR 


echo 
echo "Job Completed: " `date` 

exit 0 

은> <에서 스크립트 항목을 교체합니다.

희망이 당신을 위해 작동합니다.

투표하십시오.