spark 및 Hadoop 버전 불일치 해결 방법 실행
10501 단어 spark
자신의 컴퓨터에run 프로젝트 그룹 이전의 코드를 이해하고 이후의 수정을 위해 깔아주기를 바랍니다.코드는 Spark 2.0.1, Scala 2.11.8, Hadoop 2.7.3과 JAVA 1.8을 기반으로 하기 때문에 제 컴퓨터는 Spark 1.6.1, Scala 2.11.8, Hadoop 1.2.1과 JAVA 1.8을 설정했습니다.
버전 문제에 오류가 발생하지 않도록 두 가지 해결 방법이 있다고 생각한다.스파크 1.6.1 버전을spark2로 변경.0.1 버전.2.sbt 버전은 모두 내 컴퓨터 버전으로 설정하고run이 성공했는지 확인하세요.이 글은 방법1의 심로 과정을 기록했는데 사실 방법2는 더욱 간결한 것 같다. 주로 sbt 등 도구의 효과와 의존 버전에 대한 이해가 부족하여 의존 수정 후 포장에 실패한 후에 다시 시도할 수 있다.
과정 1. 스파크 홈페이지에서 스파크 2.0.1의 설치 패키지는hadoop 기반 버전에 따라spark-2.01-bin-hadoop2를 각각 다운로드했다.7(hadoop2.7 기반),spark-2.02-bin-without-hadoop(2.0 이전 Hadoop 버전 기반) 두 개의 압축 패키지.
2. 압축을 풀고 해당 디렉터리로 이동한다.
3. 상응하는 프로필 수정:/etc/profie 수정(sudo는 루트 수정 권한)
sudo vim /etc/profile
여기서 다음을 추가합니다.
export SPARK_HOME=/home/yy/spark-2.1.0-bin-hadoop2.7/
export PATH=$PATH:$SPARK_HOME/bin
/etc/profie 업데이트
source /etc/profile
4. 순서대로 spark-shell을 열어 보았는데 spark-2.02-bin-without-hadoop이 열리지 않아서 spark-2.01-bin-hadoop2를 선택했다.7.
5. 로컬 운행의 간단한 예
포장된jar 패키지를 bin 디렉터리에 놓고 bin 디렉터리에서 직접 실행합니다:
spark-submit --master local[4] --class WordCount wordcount.jar
spark-submit --master local[4] --class helloscala helloscala.jar
6. 로컬 실행 프로젝트 코드
1.kmercounting:
./bin/spark-submit --master local[4] --class org.jgi.spark.localcluster.tools.KmerCounting bin/LocalCluster-assembly-0.1.jar -i data/small/sample.seq -o tmp/seq_result.txt --format seq -k 31
2.KmerMapReads2
./bin/spark-submit --master local[4] --class org.jgi.spark.localcluster.tools.KmerMapReads2 bin/LocalCluster-assembly-0.1.jar --reads data/small/sample.seq --format seq -k 31 --kmer tmp/seq_result.txt --output tmp/kmer_reads
3.GraphGen2
./bin/spark-submit --master local[4] --class org.jgi.spark.localcluster.tools.GraphGen2 bin/LocalCluster-assembly-0.1.jar -i tmp/kmer_reads.txt -o tmp/edges.txt
4.GraphLPA2
./bin/spark-submit --master local[4] --class org.jgi.spark.localcluster.tools.GraphLPA2 bin/LocalCluster-assembly-0.1.jar -i tmp/edges.txt -o tmp/lpa.txt
5.AddSeq
./bin/spark-submit --master local[4] --class org.jgi.spark.localcluster.tools.CCAddSeq bin/LocalCluster-assembly-0.1.jar --wait 1 -i tmp/lpa.txt --reads data/small/sample.seq -o tmp/lpa_seq.txt
로컬 실험 출력 결과와 프로그램 절차 이해 알고리즘을 결합하다.
7. 독립된 그룹에서 코드 실행
간단한 예:
spark-submit --master spark://yypc:7077 --class WordCount wordcount.jar
오류 발견:java.io.IOException: Failed to connect to yypc/58.198.102.156:7077
인터넷에서 각종 문서, 참조http://blog.csdn.net/ybdesire/article/details/70666544질문 찾기:
nmap으로 마스터 호스트 포트 7077 연결 확인
nmap -p 7077 master_ip
마스터가 켜져 있지 않음:
Starting Nmap 6.40 ( http://nmap.org ) at 2017-12-04 21:06 CST
Nmap scan report for yypc (58.198.102.156)
Host is up (0.000018s latency).
PORT STATE SERVICE
7077/tcp closed unknown
Nmap done: 1 IP address (1 host up) scanned in 0.40 seconds
주요 원인은 내가 spark 집단을 열 때 오류가 발생했기 때문이다.spark를 정확하게 열면 bin 디렉터리에 있어야 합니다./start-all.sh가 아니라 start-all.sh;
그 다음에 새로 설치된spark는 두 개의 파일을 수정해야 합니다:conf/spark-env.sh와conf/slaves, 이것은spark 설치 과정 중일 것입니다. 그러나 잊혀졌습니다.문서 수정의 구체적인 과정은 상세하게 보인다.https://www.cnblogs.com/zengxiaoliang/p/6478859.html Hadoop2.7.3+Spark2.1.0 완전 분포식 집단 구축 과정.
이 두 문제를 해결한 후에wordcount는run할 수 있다.
프로젝트 코드(일부 시도)kmercounting:
./bin/spark-submit --master spark://yypc:7077 --deploy-mode client --conf spark.executor.extraClassPath=bin/LocalCluster-assembly-0.1.jar --conf spark.speculation=true --conf spark.speculation.multiplier=2 --conf spark.eventLog.enabled=false bin/LocalCluster-assembly-0.1.jar KmerCounting --wait 1 -i data/small/sample.seq -o tmp/seq_result2.txt --format seq -k 31 -C
KmerMapReads2:
./bin/spark-submit --master spark://yypc:7077 --deploy-mode client --conf spark.executor.extraClassPath=bin/LocalCluster-assembly-0.1.jar --conf spark.speculation=true --conf spark.speculation.multiplier=2 --conf spark.eventLog.enabled=false bin/LocalCluster-assembly-0.1.jar KmerMapReads2 --wait 1 --reads data/small/sample.seq --format seq -k 31 --kmer tmp/seq_result2.txt --output tmp/kmer_reads2.txt
파일을 수정한 후 실행에 성공하지 못했습니다. 다시 시작한 후에 실행에 성공했습니다.
현재 Hadoop 1.2.1 버전이 변하지 않아spark-2.01-bin-hadoop2를 다운로드했습니다.7 버전은 정상적으로 사용할 수 있으며 현재 초보적인 코드 작성과 디버깅의 수요에 대응할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spark 팁: 컴퓨팅 집약적인 작업을 위해 병합 후 셔플 파티션 비활성화작은 입력에서 UDAF(사용자 정의 집계 함수) 내에서 컴퓨팅 집약적인 작업을 수행할 때 spark.sql.adaptive.coalescePartitions.enabled를 false로 설정합니다. Apache Sp...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.