제 6 과: 스파크 클 러 스 터 구축 과 테스트 에 정통
11587 단어 spark클 러 스 터 설치
Linux 가상 컴퓨터 설치
특별한 설명 이 없 으 면 다음 절 차 는 모든 기계 에서 집행 된다.
ubuntukylin - 14.04.2 - desktop - amd 64 패 키 지 를 사용 하여 ubuntu 시스템 을 설치 합 니 다.
1.1 권한 문 제 를 피하 기 위해 루트 사용 자 를 사용 합 니 다.
레 퍼 런 스 http://jingyan.baidu.com/article/148a1921a06bcb4d71c3b1af.html
1.2 설치 vim
apt-get install vim
1.3 호스트 이름 수정
vi /etc/hostname
세 대의 기 계 는 각각 spark - master, spark - worker 1, spark - worker 2 로 바 뀌 었 다.
1.4 수정 / etc / hosts 파일
192.168.255.129 spark-master
192.168.255.130 spark-worker1
192.168.255.131 spark-worker2
1.5 설치 ssh
root@spark-master:~# apt-get install ssh
루트 가 ssh 를 사용 할 수 있 도록 다음 과 같이 수정 합 니 다.
vi /etc/ssh/sshd_config
PermitRootLogin without-password --> PermitRootLogin yes
기 계 를 재가 동 하 다
1.6 ssh 비밀번호 로그 인 면제 설정
root@spark-worker2:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
a5:ee:f8:34:be:a2:da:05:f2:20:ae:04:8f:ce:77:b3 root@spark-worker2
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . |
| o |
|o o . S |
|o+ + . . |
|.o. . . + |
|= o +.= . |
|.oo.+E+o=. |
+-----------------+
마스터 에 공개 키 를 복사 하 는 authorizedkeys 파일 중
root@spark-worker2:~# ssh-copy-id spark-master
세 대가 모두 상술 한 조작 을 실행 한 후 생 성 되 는 authorizedkeys 파일 을 worker 1 과 worker 2 에 복사 합 니 다.
scp authorized_keys spark-worker1:/root/.ssh
scp authorized_keys spark-worker2:/root/.ssh
2. jdk 설치 (3 대 기계)
2.1 jdk - 8u60 - linux - x64. tar 를 다운로드 하여 서버 에 업로드
root@rich:~/ # cd /tools/
root@rich:/tools# ls
jdk-8u60-linux-x64.tar.gz VMware Tools
root@rich:/tools#
root@rich:/tools#
root@rich:/tools# mkdir /usr/lib/java
root@rich:/tools# tar -zxvf jdk-8u60-linux-x64.tar.gz -C /usr/lib/java/
2.2 환경 변수 추가
root@rich:/usr/lib/java# ls
jdk1.8.0_60
root@rich:/usr/lib/java# vi /root/.bashrc
다음 내용 추가
export JAVA_HOME=/usr/lib/java/jdk1.8.0_60
export JRE_HOME=$JAVA_HOME/jre/
export CLASS_PATH=$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin
자바 버 전 보기
root@rich:~# java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
3. hadop 설치
3.1 hadop - 2.6.0. tar. gz 를 master 서버 에 업로드 하고 / usr / local / hadop / 디 렉 터 리 로 압축 합 니 다.
root@spark-master:/tools# mkdir /usr/local/hadoop
root@spark-master:/tools# tar -zxvf hadoop-2.6.0.tar.gz -C /usr/local/hadoop/
3.2 hadop 군집 설정
코어 사이트. xml 편집
root@spark-master:/usr/local/hadoop/hadoop-2.6.0/etc/hadoop# vi core-site.xml
##
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://spark-master</value>
<description>HDFS </description>
</property>
</configuration>
hdfs - site. xml 편집
root@spark-master:/usr/local/hadoop/hadoop-2.6.0/etc/hadoop# vi hdfs-site.xml
#
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hadoop-2.6.0/dns/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hadoop-2.6.0/dns/data</value>
</property>
</configuration>
mapred - site 편집
root@spark-master:/usr/local/hadoop/hadoop-2.6.0/etc/hadoop# vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn - site. xml 편집
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>spark-master</value>
</property>
</configuration>
hadop - env. sh 편집
# JAVA_HOME
export JAVA_HOME=/usr/lib/java/jdk1.8.0_60
slave 파일 을 편집 하고 노드 에서 추가 합 니 다.
root@spark-master:/usr/local/hadoop/hadoop-2.6.0/etc/hadoop# vi slaves
spark-worker1
spark-worker2
루트 의. bashrc 파일 편집
#
export HADOOP_HOME=//usr/local/hadoop/hadoop-2.6.0
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native/
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$HADOOP_HOME/sbin:$PATH
3.3 hadop 설치 디 렉 터 리 를 worker 1 과 worker 2 에 복사 합 니 다.
root@spark-master:/usr/local# cd /usr/local/
root@spark-master:/usr/local# scp -r hadoop/ spark-worker1:/usr/local/
root@spark-master:/usr/local# scp -r hadoop/ spark-worker2:/usr/local/
4. 클 러 스 터 시작
4.1 hdfs 포맷
hdfs 는 파일 시스템 이기 때문에 사용 하기 전에 시스템 을 포맷 해 야 합 니 다.
root@spark-master:/usr/local/hadoop/hadoop-2.6.0/bin# ./hdfs namenode -format
4.2 dfs 시작
root@spark-master:~# start-dfs.sh
16/02/17 15:38:23 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [spark-master]
spark-master: starting namenode, logging to //usr/local/hadoop/hadoop-2.6.0/logs/hadoop-root-namenode-spark-master.out
spark-worker1: starting datanode, logging to //usr/local/hadoop/hadoop-2.6.0/logs/hadoop-root-datanode-spark-worker1.out
spark-worker2: starting datanode, logging to //usr/local/hadoop/hadoop-2.6.0/logs/hadoop-root-datanode-spark-worker2.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to //usr/local/hadoop/hadoop-2.6.0/logs/hadoop-root-secondarynamenode-spark-master.out
16/02/17 15:39:36 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
root@spark-master:~# jps
14292 Jps
13995 NameNode
14190 SecondaryNameNode
root@spark-worker1:/usr/lib/java/jdk1.8.0_60# jps
11465 DataNode
11532 Jps
root@spark-worker2:~# jps
11282 Jps
11210 DataNode
4.3 로그 인 웹 클 러 스 터 관리 인터페이스
http://spark-master:50070
4.4 시작 원사
root@spark-master:~# start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to //usr/local/hadoop/hadoop-2.6.0/logs/yarn-root-resourcemanager-spark-master.out
spark-worker1: starting nodemanager, logging to //usr/local/hadoop/hadoop-2.6.0/logs/yarn-root-nodemanager-spark-worker1.out
spark-worker2: starting nodemanager, logging to //usr/local/hadoop/hadoop-2.6.0/logs/yarn-root-nodemanager-spark-worker2.out
root@spark-master:~# jps
14601 ResourceManager
13995 NameNode
14844 Jps
14190 SecondaryNameNode
yarn 웹 관리 인터페이스 보기
http://spark-master:8088/
5. scala 설치
5.1 압축 해제 소프트웨어
root@spark-master:/tools# cd /tools/
root@spark-master:/tools# mkdir /usr/local/scala ; tar -zxvf scala-2.10.4.tar.gz -C /usr/local/scala/
5.2 환경 변수 설정
export SCALA_HOME=/usr/local/scala/scala-2.10.4/
export PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH
6. spark 1.6.0 설치
6.1 패키지 spark - 1.6.0 - bin - hadop 2.6. gz 를 master 기기 에 업로드
압축 풀기:
root@spark-master:~# cd /tools/
root@spark-master:/tools# mkdir /usr/local/spark
root@spark-master:/tools# tar -zxvf spark-1.6.0-bin-hadoop2.6.tgz -C /usr/local/spark/
6.2 spark - env. sh 설정
root@spark-master:/tools# cd /usr/local/spark/spark-1.6.0-bin-hadoop2.6/
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6# ls
bin CHANGES.txt conf data ec2 examples lib LICENSE licenses NOTICE python R README.md RELEASE sbin
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6# cd conf/
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6/conf# ls
docker.properties.template fairscheduler.xml.template log4j.properties.template metrics.properties.template slaves.template spark-defaults.conf.template spark-env.sh.template
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6/conf# cp spark-env.sh.template spark-env.sh
root@spark-master:~# cd /usr/local/spark/spark-1.6.0-bin-hadoop2.6/conf/
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6/conf# vi spark-env.sh
#
export JAVA_HOME=/usr/lib/java/jdk1.8.0_60
export SCALA_HOME=/usr/local/scala/scala-2.10.4/
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.0
export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.6.0/etc/hadoop
export SPARK_MASTER_IP=spark-master
export SPARK_WORKER_MEMORY=512M
export SPARK_EXECUTOR_MEMORY=512M
export SPARK_DRIVE_MEMORY=512M
export SPARK_WORKER_CORES=8
6.3 slaves 파일 편집
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6/conf# cp slaves.template slaves
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6/conf# vi slaves
## worker
spark-worker1
spark-worker2
6.4 편집. bashrc
#
export SPARK_HOME=/usr/local/spark/spark-1.6.0-bin-hadoop2.6/
6.5 spark 디 렉 터 리 를 worker 기기 에 동기 화 합 니 다.
root@spark-master:/usr/local# scp -r spark spark-worker1:/usr/local
root@spark-master:/usr/local# scp -r spark spark-worker2:/usr/local
6.6 spark 시작
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6/sbin# ./start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /usr/local/spark/spark-1.6.0-bin-hadoop2.6/logs/spark-root-org.apache.spark.deploy.master.Master-1-spark-master.out
spark-worker2: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/spark-1.6.0-bin-hadoop2.6/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-spark-worker2.out
spark-worker1: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/spark-1.6.0-bin-hadoop2.6/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-spark-worker1.out
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6/sbin#
6.7 테스트
spark - shell 시작
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6# cd bin/
root@spark-master:/usr/local/spark/spark-1.6.0-bin-hadoop2.6/bin# ./spark-shell
간단 한 wordcount 프로그램 실행
scala> val text_file = sc.textFile("
scala> val counts = text_file.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)
scala> counts.saveAsTextFile("file:///tmp/wordcount")
실행 결과 보기
root@spark-master:~# cd /tmp/wordcount/
root@spark-master:/tmp/wordcount# ls
part-00000 _SUCCESS
part - 00000 결과 파일,SUCCESS 실행 상태 파일
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.