CentOS 7.0下面安装并配置Spark

安装环境:
虚拟机:VMware® Workstation 8.0.1(网络桥接)
OS:CentOS 7
JDK版本:jdk-7u79-linux-x64.tar
Scala版本:scala-2.11.7
Spark版本:spark-1.4.0-bin-hadoop2.4
用户:hadoop安装Centos时创建的,属于管理员组

第一步:配置SSH

使用hadoop登录系统,在终端运行:

yum install openssh-server

CentOS 7.0下面安装并配置Spark

如果提示:

CentOS 7.0下面安装并配置Spark

则是因为yum服务被占用,需要强制解锁:

rm -rf /var/run/yum.pid

CentOS 7.0下面安装并配置Spark

终端就会联网下载安装包并自行进行安装。安装完成后输入下面指令验证22端口是否打开:

netstat -nat

CentOS 7.0下面安装并配置Spark

CentOS 7.0下面安装并配置Spark

确定22端口是打开的,然后检查SSH安装正确否,输入

ssh localhost

输入当前用户名和密码按回车确认,说明安装成功,同时ssh登陆需要密码。

CentOS 7.0下面安装并配置Spark

这里重点说明一下:

Ssh配置实际上就是配置无密码访问,使用身份凭据代替密码验证,访问时只需要提供一个身份凭据即可,不需要输入密码。那么意思也就是说,每一个用户都有一个独一无二的凭据,要访问谁,就将这个凭据交给谁(即复制到人家的目录下即可)

接下来,在终端输入命令进入Hadoop账户目录:

cd /home/hadoop

再次输入:

ssh-keygen -t rsa

然后一路回车

CentOS 7.0下面安装并配置Spark

然后我们再次进入.ssh文件夹,然后将id_rsa.pub追加到authorized_keys文件,命令如下:

cd .ssh

CentOS 7.0下面安装并配置Spark

顺便查看下本目录下都有什么文件。Id_rsa是属于该账户的私钥,id_rsa.pub是属于该账户的公钥,就是要交出去的。

这里需要多说一句,如果一个主服务器有多个账户要配置无密码访问怎么办?

主服务器下面应该有一个叫authorized_keys 的文件,谁需要配置无密码访问,就把你的公钥追加在这个文件里即可。

cp id_rsa.pub authorized_keys

CentOS 7.0下面安装并配置Spark

再次测试无密码登录

ssh localhost

CentOS 7.0下面安装并配置Spark

最好是多打开几次终端,测试ssh登录,也可以重启服务测试:

service sshd restart 重启服务

service sshd start 启动服务

service sshd stop 停止服务

netstat -antp | grep sshd 查看是否启动22端口

CentOS 7.0下面安装并配置Spark

任何时候遇到权限拒绝在命令前加上sudo 即可,如下就被拒绝了:

CentOS 7.0下面安装并配置Spark

chkconfig sshd on设置开机启动

chkconfig sshd off 禁止SSH开机启动

第二步:配置Java、Scala、Saprk

咱们一次性将需要的软件全部复制到/home/data目录下备用。需要注销使用root登录,其他用户权限不够。

Root用户可以直接在UI下面操作,顺便解压好。

CentOS 7.0下面安装并配置Spark

然后切换回hadoop用户(*重要)

配置Java路径:

sudo gedit /etc/profile

在最后一行回车加上:

#JAVA VARIABLES START

export JAVA_HOME=/home/data/jdk1.7.0_79

export PATH=$PATH:$JAVA_HOME/bin

#JAVA VARIABLES END

然后刷新系统配置,检查Java安装情况:

source /etc/profile

java -version

CentOS 7.0下面安装并配置Spark

看到这个说明Java环境安装成功。

接下来配置Scala环境:

sudo gedit /etc/profile

在最后一行加上:

#SCALA VARIABLES START

export SCALA_HOME=/home/data/scala-2.11.7

export PATH=$PATH:$SCALA_HOME/bin

#SCALA VARIABLES END

然后刷新系统配置,检查Java安装情况:

source /etc/profile

scala -version

看到下图说明成功:

CentOS 7.0下面安装并配置Spark

接下来配置Spark环境:

sudo gedit /etc/profile

在最后一行加上:

#SPARK VARIABLES START

export SPARK_HOME=/home/data/spark-1.4.0-bin-hadoop2.4

export PATH=$PATH:$SPARK_HOME/bin

#SPARK VARIABLES END

配置完成的profile文件应该如下图:

CentOS 7.0下面安装并配置Spark

然后刷新系统配置:

source /etc/profile

进入spark的conf目录:

CentOS 7.0下面安装并配置Spark

备份文件:

sudo mv spark-env.sh.template spark-env.sh

然后编辑新建的文件:

sudo gedit spark-env.sh

在文件最下面加入:

export SCALA_HOME=/home/data/scala-2.11.7

export JAVA_HOME=/home/data/jdk1.7.0_79

export SPARK_MASTER_IP=localhost

export SPARK_WORKER_MEMORY=1024m

export master=spark://localhost 7070

最后还应该编辑该目录下的slaves中机器名,因为我机器名就叫localhost,所以就不编辑了。

第三步:运行Spark

启动Spark集群。

进入sbin目录:

CentOS 7.0下面安装并配置Spark

然后在浏览器中访问:localhost:8080

CentOS 7.0下面安装并配置Spark

从页面上可以看到一个Worker节点的信息。

我们进入spark的bin目录,使用“spark-shell”控制台:

应该无错出现下面界面:

CentOS 7.0下面安装并配置Spark

测试下:

CentOS 7.0下面安装并配置Spark

通过访问"http://localhost:4040",进入spark-shell web控制台页面:

CentOS 7.0下面安装并配置Spark

CentOS 7.0下面安装并配置Spark

输入:

hello world

hello hadoop

pls say hello

然后在Scala命令行输入读取程序:

val readFile = sc.textFile("file:///home/file/test1.txt")

CentOS 7.0下面安装并配置Spark

再执行:

readFile.collect

CentOS 7.0下面安装并配置Spark

CentOS 7.0下面安装并配置Spark

查看spark-shell web控制台:

CentOS 7.0下面安装并配置Spark

CentOS 7.0下面安装并配置Spark

上一篇:Linux(Centos)配置OpenSSH无密码登陆<转>


下一篇:技术课堂】如何管理MongoDB数据库?