spark 2.1.0安装指南完整版

Spark的资料非常多,但是完整介绍Spark安装的资料却非常少见,本文就是记录一下安装配置Spark2.1.0的过程,希望能对大家有所帮助。

首先第一步是安装JDK,我们最好下载JDK8版本。由于Oracle上下载JDK需要同意协议条款,需要在浏览器上下载才行。而我们云服务器,通常都没有图形界面,我们可以在本机上下载下来,传到服务器上去,但是这个太麻烦了。在这里给大家介绍一个变通的方法。在Windows机器上,进入JDK下载界面,http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,选择同意条款,浏览器就会开始下载JDK8。这时我们可以看到下载地址,把这个下载地址复制下来,用SSH登录到云服务器,运行如下命令:

wget -c http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz?AuthParam=1489462060_a8e8967d20cb53503d8c97ce4496bdf0

这时就可以将JDK下载到云服务器上去了。将tar.gz文件解压:

tar -xzvf jdk8.tar.gz

这时就会在当前目录下生成jdk1.8.0_121目录。

将其拷贝到系统目录下:mv jdk1.8.0_121 /usr/lib/jdk

修改~/.bashrc文件:sudo vim ~/.bashrc,在最前面添加如下内容:

export JAVA_HOME=/usr/lib/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

运行:source ~/.bashrc使其生效,然后运行:java -version,如果打出如下内容,则证明安装成功:


下面我们来安装Scala,本来安装Scala应该是一件很简单的事情,但是我们在云服务器上没有图形界面,没法启动浏览器,要想安装Scala就不容易了。还好有其他网站为我们想到了这一点,我们可以到如下地址下载Scala。我们首先到http://www.scala-lang.org,查看当前的最新版本,比如在我查看时为2.12.1,则运行如下命令:

wget http://downloads.typesafe.com/scala/2.12.1/scala-2.12.1.tgz

下载完成后解压该文件:tar -xzvf scala-2.12.1.tgz,会生成scala-2.12.1目录。

编辑环境文件:sudo vim ~/.bashrc,添加如下内容:

export SCALA_HOME=/root/dev/java/scala-2.12.1
export PATH=${SCALA_HOME}/bin:$PATH

在命令行运行:scala -version,如果打印出如下内容就证明安装成功了:


我们还需要安装Python环境,为了简单起见,我们直接安装Python科学计算库Anaconda,这个软件会直接替我们把所有的Python科学计算库全部安装好,使用起来非常方便,我们首先下载安装文件:

wget https://repo.continuum.io/archive/Anaconda3-4.3.1-Linux-x86_64.sh

下载完成后,利用chmod 777 Anaconda3-4.3.1-Linux-x86_64.sh,然后运行这个程序,依照提示安装即可。一定要将Anaconda加入到PATH中。安装完成后,我们可以通过运行python来看提示中的版本,如果显示是3.6的,就证明我们安装成功了。

我们知道,Spark依赖于Hadoop的运行,因为我们需要Hadoop的HDFS系统和集群管理系统YARN,所以我们在安装Spark之前,就需要先安装Hadoop。

先下载Hadoop安装文件,这里下载的是2.7.3版本:

wget http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

先解压文件:tar -xzvf hadoop-2.7.3.tar.gz

然后添加Hadoop相关的配置信息,编辑:sudo vim ~/.bashrc,添加如下内容:

# hadoop required
export HADOOP_HOME=/root/dev/java/hadoop-2.7.3
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export YARN_HOME=${HADOOP_HOME}

运行使其生效:source ~/.bashrc

查看$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件中,有关于$JAVA_HOME的正确定义。如果SSH服务不是监听在22端口的话,添加如下行:export HADOOP_SSH_OPTS="-p 18921"。

编辑$HADOOP_HOME/etc/hadoop/core-site.xml文件,加入如下内容:

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://your_server_ip:9000</value>
  </property>
</configuration>

编辑$HADOOP_HOME/etc/hadoop/hdfs-site.xml文件:

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

确保可以不用密码登录:ssh -p 22000 localhost,这里我的SSH服务启动在22000端口,而不是默认的22端口。如果不能登录,则运行如下脚本:

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

下面我们进入到$HADOOP_HOME目录:

bin/hdfs namenode -format
sbin/start-dfs.sh

我们通过浏览器访问:http://your_server_ip:50070可以看到HDFS namenode的管理界面,就证明这一步已经安装成功了。

下面建立MapReduce的工作目录,即创建HDFS上的目录:

bin/hdfs dfs -mkdir /user
bin/hdfs dfs -mkdir /user/yantao
# 将文本文件拷贝到HDFS系统中
bin/hdfs dfs -mkdir /user/yantao/input
bin/hdfs dfs -put etc/hadoop/*.xml /user/yantao/input
# 运行实例
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep /user/yantao/input /user/yantao/output 'dfs[a-z. ]+'
# 将结果文件取回本地
bin/hdfs dfs -get /user/yantao/output output
# 直接在HDFS中查看
bin/hdfs dfs -cat /user/yantao/output/*

下面我们来配置YARN集群。我们首先配置MapReduce,编辑vim etc/hadoop/mapred-site.xml,内容如下:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

编辑vim etc/hadoop/yarn-site.xml,添加或修改如下内容:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

并将文件中所有Mater:修改为本机IP地址。

完成上述操作后,我们可以启动yarn:sbin/start-yarn.sh

此时访问nodemanager界面:http://your_server_ip:8042

访问resourcemanager界面:http://your_server_ip:8088

至此我们就完成了Hadoop伪分布式模式的安装。下面就可以正式进入Spark的安装了。

首先下载Spark安装文件,由于我们之前安装的是hadoop 2.7.3,所以我们需要下载绑定hadoop 2.7以上版本的Spark:

wget http://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.7.tgz

然后解压:tar -xzvf spark-2.1.0-bin-hadoop2.7.tgz

进入spark目录,拷贝Spark环境模板文件为环境文件:cp conf/spark-env.sh.template conf/spark-env.sh,然后添加如下内容:

export SCALA_HOME=/root/dev/java/scala-2.12.1
export SPARK_WORKER_MEMORY=1g
export SPARK_MASTER_IP=your_server_ip
export MASTER=spark://your_server_ip:7077
# 如果SSH端口不是缺省的22时加入下面行
export SPARK_SSH_OPTS="-p 22000"

生成Slave文件:cp conf/slaves.template conf/slaves。在这个文件中加入Worker节点的名称,由于这里是伪分布式部署,所以只需要有localhost就可以了。

我们进入到$HADOOP_HOME目录,启动HADOOP:

./sbin/start-dfs.sh
./sbin/start-yarn.sh

然后进入$SPARK_HOME目录,启动Spark:./sbin/start-all.sh

至此Spark 2.1.0就已经完全安装完成了。我们可以试验一下安装是否正确,进入到$SPARK_HOME目录,运行求PI的实例:

./bin/run-example org.apache.spark.examples.SparkPi

如果在输出中可以获得类似如下结果,就可以证明是正确的了:


我们还可以尝试启动Spark-shell:

./bin/spark-shell

如果出现如下图所示界面,则证明是成功的:


我们可以通过:quit业退出这个界面。



展开阅读全文

没有更多推荐了,返回首页