基于Hadoop的Spark完全分布式安装

  • 第一步安装scala
  • 第二步Spark安装
  • 第三步Spark简单实例运行

第一步安装scala

安装spark之前首先要安装scala。
再官方网站上下载对应的scala安装文件,这里下载的是scala-2.10.4版本,用命令行下载过程如下

wget  http://www.scala-lang.org/download/2.10.4.html

然后向下寻找相应的链接,其中就有对应Unix系统的,w3m可以点解回车进行下载。
下载的.tgz文件解压到/usr/local/文件夹下(.tgz文件是.tar.gz的缩写,因此可以用tar命令解压)

sudo tar -zxvf ./scala-2.10.4.tgz -C /usr/local

这里是吧scala解压到/usr/local/scala-2.10.4文件夹下。
设置环境变量:
修改~/.bashrc文件,在其中添加如下变量:

export SCALA_HOME=/usr/local/scala-2.10.4
export PATH=$SCALA_HOME/bin

记得使环境变量生效。
检测安装是否成功命令 scala -version,如果出现以下内容,证明安装成功。

scala -version

随后直接输入scala进入scala解释器,然后做一个简单的例子:

scala> 1+2
res0: Int = 3

第二步Spark安装

测试集群(192.168.3.63与192.168.3.64)上重新装了java1.7.0_79版本。scala用的是2.10.4因此选的spark是1.5.0版本。
首先从官网上下载对应的版本选择spark-1.5.0-bin-hadoop2.6.tgz下载,下载方法与scala一致,同样可以用win下载。这里附上官网链接,官网。
解压到/usr/local/目录下

sudo tar -zxf ~/spark-1.5.0-bin-hadoop2.6.tgz -C /usr/local

将文件夹改名:
在/usr/local/下执行

sudo mv ./spark-1.5.0-bin-hadoop ./spark

配置环境变量,在~/.bashrc中添加如下代码:

export SPARK_HOME=/usr/local/spark
:$SPARK_HOME/bin

使环境变量生效:

source ~/.bashrc

然后使环境变量生效。
配置conf/spark-env.sh文件
在usr/local/spark/conf文件夹下找到spark-env。sh文件。若没有该文件,则将 spark-env.sh.template 文件复制后重命名即可,向文件中添加scala、java、hadoop路径以及master ip等信息。

sudo cp ./spark-env.sh.template ./spark-env.sh

在spark-env.sh中添加如下代码:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_91
export SCALA_HOME=/usr/local/scala-2.10.4
export SPARK_MASTER_IP=192.168.3.63
export SPARK_WORKER_MEMORY=2g
#hadoop集群的配置文件目录
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop

最后一行的SPARK_MASTER_IP要和自己的主节点ip地址一致,否则会报错。
安装完成后可以运行spark的例子,运行spark-shell命令后回显示spark的图标与版本,但最后一定是进入了scala输入窗口才算安装成功。

第三步Spark简单实例运行

登录官网在实例页面选择scala,跳回到/usr/local/spark下输入如下命令:

val textFile = sc.textFile("README.md")

读取当前命令下的README.md文件。
然后用下面的命令统计行数

textFile.count

输出行数。
*注:该例子运行时必须吧把spark-env.sh中的

export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop

注释掉否者会报错*
如果不是读本地文件而是读hdfs上的文件时,不用注释掉spark-env.sh的内容,假设在hdfs上的/user/hadoop/input文件加下有个,README.md文件,则用下面的命令:

val textFile = sc.textFile("hdfs://Master:9000/user/hadoop/input/README.md")

再运行统计,结果一样。
还可以进行多种统计操作,不再列出。

你可能感兴趣的:(hadoop,集群,spark)