Spark完全分布式平台搭建

**

Spark完全分布式平台搭建

**

波仔的搭建的设备是3台centos7机器,使用的finallshell通过开启centos机的反向链接来控制spark平台的搭建。
第一步:设置Master机可以无密码登陆Slave机。
如下,
查看当前所有电脑的ip地址
(搭建分布式的机器最好需要在同一个局域网内)
命令:ifconfig
如例图:
在这里插入图片描述
机器的名称和ip如下:
192.168.0.102 master
192.168.0.104 slave01
192.168.0.106 slave02
个人习惯怕麻烦我的电脑用户都root
用master机 ping 你的slave机器双测试双方的联通性。
命令:ping (目的机器的ip)
如例图:
Alt

分别修改机器名
命令:vim /etc/hostname
master 中加入 master
slave01 中加入 slave01
slave02 中加入 slave02
重启三台机器。

三台电脑分别都配置
命令:vim /etc/hosts

192.168.0.102 master
192.168.0.104 slave01
192.168.0.106 slave02

开始配置密钥实现 master无密码登陆(master,slave操作)
命令:

yum install openssh-server
ssh-keygen -t rsa -P “”

(默认将master生成的密钥放在~/.ssh下)

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

将密钥传到slave上:
命令:

scp ~/.ssh/id_rsa.pub root@slave01:/home/hadoop
scp ~/.ssh/id_rsa.pub root@slave02:/home/hadoop

(hmoe/hadoop是master密钥的接受文件夹)

接受好以后将master的密钥用于代替slave的密钥
命令:

cat /home/hadoop/id_rsa.pub >> ~/.ssh/authorized_keys

测试:
命令:
(在master上)

ssh slave01
ssh slave02

第二步:安装jdk
波仔使用的是jdk1.8(网上搜索自行下载)

(安装之前先将centos自带的jdk卸载干净)
在/home上新建文件夹jdk
命令:

cd /home/
mkdir jdk

打开jdk并将jdk-1.8上传到机器上(拖拽即可),进行解压
命令:

tar -zxvf jdk-1.8

将解压出的文件运动到/usr/local文件夹中
命令:

mv jdk-1.8 /usr/local

配置jdk的环境打开~/.bashrc这个全局变量的文件
命令:

vim ~/.bashrc

在里面加入

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

令其生效
命令:

source ~/.bashrc

第三步:安装hadoop
三台机器都做
下载hadoop2.7.7(hadoop-2.7.7.tar.gz)
解压
命令: tar -zxvf hadoop-2.7.7.tar.gz
并在解压出的文件主目录分别下创建
tmp、dfs、dfs/name、dfs/node、dfs/data
命令:

cd /opt/hadoop-2.7.7
mkdir tmp
mkdir dfs
cd dfs
mkidr name
mkdir node
mkdir dfs/data

Master机器上 记得打开机器需要用的端口
在hadoop-2.7.7/etc/hadoop开配置文件
第一个是hadoop-env.sh

export JAVA_HOME=/usr/local/jdk

第二个是core-site.xml(tmp为先前创建的)

<configuration> 
<property>
 <name>fs.defaultFS</name> 								
 <value>hdfs://master:9000</value> 
</property>
 <property> 
<name>io.file.buffer.size</name> 
<value>131072</value> 
</property>
 <property> 
<name>hadoop.tmp.dir</name> 
<value>file:/usr/local/hadoop-2.7.7/tmp</value>
 <description>Abasefor other temporary directories.</description> 	
 </property> 
<property> 
<name>hadoop.proxyuser.spark.hosts</name>
 <value>*</value> 
</property> 
<property> 
<name>hadoop.proxyuser.spark.groups</name> 
<value>*</value>
 </property> 
</configuration>

第三个是hdfs-site.xml dfs/name 与dfs/data 是之前创建的文件

<configuration> 
<property> 
<name>dfs.namenode.secondary.http-address</name> 
<value>master:9001</value> 
</property>
 <property> 
<name>dfs.namenode.name.dir</name>
 <value>file:/usr/local/hadoop-2.7.7/dfs/name</value> 
</property> 
<property> 
<name>dfs.datanode.data.dir</name> 
<value>file:/usr/local/hadoop-2.7.7/dfs/data</value>
 </property> 
<property> 
<name>dfs.replication</name> 
<value>3</value> 
</property> 
<property>
<name>dfs.webhdfs.enabled</name> 
<value>true</value> 
</property> 
</configuration>

第四个是mapred-site.xml要得到这个文件复制mapred.site.xml.template即可

cp mapred-site.xml.template mapred-site.xml

<configuration> 
<property>
 <name>mapreduce.framework.name</name> 
<value>yarn</value> 
</property> 
<property>
 <name>mapreduce.jobhistory.address</name> 			
 <value>master:10020</value>
 </property> 
<property>
 <name>mapreduce.jobhistory.webapp.address</name> 	
 <value>master:19888</value> 
</property>
 </configuration>

第五个是yarn-site.xml

<configuration>
 <!-- Site specific YARN configuration properties --> 
<property>
 <name>yarn.nodemanager.aux-services</name> 	
 <value>mapreduce_shuffle</value> 
</property> 
property> 	
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
 </property> 
<property> 
<name>yarn.resourcemanager.address</name> 
<value>master:8032</value> 
</property> 
<property> 
<name>yarn.resourcemanager.scheduler.address</name> 	
<value>master:8030</value> 
</property> 
<property> 
<name>yarn.resourcemanager.resource-tracker.address</name> 	
<value>master:8035</value> 
</property> 
<property> 
<name>yarn.resourcemanager.admin.address</name> 	
<value>master:8033</value> 
</property> 
<property> 
<name>yarn.resourcemanager.webapp.address</name> 	
<value>master:8088</value> 
</property> 
</configuration>

第六个:修改slaves文件添加

master
slave01
slave02

修改完以后将 将这个文件夹发送给slave机器

scp -r hadoop root@机器名称:/usr/local/hadoop-2.7.7/etc

启动

hadoop namenode -format
start-all.sh

第四部:安装spark
1.下载spark-2.1.0-bin-hadoop2.7.tgz,放到opt下解压。
2. 将spark环境变量配置到/etc/profile中

> export SPARK_HOME=/opt/spark-2.1.0-bin-hadoop2.7 
> export PATH=$JAVA_HOME/bin:$SPARK_HOME/bin:$PATH

编辑spark-env.sh文件,添加以下内容

> export JAVA_HOME=/usr/local/jdk  export SPARK_MASTER_IP=192.168.0.102
> export SPARK_WORKER_MEMORY=8g  export SPARK_WORKER_CORES=4  
> export SPARK_EXECUTOR_MEMORY=4g  export HADOOP_HOME=/usr/local/hadoop-2.7.7/ 
> export HADOOP_CONF_DIR=/usrlocal/hadoop-2.7.7/etc/hadoop  
> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/jdk/jre/lib/amd64

3.配置slaves文件将slaves.template 拷贝为slaves文件并添加

master
slave01
slave02

4.将配置发送与slave机器

scp -r conf root@另一台机器名:/usrlocal/spark-2.1.0-bin-hadoop2.7

5.启动spark

./start-all.sh

参考文档:
[http://dblab.xmu.edu.cn/blog/1177-2/
https://www.jianshu.com/p/d28ee2cfb1ee
https://www.cnblogs.com/zhangyongli2011/p/10572152.html]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值