spark2.x 独立集群环境搭建 | 适用于spark集群环境搭建

在开始环境搭建的教程之前,先说明下 此篇博文为作者自学过程中实际操作总结,正确性以验证,并作为一位学习者记录自己的操作过程。

准备一个以上的unix系统环境 | 克隆WM虚拟机及修改系统参数的全过程

克隆WM虚拟机

克隆之前local模式下调试的spark虚拟机,采用克隆完整文件的模式
这里写图片描述
这里写图片描述
这里写图片描述

修改unix系统参数

通过上一步的克隆,得到多个unix系统环境,现在拿其中一个进行修改举例,其余部分大致相同,除了IP和主机名以外。

第一步 修改mac地址

在虚拟机还未启动之前,先修改该系统的mac地址,如下操作所示。
这里写图片描述
这里写图片描述
生成新的mac地址,并用记事本记录
修改完成后启动虚拟机
打开终端窗口并切换到root用户,键入命令

vim /etc/udev/rules.d/70-persistent-net.rules

通过图形化界面可以看到网络使用的是系统自动创建的自动分配IP地址的虚拟网卡Auto eth1或者除开eth0以外的其他虚拟网卡配置信息栏,这时候删除其他的配置信息栏,只留下eth0,并将eth0中ATTR{address}修改为刚才用记事本记录的mac地址,修改成功后保存该文本,如下所示。
这里写图片描述

第二步 修改ip地址

同样在root用户下,通过键入以下命令,修改IP地址、网关地址及mac地址。

vim /etc/sysconfig/network-scripts/ifcfg-eth0

这里写图片描述

第三步 修改hostname

通过以下两个命令,在两处修改hostname

vim /etc/sysconfig/network   

NETWORKING=yes
HOSTNAME=spark-master

vim /etc/hosts      

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.180  spark-master
192.168.1.181  spark-slave

以上步骤修改完成,重启系统。
至此,克隆WM虚拟机及修改系统参数的全过程

集群介绍及配置集群环境

通过上一克隆步骤,所有主机上都拥有相同的spark文件了,下面我们来介绍如何使用集群启动脚本。在我的配置过程中,由于磁盘存储空间的原因,只设置了两个unix系统,配置列表如下:

主机名            IP地址
spark-master     192.168.1.180
spark-slave      192.168.1.181

这里需要注意:集群中所有主机的hosts文件中,ip地址与主机名的映射关系都需要添加进去,因为这里涉及到跨主机通信,在主节点上启动工作节点时,会涉及使用其他主机的hostname的情况。

在两个unix系统的/etc/hosts文件中,分别加入集群中各主机的ip地址与主机名映射

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.180  spark-master
192.168.1.181  spark-slave

第一步 配置master到slave的免密登陆

#生成ssh免登陆密钥
#进入到我的home目录
cd ~/.ssh

ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
ssh-copy-id localhost

第二步 编辑主节点的 $SPARK_HOME/conf/slaves 文件并填上所有工作节点的主机名

echo "spark-slave" >> $SPARK_HOME/conf/slaves 

第三步 修改$HADOOP_HOME/bin/hadoop下的core-site.xml和yarn-site.xml文件配置,由原来的local模式转为集群模式

## core-site.xml
<configuration>
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://spark-master:9000/</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/elon/app/hadoop-2.7.5/tmp</value>
    </property>
    <!-- Static Web User Filter properties. -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>elon.hadoop-yarn</value>
    </property>
</configuration>

## yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
    <!-- 指定YARN的老大(ResourceManager)的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>spark-slave</value>
    </property>
    <!-- reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

具体的Hadoop集群配置,可以参考我的另一篇博文【hadoop2.x完全分布式环境搭建 | 适用于hadoop完全分布式集群环境搭建

注意:$SPARK_HOME/conf/spark_env.sh文件中之前设置的参数现在都注释掉,复原为原始样式,因为之前设置的参数是和spark local模式下运行相关的,作者本人之前就因为这个地方未注意导致Master和work进程启动起来后,瞬间挂掉了…

启动standalone模式集群 sbin/start-all.sh

可以在http://spark-master:8080中看到集群管理器的网页用户界面,上面显示着所有的工作节点
这里写图片描述

要停止集群,在主节点上运行 sbin/stop-all.sh

至此,spark2.x 独立集群环境搭建的所有工作完成,报告完毕!

转载请注明出处:http://blog.csdn.net/coder__cs/article/details/79177956
本文出自【elon33的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值