1、Windows环境安装Spark
1.安装Java环境:jdk-8u101-windows-x64
配置环境变量:
(1)增长变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_101;
(2)找到系统变量Path
在其内容中增长值C:\Program Files\Java\jdk1.8.0_101\bin;
(3)验证:Win+R,输入cmd,在命令行窗口中输入以下命令:
java -version
显示下列信息代表安装配置正确:
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
2.安装scala:scala-2.11.8
而后在命令行窗口输入命令:scala
若是不报错,则安装成功,应该显示以下信息:
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_101).
Type in expressions for evaluation. Or try :help.
scala>
注意:Scala版本要和spark版本匹配,请根据spark的版原本选择scala的版本。
3.安装spark
将下载好的文件spark-1.6.2-bin-cdh4解压到当前目录
剪切到D:目录(或者你但愿的目录)
打开命令行窗口:
D:
cd spark-1.6.2-bin-cdh4
(1)启动Master,在命令行中输入:
bin\spark-class org.apache.spark.deploy.master.Master
(2)启动Worker
bin\spark-class org.apache.spark.deploy.worker.Worker spark://10.0.1.119:7077 -c 1 -m 512M
(3)启动Worker
bin\spark-class org.apache.spark.deploy.worker.Worker spark://10.0.1.119:7077 -c 1 -m 1G
(4)启动单机模式
bin\spark-shell --master spark://10.0.1.119:7077
2、Linux环境安装Spark
1.安装Ubuntu Linux
(1)安装包:
VMware-workstation-full-11.1.1-2771112.exe
ubuntu-14.04.1-server-amd64.iso
jdk-8u91-linux-x64.tar.gz
spark-1.6.2-bin-hadoop2.6.tgz
Xmanager4_setup.1410342608.exe
(2)安装3台虚拟机,主机名分别为:spark01,spark02,spark03
IP分别为:192.168.6.128~130
(3)在主机安装Xshell
2.Linux安装Java
(1)拷贝文件
spark@spark01:~$ mkdir app
spark@spark01:~$ cd app/
而后将文件拷贝到该文件夹下
(2)解压
spark@spark01:~/app$ ll
spark@spark01:~/app$ tar -zxvf jdk-8u91-linux-x64.tar.gz
spark@spark01:~/app$ ll
(3)修改环境变量
spark@spark01:~/app$ sudo vim /etc/profile
[sudo] password for spark:
末尾增长两行:
JAVA_HOME=/home/spark/app/jdk1.8.0_91
export PATH=$PATH:$JAVA_HOME/bin
(4)环境变量修改生效
spark@spark01:~/app$ source /etc/profile
(5)查看安装好的java版本
spark@spark01:~/app$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
spark@spark01:~/app$
3.Linux安装spark
(1)解压spark
spark@spark01:~/app$ tar -zxvf spark-1.6.2-bin-hadoop2.6.tgz
(2)修改配置文件
spark@spark01:~/app$ cd spark-1.6.2-bin-hadoop2.6/
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6$ ll
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6$ cd conf/
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ ll
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ cp spark-env.sh.template spark-env.sh
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ ll
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ vim spark-env.sh
在配置文件末尾增长:
#export SPARK_LOCAL_IP=localhost
export JAVA_HOME=/home/spark/app/jdk1.8.0_91
export SPARK_MASTER_IP=spark01
#export SPARK_MASTER_IP=localhost
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=1g
#export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/nfs/spark/recovery"
#export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop
#export YARN_CONF_DIR=$HADOOP_INSTALL/etc/hadoop
export SPARK_HOME=/home/spark/app/spark-1.6.2-bin-hadoop2.6
export SPARK_JAR=/home/spark/app/spark-1.6.2-bin-hadoop2.6/lib/spark-assembly-1.6.2-hadoop2.6.0.jar
export PATH=$SPARK_HOME/bin:$PATH
(3)修改主机配置
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6$ sudo vim /etc/hosts
注释掉:
127.0.1.1 spark01
增长:
192.168.6.128 spark01
192.168.6.129 spark02
192.168.6.130 spark03
关闭文件后测试是否正确配置:
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6$ ping spark02
(4)修改另外一个配置(3台机器都要进行操做)
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6$ cd conf/
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ ll
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ cp slaves.template slaves
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ vim slaves
在文件末尾增长:
spark02
spark03
(5)配置免密登陆(只在spark01操做便可)
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ chmod 0600 ~/.ssh/authorized_keys
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ ssh-copy-id
Usage: /usr/bin/ssh-copy-id [-h|-?|-n] [-i [identity_file]] [-p port] [[-o <ssh -o options>] ...] [user@]hostname
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ ssh-copy-id spark02(按提示操做)
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ ssh-copy-id spark03(按提示操做)
测试免密登陆:
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ ssh spark02
spark@spark02:~$ exit
(6)启动spark服务(只在spark01操做便可)
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ ../sbin/start-all.sh
(7)开始任务
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6/conf$ cd ../
spark@spark01:~/app/spark-1.6.2-bin-hadoop2.6$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark01:7077 --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.6.2-hadoop2.6.0.jar 100
(8)在浏览器中查看
(9)修改BASH配置,将Spark添加到PATH中,设置SPARK_HOME环境变量。在Ubuntu上,只要编辑~/.bash_profile或~/.profile文件,将如下语句添加到文件中:
export SPARK_HOME=/home/spark/app/spark-1.6.2-bin-hadoop2.6
export PATH=$SPARK_HOME/bin:$PATH
export PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH
而后source或者重启终端后,就能够使用pyspark启动spark的python交互式shell环境:
spark@spark01:~$ source .profile
4.Linux安装python开发库
(1)更新源
sudo gedit /etc/apt/sources.list
把旧的sources.list进行备份,用新的sources.list文件替换掉旧的。
(2)更新依赖关系
sudo apt-get update
(3)更新软件(可选)
sudo apt-get upgrade 或者只更新 pip install --upgrade pip
(4)安装pip工具
sudo apt-get install python-pip
(5)更新pip的源,下载软件速度会明显加快
首先新建文件:
sudo vim /etc/pip.conf
在文件中写入:
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
(6)安装所需的包
sudo pip install matplotlib
sudo pip install scipy
sudo pip install scikit-learn
sudo pip install ipython
sudo apt-get install python-tk
Tips:
(7)使用命令:sudo pip install numpy时,可能遇到:
The directory '/Users/huangqizhi/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
说得很清楚,是pip目录的属主不是sudo的root用户。若是必须用sudo pip,更改pip目录属主便可:
sudo chown root /Users/huangqizhi/Library/Caches/pip
5.经常使用命令
(1)启动spark集群,在spark主目录执行:
./sbin/start-all.sh
(2)关闭spark集群,在spark主目录执行:
./sbin/stop-all.sh
(3)启动任务:
spark-submit pythonapp.py
spark-submit --master yarn-cluster get_hdfs.py
spark-submit --master spark://hadoop01:7077 spark_sql_wp.py
(4)启动spark的python交互式shell环境
pyspark