实验环境
操作系统:ubuntu 14.04 64位
主机名 | IP |
---|---|
Master | 10.107.12.10 |
Worker1 | 10.107.12.20 |
Worker2 | 10.107.12.50 |
Worker3 | 10.107.12.60 |
JDK 安装
实验安装的是jdk1.7.0_71版本,具体安装步骤及环境变量设置参考这里。
SSH 无密登录
下面是我写的一个自动化SSH 无密登录脚本,运行脚本前需要安装expect
包,ubuntu 系统下直接执行:sudo apt-get install expect
就可以了。该脚本运行在namenode上,运行时只需要将IP_1改成对应的datanode地址,PWD_1是对应datanode密码。
# NO_PWD_SSH#!/bin/sh IP_1=10.107.12.20,10.107.12.50,10.107.12.60PWD_1=111111key_generate() { expect -c "set timeout -1; spawn ssh-keygen -t dsa; expect { {Enter file in which to save the key*} {send -- \r;exp_continue} {Enter passphrase*} {send -- \r;exp_continue} {Enter same passphrase again:} {send -- \r;exp_continue} {Overwrite (y/n)*} {send -- n\r;exp_continue} eof {exit 0;} };"}auto_ssh_copy_id () { expect -c "set timeout -1; spawn ssh-copy-id -i $HOME/.ssh/id_dsa.pub root@$1; expect { {Are you sure you want to continue connecting *} {send -- yes\r;exp_continue;} {*password:} {send -- $2\r;exp_continue;} eof {exit 0;} };"}rm -rf ~/.sshkey_generateips_1=$(echo $IP_1 | tr ',' ' ')for ip in $ips_1do auto_ssh_copy_id $ip $PWD_1doneeval &(ssh-agent)ssh-add
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
安装 scala
1. 下载 scala 2.11.4
下载地址点这里。
2. 解压
tar zxvf scala-2.11.4.tgz
解压,解压后放在了/root/spark_sdk/
目录下。
tar zxvf scala-2.11.4.tgz
- 1
3. 设置环境变量
在~/.bashrc
文件中加入如下命令:
export SCALA_HOME=/root/spark_sdk/scala-2.11.4PATH=$PATH:$SCALA_HOME/bin
- 1
- 2
使环境变量生效:source ~/.bashrc
安装 Spark 1.5.1
1. 下载 Spark 1.5.1
下载地址点这里。
2. 解压
tar zxvf spark-1.5.1-bin-hadoop2.6.tgz
解压,解压后放在了/root/spark_sdk/
目录下。
3. 设置环境变量
在~/.bashrc
文件中加入如下命令:
export SPARK_HOME=/root/spark_sdk/spark-1.5.1-bin-hadoop2.6 PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
- 1
- 2
使环境变量生效:source ~/.bashrc
4. 修改Spark 配置文件
spark-env.sh 文件
export JAVA_HOME=/root/spark_sdk/jdk1.7.0_71
- 1
yarn-env.sh 文件
export SCALA_HOME=/root/spark_sdk/scala-2.11.4export JAVA_HOME=/root/spark_sdk/jdk1.7.0_71export SPARK_MASTER_IP=10.107.12.10export SPARK_WORKER_MEMORY=2048mexport HADOOP_CONF_DIR=/root/spark_sdk/hadoop-2.7.1/etc/hadoop
- 1
- 2
- 3
- 4
- 5
这里10.107.12.10是Master节点IP
slaves 文件
10.107.12.2010.107.12.5010.107.12.60
- 1
- 2
- 3
上面3个IP分别对应的是Worker节点的IP。
5. 启动Spark
./sbin/start-all.sh
- 1
6. 集群启动验证
执行jps
命令,可以查询到有如下进程说明集群部署成功!
MasterWorker
- 1
- 2
运行SparkPi
spark-submit --master spark://10.107.12.10:7077 --class org.apache.spark.examples.SparkPi --name Spark-Pi /root/spark_sdk/spark-1.5.1-bin-hadoop2.6/lib/spark-examples-1.5.1-hadoop2.6.0.jar
- 1
使用web查看Spark运行状态
http://10.107.12.10:8080
- 1
这里的IP就是Master节点地址。
7. 关闭集群
关闭集群执行sbin/stop-all.sh
。
【完】
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow