Spark2.0安装

来源:互联网 发布:美国佐治亚大学 知乎 编辑:程序博客网 时间:2024/05/14 08:01

Spark伪分布安装(依赖Hadoop)


一、伪分布安装Spark
安装环境:
Ubuntu 14.04 LTS 64位+Hadoop2.7.2+Spark2.0.0+jdk1.7.0_76
linux下的第三方软件应该安装在/opt目录下,约定优于配置,遵循这一原则是良好的环境配置习惯。所以这里安装的软件都在/opt目录下。
1、安装jdk1.7
(1)下载jdk-7u76-linux-x64.tar.gz;
(2)解压jdk-7u76-linux-x64.tar.gz,并将其移动到/opt/java/jdk路径下(自建);
命令:tar -zxvf jdk-7u76-linux-x64.tar.gz
sudo mv jdk1.7.0_76 /opt/java/jdk/
(3)配置java环境变量
命令:sudo gedit /etc/profile打开profile文件,追加:
#set java envexport JAVA_HOME=/opt/java/jdk/jdk1.7.0_76export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH
(4)验证,如下则安装成功:

特别注意:之前在root用户下安装好jdk,然后切换到hadoop用户下执行java -version就报错,最后排查是因为把java环境变量配置到~/.bashrc中了,重新配置到/etc/profile后,问题解决。
2、安装并配置ssh
两种方式:
(1)在线安装(本文采用的方式),在网络适配器是"NAT"时
安装命令:sudo apt-get install openssh-server 
验证:执行ssh localhost能登录则说明安装成功。

(2)离线安装(百度吧,O(∩_∩)O)
3、ssh免密码登录
执行命令生成密钥对ssh-keygen -t rsa -P '',然后回车即可
它在/home/mahao下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。
cat /home/mahao/.ssh/id_rsa.pub >> /home/mahao/.ssh//authorized_keys
验证:再次执行ssh localhost,不需要密码就可以登录。
4、安装并配置Hadoop
因为这里是伪分布安装Spark,理所当然的要进行Hadoop的伪分布安装
(1)安装Hadoop
将hadoop-2.7.2.tar.gz解压至/opt/hadoop路径下(自建);
(2)配置Hadoop
待配置文件所在位置都在{HADOOP_HOME}/etc/hadoop路径下,我的路径是/opt/hadoop/hadoop-2.7.2/etc/hadoop
修改hadoop-env.sh文件,主要是设置JAVA_HOME,另外按官网说法还要添加一个HADOOP_PREFIX的导出变量,追加内容:
export JAVA_HOME=/opt/java/jdk/jdk1.7.0_76
export HADOOP_PREFIX=/opt/hadoop/hadoop-2.7.2
修改core-site.xml文件,追加内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hadoop-2.7.2/hadooptmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
上面的hadooptmp目录需要自己创建
修改hdfs-site.xml文件,追加内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
修改yarn-site.xml文件(伪分布下不用配置),追加内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改yarn-site.xml文件,追加内容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
修改yarn-env.sh文件:
export JAVA_HOME=/opt/java/jdk/jdk1.7.0_76
5、格式化namenode,并启动Hadoop
(1)格式化namenode

(2)启动dfs,yarn(start-all.sh已经废除,用下面命令启动


start-all.sh已经废除,用上面的命令启动,否则会出现以下错误:

然后用jps命令查看java进程,如果有以下几个进程这说明安装并启动成功:

还可以用下面的命令查看hdfs的报告:

web管理界面查看:
http://localhost:50070/

http://localhost:8088/

6、安装并配置Spark2.0.0
(1)安装scala
Spark2.0.0要求scala2.11,下载scala2.11.8,下载地址:http://www.scala-lang.org/download/2.11.8.html
(2)安装和配置scala:
解压缩scala至/opt/scala(自建)
配置SCALA_HOME环境变量到/etc/profile
export HADOOP_HOME=/opt/hadoop/hadoop-2.7.2
export SCALA_HOME=/opt/scala/scala-2.11.8
使用source /etc/profile使生效。
验证scala:

(3)下载spark2.0.0,并将spark-2.0.0-bin-hadoop2.7.tgz解压到/opt/spark路径下
配置SPARK_HOME环境变量
export SPARK_HOME=/opt/spark/spark-2.0.0-bin-hadoop2.7
使用source /etc/profile使生效。
修改Spark conf目录下的slaves文件
修改前先备份并重命名cp slaves.template slaves
将slaves文件中的localhost修改为主机名,我的是ubuntu,如下:

修改spark-env.sh文件
修改前先备份并重命名cp spark-env.sh.tempalte spark-env.sh
然后打开spark-env.sh文件,追加内容:
export JAVA_HOME=/opt/java/jdk/jdk1.7.0_76
export HADOOP_HOME=/opt/hadoop/hadoop-2.7.2
export SCALA_HOME=/opt/scala/scala-2.11.8
export HADOOP_CONF_DIR=/opt/hadoop/hadoop-2.7.2/etc/hadoop
export SPARK_MASTER_IP=ubuntu
export SPARK_WORKER_MEMORY=512M
(4)启动spark伪分布,
第一步,启动之前要保证Hadoop伪分布启动成功,先使用jps看下进程信息:

说明Hadoop启动成功。
如果没有启动,进入Hadoop的sbin目录执行./start-all.sh启动。
第二步,启动Spark:
进入spark的sbin目录下执行start-all.sh启动spark,启动后,jps查看最新进程:

访问http://localhost:8080,进入spark的web控制台页面:

从页面可以看到一个Worker节点信息。
通过访问http://localhost:4040进入spark-shell web控制台页面(需先使用命令./bin/spark-shell启动SparkContext),出现下面的web界面信息:

如果某台机器上运行多个SparkContext,它的web端口会自动连续加一,比如4041,4042,4043等。为了浏览持久的事件日志,设置park.eventLog.enabled就可以了。

关闭Spark
进入spark目录,执行:
./sbin/stop-all.sh
关闭Hadoop
进入Hadoop目录,执行:
./sbin/stop-dfs.sh
./sbin/stop-yarn.sh
(./sbin/stop-all.sh也可以,只不过会有提示信息说该命令已被丢弃,使用上面的两个命令代替)
端口整理:
master端口是7077
master webui是8080
spark shell webui端口是4040

1 0