Spark環境構築とテスト
4086 ワード
0、環境
公式推薦:
Spark runs on Java 6+, Python 2.6+ and R 3.1+. For the Scala API, Spark 1.4.0 uses Scala 2.10. You will need to use a compatible Scala version (2.10.x).
scala2.11.x追加sparkサポートパッケージのダウンロードが必要
ネイティブ環境:
ubuntu14.04 + jdk1.8 + python2.7 + scala2.10.5 + hadoop2.6.0 + spark1.4.0
1、scalaのインストールと構成
scalaをダウンロードします.ダウンロードアドレスは次のとおりです.http://www.scala-lang.org/download/2.10.5.html#Other_resources
scalaインストールパッケージをアップロードして解凍します
環境変数を構成し、vim/etc/profileに次のように追加します.export JAVA_HOME=/usr/local/java/jdk1.8.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export HADOOP_HOME=/home/nob/opt/hadoop-2.6.0
export SCALA_HOME=/home/nob/opt/scala-2.10.5
export SPARK_HOME=/home/nob/opt/spark-1.4.0-bin-hadoop2.6
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH
source/etc/profile後、scala-versionを入力するとバージョン情報が表示されます
2、spark配置
ダウンロード:/home/nob/opt/spark-1.4.0-bin-hadoop 2.6
実行環境を構成し、spark-envを編集します.sh nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ vim conf/spark-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_45
export SCALA_HOME=/home/nob/opt/scala-2.10.5
export HADOOP_HOME=/home/nob/opt/hadoop-2.6.0
export HADOOP_CONF_DIR=/home/nob/opt/hadoop-2.6.0/etc/hadoop
export SPARK_MASTER_IP=nobubuntu
export SPARK_WORKER_MEMORY=512M
SPARK_MASTER_IPはmasterノードのipまたはhostname
3、起動 nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ sbin/start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /data/server/spark-1.4.0-bin-hadoop2.6/sbin/../logs/spark-nob-org.apache.spark.deploy.master.Master-1-nobubuntu.out
nobubuntu: org.apache.spark.deploy.worker.Worker running as process 10297. Stop it first.
nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ jps
8706 DataNode
9062 ResourceManager
10775 Jps
9192 NodeManager
10569 Master
10297 Worker
8572 NameNode
8911 SecondaryNameNode
nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$
jpsはMasterとWorkerプロセス、アクセスを見ることができますhttp://nobubuntu:8080/実行の詳細が表示されます
4、Sparkが持参したPython shellテストを利用する
PySpark shellを使用して、Spark解凍のソースパスの下で、実行bin/pyspark
プロンプトで、次のコマンドを順番に入力します.>>> lines = sc.textFile("README.md")
>>> lines.count()
>>> lines.first()
5、印刷ログのレベルを変更する
上記の実行により、shell環境で印刷されたログが多すぎることがわかりました.そのため、以下のログのレベルを調整する必要があります.そのため、私は
confディレクトリの下にファイルlog 4 jを新規作成する.properties、log 4 jです.properties.templateのコピー、
次の行
log4j.rootCategory=INFO, console
に改心
log4j.rootCategory=WARN, console
shellを再開すると、デバッグ情報が少なくなっています.
6、Scala shellを使用してline countウィジェットをテストする
Scalaバージョンのshellを開き、実行bin/spark-shell
scala> val lines = sc.textFile("README.md")
scala> lines.cout()
scala> lines.first()
独立したアプリケーションで、pythonをデモします.scalaやjavaを使用することもできます.公式ドキュメントから簡単です."""SimpleApp.py"""
from pyspark import SparkContext
logFile = "YOUR_SPARK_HOME/README.md" # Should be some file on your system
sc = SparkContext("local", "Simple App")
logData = sc.textFile(logFile).cache()
numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()
print "Lines with a: %i, lines with b: %i" % (numAs, numBs)
bin/spark-submit
の使用# Use spark-submit to run your application
$ YOUR_SPARK_HOME/bin/spark-submit --master local[4] SimpleApp.py
...
Lines with a: 46, Lines with b: 23
[参考文献]
1、spark1.2.0バージョンの擬似分散環境の構築http://blog.csdn.net/stark_summer/article/details/43495623
2、完全なhadoop+spark教程http://wenku.baidu.com/link?url=RaRRE0g1FilXQWSAjKO6eNo5zqD0_H4liG0lxF7bBJ1ZztckWysMqlfUiU6y-8yEPDGGLjZgX_RfHO68-uc4qpdU2Pe_-HcdtwOPTzX9KsS
3、spark公式文書http://spark.apache.org/docs/latest/quick-start.html
scalaをダウンロードします.ダウンロードアドレスは次のとおりです.http://www.scala-lang.org/download/2.10.5.html#Other_resources
scalaインストールパッケージをアップロードして解凍します
環境変数を構成し、vim/etc/profileに次のように追加します.
export JAVA_HOME=/usr/local/java/jdk1.8.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export HADOOP_HOME=/home/nob/opt/hadoop-2.6.0
export SCALA_HOME=/home/nob/opt/scala-2.10.5
export SPARK_HOME=/home/nob/opt/spark-1.4.0-bin-hadoop2.6
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH
source/etc/profile後、scala-versionを入力するとバージョン情報が表示されます
2、spark配置
ダウンロード:/home/nob/opt/spark-1.4.0-bin-hadoop 2.6
実行環境を構成し、spark-envを編集します.sh nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ vim conf/spark-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_45
export SCALA_HOME=/home/nob/opt/scala-2.10.5
export HADOOP_HOME=/home/nob/opt/hadoop-2.6.0
export HADOOP_CONF_DIR=/home/nob/opt/hadoop-2.6.0/etc/hadoop
export SPARK_MASTER_IP=nobubuntu
export SPARK_WORKER_MEMORY=512M
SPARK_MASTER_IPはmasterノードのipまたはhostname
3、起動 nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ sbin/start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /data/server/spark-1.4.0-bin-hadoop2.6/sbin/../logs/spark-nob-org.apache.spark.deploy.master.Master-1-nobubuntu.out
nobubuntu: org.apache.spark.deploy.worker.Worker running as process 10297. Stop it first.
nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ jps
8706 DataNode
9062 ResourceManager
10775 Jps
9192 NodeManager
10569 Master
10297 Worker
8572 NameNode
8911 SecondaryNameNode
nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$
jpsはMasterとWorkerプロセス、アクセスを見ることができますhttp://nobubuntu:8080/実行の詳細が表示されます
4、Sparkが持参したPython shellテストを利用する
PySpark shellを使用して、Spark解凍のソースパスの下で、実行bin/pyspark
プロンプトで、次のコマンドを順番に入力します.>>> lines = sc.textFile("README.md")
>>> lines.count()
>>> lines.first()
5、印刷ログのレベルを変更する
上記の実行により、shell環境で印刷されたログが多すぎることがわかりました.そのため、以下のログのレベルを調整する必要があります.そのため、私は
confディレクトリの下にファイルlog 4 jを新規作成する.properties、log 4 jです.properties.templateのコピー、
次の行
log4j.rootCategory=INFO, console
に改心
log4j.rootCategory=WARN, console
shellを再開すると、デバッグ情報が少なくなっています.
6、Scala shellを使用してline countウィジェットをテストする
Scalaバージョンのshellを開き、実行bin/spark-shell
scala> val lines = sc.textFile("README.md")
scala> lines.cout()
scala> lines.first()
独立したアプリケーションで、pythonをデモします.scalaやjavaを使用することもできます.公式ドキュメントから簡単です."""SimpleApp.py"""
from pyspark import SparkContext
logFile = "YOUR_SPARK_HOME/README.md" # Should be some file on your system
sc = SparkContext("local", "Simple App")
logData = sc.textFile(logFile).cache()
numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()
print "Lines with a: %i, lines with b: %i" % (numAs, numBs)
bin/spark-submit
の使用# Use spark-submit to run your application
$ YOUR_SPARK_HOME/bin/spark-submit --master local[4] SimpleApp.py
...
Lines with a: 46, Lines with b: 23
[参考文献]
1、spark1.2.0バージョンの擬似分散環境の構築http://blog.csdn.net/stark_summer/article/details/43495623
2、完全なhadoop+spark教程http://wenku.baidu.com/link?url=RaRRE0g1FilXQWSAjKO6eNo5zqD0_H4liG0lxF7bBJ1ZztckWysMqlfUiU6y-8yEPDGGLjZgX_RfHO68-uc4qpdU2Pe_-HcdtwOPTzX9KsS
3、spark公式文書http://spark.apache.org/docs/latest/quick-start.html
nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ vim conf/spark-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_45
export SCALA_HOME=/home/nob/opt/scala-2.10.5
export HADOOP_HOME=/home/nob/opt/hadoop-2.6.0
export HADOOP_CONF_DIR=/home/nob/opt/hadoop-2.6.0/etc/hadoop
export SPARK_MASTER_IP=nobubuntu
export SPARK_WORKER_MEMORY=512M
nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ sbin/start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /data/server/spark-1.4.0-bin-hadoop2.6/sbin/../logs/spark-nob-org.apache.spark.deploy.master.Master-1-nobubuntu.out
nobubuntu: org.apache.spark.deploy.worker.Worker running as process 10297. Stop it first.
nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ jps
8706 DataNode
9062 ResourceManager
10775 Jps
9192 NodeManager
10569 Master
10297 Worker
8572 NameNode
8911 SecondaryNameNode
nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$
jpsはMasterとWorkerプロセス、アクセスを見ることができますhttp://nobubuntu:8080/実行の詳細が表示されます
4、Sparkが持参したPython shellテストを利用する
PySpark shellを使用して、Spark解凍のソースパスの下で、実行bin/pyspark
プロンプトで、次のコマンドを順番に入力します.>>> lines = sc.textFile("README.md")
>>> lines.count()
>>> lines.first()
5、印刷ログのレベルを変更する
上記の実行により、shell環境で印刷されたログが多すぎることがわかりました.そのため、以下のログのレベルを調整する必要があります.そのため、私は
confディレクトリの下にファイルlog 4 jを新規作成する.properties、log 4 jです.properties.templateのコピー、
次の行
log4j.rootCategory=INFO, console
に改心
log4j.rootCategory=WARN, console
shellを再開すると、デバッグ情報が少なくなっています.
6、Scala shellを使用してline countウィジェットをテストする
Scalaバージョンのshellを開き、実行bin/spark-shell
scala> val lines = sc.textFile("README.md")
scala> lines.cout()
scala> lines.first()
独立したアプリケーションで、pythonをデモします.scalaやjavaを使用することもできます.公式ドキュメントから簡単です."""SimpleApp.py"""
from pyspark import SparkContext
logFile = "YOUR_SPARK_HOME/README.md" # Should be some file on your system
sc = SparkContext("local", "Simple App")
logData = sc.textFile(logFile).cache()
numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()
print "Lines with a: %i, lines with b: %i" % (numAs, numBs)
bin/spark-submit
の使用# Use spark-submit to run your application
$ YOUR_SPARK_HOME/bin/spark-submit --master local[4] SimpleApp.py
...
Lines with a: 46, Lines with b: 23
[参考文献]
1、spark1.2.0バージョンの擬似分散環境の構築http://blog.csdn.net/stark_summer/article/details/43495623
2、完全なhadoop+spark教程http://wenku.baidu.com/link?url=RaRRE0g1FilXQWSAjKO6eNo5zqD0_H4liG0lxF7bBJ1ZztckWysMqlfUiU6y-8yEPDGGLjZgX_RfHO68-uc4qpdU2Pe_-HcdtwOPTzX9KsS
3、spark公式文書http://spark.apache.org/docs/latest/quick-start.html
bin/pyspark
>>> lines = sc.textFile("README.md")
>>> lines.count()
>>> lines.first()
上記の実行により、shell環境で印刷されたログが多すぎることがわかりました.そのため、以下のログのレベルを調整する必要があります.そのため、私は
confディレクトリの下にファイルlog 4 jを新規作成する.properties、log 4 jです.properties.templateのコピー、
次の行
log4j.rootCategory=INFO, console
に改心
log4j.rootCategory=WARN, console
shellを再開すると、デバッグ情報が少なくなっています.
6、Scala shellを使用してline countウィジェットをテストする
Scalaバージョンのshellを開き、実行bin/spark-shell
scala> val lines = sc.textFile("README.md")
scala> lines.cout()
scala> lines.first()
独立したアプリケーションで、pythonをデモします.scalaやjavaを使用することもできます.公式ドキュメントから簡単です."""SimpleApp.py"""
from pyspark import SparkContext
logFile = "YOUR_SPARK_HOME/README.md" # Should be some file on your system
sc = SparkContext("local", "Simple App")
logData = sc.textFile(logFile).cache()
numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()
print "Lines with a: %i, lines with b: %i" % (numAs, numBs)
bin/spark-submit
の使用# Use spark-submit to run your application
$ YOUR_SPARK_HOME/bin/spark-submit --master local[4] SimpleApp.py
...
Lines with a: 46, Lines with b: 23
[参考文献]
1、spark1.2.0バージョンの擬似分散環境の構築http://blog.csdn.net/stark_summer/article/details/43495623
2、完全なhadoop+spark教程http://wenku.baidu.com/link?url=RaRRE0g1FilXQWSAjKO6eNo5zqD0_H4liG0lxF7bBJ1ZztckWysMqlfUiU6y-8yEPDGGLjZgX_RfHO68-uc4qpdU2Pe_-HcdtwOPTzX9KsS
3、spark公式文書http://spark.apache.org/docs/latest/quick-start.html
bin/spark-shell
scala> val lines = sc.textFile("README.md")
scala> lines.cout()
scala> lines.first()
"""SimpleApp.py"""
from pyspark import SparkContext
logFile = "YOUR_SPARK_HOME/README.md" # Should be some file on your system
sc = SparkContext("local", "Simple App")
logData = sc.textFile(logFile).cache()
numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()
print "Lines with a: %i, lines with b: %i" % (numAs, numBs)
# Use spark-submit to run your application
$ YOUR_SPARK_HOME/bin/spark-submit --master local[4] SimpleApp.py
...
Lines with a: 46, Lines with b: 23