記事のディレクトリ
原理
オペレーティング
- クラスター計画
node01:master
ndoe02:worker/slave
- 奴隷/労働者
进入配置目录:
cd /export/servers/spark/conf
修改配置文件名称:
mv slaves.template slaves
vim slaves
添加以下内容:
node02
- マスターを構成する
进入配置目录:
cd /export/servers/spark/conf
修改配置文件名称:
mv spark-env.sh.template spark-env.sh
修改配置文件:
vim spark-env.sh
增加如下内容:
## 设置JAVA安装目录
JAVA_HOME=$JAVA_HOME
## HADOOP软件配置文件目录,读取HDFS上文件和运行Spark在YARN集群时需要,先提前配上
HADOOP_CONF_DIR=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
YARN_CONF_DIR=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
## 指定spark老大Master的IP和提交任务的通信端口
SPARK_MASTER_HOST=node01
SPARK_MASTER_PORT=7077
SPARK_MASTER_WEBUI_PORT=8080
SPARK_WORKER_CORES=1
SPARK_WORKER_MEMORY=1g
- 分布
将配置好的将 Spark 安装包分发给集群中其它机器,命令如下:
cd /export/servers/
scp -r spark root@node02:$PWD
テスト
1.クラスターの開始と停止
在主节点上启动spark集群:
/export/servers/spark/sbin/start-all.sh
在主节点上停止spark集群:
/export/servers/spark/sbin/stop-all.sh
在主节点上单独启动和停止Master:
start-master.sh
stop-master.sh
在从节点上单独启动和停止Worker(Worker指的是slaves配置文件中的主机名):
start-slaves.sh
stop-slaves.sh
2.jpsビュープロセス
node01:master
node02:worker
3.http:// node01:8080 /
4.スパークシェルを開始します
/export/servers/spark/bin/spark-shell --master spark://node01:7077
5.WordCountタスクを送信します
- テストファイルをhdfsにアップロードします
hdfs dfs -put /export/data/Spark/words.txt /wordcount/input/words.txt
- ディレクトリが存在しない場合は作成できます
hdfs dfs -mkdir -p /wordcount/input
- コードを送信する
val textFile = sc.textFile("hdfs://node01:8020/wordcount/input/words.txt")
val counts = textFile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _)
counts.collect
counts.saveAsTextFile("hdfs://node01:8020/wordcount/output47")
6.結果を表示する
http:// node01:50070 / explorer.html#/ wordcount / output47
7. Spark Taskweb-uiを表示します
http://node01:4040/jobs/
概要:
spark:4040タスク実行中のweb-uiインターフェイスポート
spark:8080 Sparkクラスターweb-uiインターフェイスポート
spark:7077タスク送信時のspark通信ポート
hadoop:50070クラスターweb-uiインターフェースポート
hadoop:8020/9000(旧バージョン)ファイルのアップロードおよびダウンロード通信ポート