Spark完全分布式搭建

Spark完全分布式搭建教程(Standalone:Master+Slave)

分析:
1.配置好IP
2.修改主机名
3.做好IP主机映射
4.关闭防火墙
5.配置SSH免密登入
6.安装Java
7.安装Hadoop(完全分布式)
8.安装scala
9.集群配置
软件提取链接:https://pan.baidu.com/s/1oxBcv6xRavVtxmBPzEWHuQ 提取码:1000

1.配置IP

Spark完全分布式搭建_第1张图片

[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改
ONBOOT=yes
BOOTPROTO=static
#添加,网关以当前实际网关为主
IPADDR=192.168.15.100
NETMASK=255.255.255.0
GATEWAY=192.168.15.2
DNS1=114.114.114.114
DNS2=192.168.15.2
[root@localhost ~]#ifconfig
slave1从节点配置IP
[root@localhost ~] # vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改
ONBOOT=yes
BOOTPROTO=static
#添加,网关以实际网关为主
IPADDR=192.168.15.102
NETMASK=255.255.255.0
GATEWAY=192.168.15.2
DNS1=114.114.114.114
DNS2=192.168.15.2
[root@localhost ~]#ifconfig
slave2从节点配置IP
[root@localhost ~] # vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改
ONBOOT=yes
BOOTPROTO=static
#添加,网关以实际网关为主
IPADDR=192.168.15.103
NETMASK=255.255.255.0
GATEWAY=192.168.15.2
DNS1=114.114.114.114
DNS2=192.168.15.2
[root@localhost ~]#ifconfig

Master节点:如果使用ifconfig命令能看到inet显示为192.168.17.100即IP配置成功。此处我使用的IP为104请以实际配置为主。
Spark完全分布式搭建_第2张图片

2.修改主机名

master主节点修改主机名
[root@localhost ~] # vim /etc/sysconfig/network
#删除原有内容,添加如下字段
HOSTNAME=master
[root@master ~] #hostname master
[root@master ~] #exit
slave1从节点修改主机名
[root@localhost ~] # vim /etc/sysconfig/network
#删除原有内容,添加如下字段
HOSTNAME=slave1
[root@master ~] #hostname slave1
[root@master ~] #exit
slave2从节点修改主机名
[root@localhost ~] # vim /etc/sysconfig/network
#删除原有内容,添加如下字段
HOSTNAME=slave2
[root@master ~] #hostname slave2
[root@master ~] #exit

3.IP映射

[root@master ~] #vim /etc/hosts
#添加
192.168.15.100 master
192.168.15.102 slave1
192.168.15.103 slave2
[root@slave1 ~] #vim /etc/hosts
#添加
192.168.15.100 master
192.168.15.102 slave1
192.168.15.103 slave2
[root@slave2 ~] #vim /etc/hosts
#添加
192.168.15.100 master
192.168.15.102 slave1
192.168.15.103 slave2

4.关闭防火墙

[root@master ~] #systemctl stop firewalld.service
[root@master ~] #systemctl disable firewalld.service
[root@slave1 ~] #systemctl stop firewalld.service
[root@slave1 ~] #systemctl disable firewalld.service
[root@slave2 ~] #systemctl stop firewalld.service
[root@slave2 ~] #systemctl disable firewalld.service

5.配置SSH免密登入

[root@master ~]#cd .ssh
如果显示没有就执行 mkdir .ssh再执行cd .ssh
[root@master .ssh] #ssh-keygen -t rsa
三下回车
[root@master .ssh] #ssh-copy-id master
输入yes,然后输入密码就完成了免密登入
[root@master .ssh] #ssh-copy-id slave1
输入yes,然后输入密码就完成了免密登入
[root@master .ssh] #ssh-copy-id slave2
输入yes,然后输入密码就完成了免密登入
[root@slave1~]#cd .ssh
如果显示没有就执行 mkdir .ssh再执行cd .ssh
[root@slave1 .ssh] #ssh-keygen -t rsa
三下回车
[root@slave1 .ssh] #ssh-copy-id master
输入yes,然后输入密码就完成了免密登入
[root@slave1 .ssh] #ssh-copy-id slave1
输入yes,然后输入密码就完成了免密登入
[root@slave1 .ssh] #ssh-copy-id slave2
输入yes,然后输入密码就完成了免密登入
[root@slave2~]#cd .ssh
如果显示没有就执行 mkdir .ssh再执行cd .ssh
[root@slave2 .ssh] #ssh-keygen -t rsa
三下回车
[root@slave2 .ssh] #ssh-copy-id master
输入yes,然后输入密码就完成了免密登入
[root@slave2 .ssh] #ssh-copy-id slave1
输入yes,然后输入密码就完成了免密登入
[root@slave2 .ssh] #ssh-copy-id slave2
输入yes,然后输入密码就完成了免密登入

6.安装Java

https://blog.csdn.net/qq_50835159/article/details/117632199?spm=1001.2014.3001.5501

7.安装Hadoop(完全分布式)

Hadoop集群架构图
Spark完全分布式搭建_第3张图片

master节点(Hadoop软件安装包统一发/opt/software)
[root@master software]#tar -zxvf hadoop-2.7.2.tar.gz -C /usr/local/
[root@master software]#cd /usr/local/hadoop-2.7.2
[root@master hadoop-2.7.2]#cd etc/hadoop
配置全局变量
[root@master hadoop]#vim /etc/profile
#将hadoop载入全局变量
export HADOOP_HOME=/usr/local/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
[root@master hadoop]#source /etc/profile
配置hadoop-env.sh
[root@master hadoop]#vim hadoop-env.sh
# 修改JAVA_HOME,引入JAVA变量 
export JAVA_HOME=/usr/local/jdk1.8.0_144
配置core-site.xml
[root@master hadoop]#vim core-site.xml


		fs.defaultFS
      	hdfs://master:9000




		hadoop.tmp.dir
		/usr/local/hadoop-2.7.2/data/tmp

配置hdfs-site.xml
[root@master hadoop]#vim hdfs-site.xml


		dfs.replication
		3




      dfs.namenode.secondary.http-address
      slave2:50090




    	dfs.namenode.name.dir
   		/usr/local/hadoop-2.7.2/data/tmp/dfs/name





		dfs.datanode.data.dir
		/usr/local/hadoop-2.7.2/data/tmp/dfs/data

配置yarn-env.sh
[root@master hadoop]#vim yarn-env.sh
#修改JAVA_HOME,引入JAVA变量
export JAVA_HOME=/usr/local/jdk1.8.0_144
配置yarn-site.xml
[root@master hadoop]#vim yarn-site.xml


		yarn.nodemanager.aux-services
		mapreduce_shuffle




		yarn.resourcemanager.hostname
		slave1

配置mapred-env.sh
[root@master hadoop]#vim mapred-env.sh
#修改JAVA_HOME,引入JAVA变量
export JAVA_HOME=/usr/local/jdk1.8.0_144
配置mapred-site.xml
[root@master hadoop]#cp mapred-site.xml.template mapred-site.xml
[root@master hadoop]#vim mapred-site.xml


		mapreduce.framework.name
		yarn

配置slaves,不能出现多余空行或者空格否则将会出错。
[root@master hadoop]#vim slaves
master
slave1
slave2
分发Hadoop
[root@master hadoop]#cd /usr/local
[root@master local]#scp -r /usr/local/hadoop-2.7.2 root@slave1:/usr/local/
[root@master local]#scp -r /usr/local/hadoop-2.7.2 root@slave2:/usr/local/
配置slave1节点hadoop全局环境变量
[root@slave1 ~]#vim /etc/profile
#将hadoop载入全局变量
export HADOOP_HOME=/usr/local/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
[root@slave1 ~]#source /etc/profile
配置slave2节点hadoop全局环境变量
[root@slave2 ~]#vim /etc/profile
#将hadoop载入全局变量
export HADOOP_HOME=/usr/local/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
[root@slave2 ~]#source /etc/profile
master节点:格式化Hadoop
[root@master local]#cd hadoop-2.7.2
[root@master hadoop-2.7.2]#hadoop namenode -format
启动Hadoop-dfs、Hadoop-yarn
[root@master hadoop-2.7.2]#start-all.sh
启动resourcemanager
[root@slave1 ~]#cd /usr/local/hadoop-2.7.2
[root@slave1 hadoop-2.7.2]#yarn-daemon.sh start resourcemanager
查看集群
[root@master ~]#jps
4166 NameNode
4482 Jps
4263 DataNode
4524 NodeManager

[root@slave1 ~]#jps
4389 ResourceManager
3218 DataNode
3288 Jps
3564 NodeManager

[root@slave2 ~]#jps
3221 DataNode
3283 SecondaryNameNode
3514 NodeManager
3364 Jps
关闭hadoop
[root@master ~]#stop-all.sh
[root@master ~]#jps
3288 Jps

[root@slave1 ~]#jps
3364 Jps

[root@slave2 ~]#jps
3543 Jps

8.安装Scala

https://blog.csdn.net/qq_50835159/article/details/117660529?spm=1001.2014.3001.5501

9.Spark完全分布式集群配置

Spark完全分布式搭建_第4张图片

master节点:(软件安装包统一发/opt/software)
[root@master software]#tar -zxvf spark-3.0.1-bin-hadoop2.7.tgz -C /usr/local/
配置Spark全局变量引入Spark
[root@master software]#vim /etc/profile
export SPARK_HOME=/usr/local/spark-3.0.1-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
export PATH=$SPARK_HOME/sbin:$PATH
[root@master software]#source /etc/profile
拷贝spark-env.sh.template为spark-env.sh
[root@master software]#cd /usr/local/spark-3.0.1-bin-hadoop2.7/conf
[root@ master conf]#cp spark-env.sh.template spark-env.sh
配置spark-env.sh
[root@ master conf]#vim spark-env.sh
#添加如下内容
#指定spark主节点,通过主机映射
export SPARK_MASTER_HOST=master
#指定主节点端口
export SPARK_MASTER_PORT=7077
#指定从节点worker并行数量
export SPARK_WORKER_CORES=1
#指定内存大小
export SPARK_WORKER_MEMORY=1G
#指定web访问端口
export SPARK_MASTER_WEBUI_PORT=8080
export SPARK_CONF_DIR=/usr/local/spark-3.0.1-bin-hadoop2.7/conf
export JAVA_HOME=/usr/local/jdk1.8.0_144
拷贝slaves.template为slaves
[root@ master conf]#cp slaves.template slaves
配置slave,不能出现空格空行。
[root@ master conf]#vim slaves
slave1
slave2
分发Spark
[root@ master conf]#cd /usr/local
[root@ master local]#scp -r /usr/local/spark-3.0.1-bin-hadoop2.7 root@slave1:/usr/local/
[root@ master local]#scp -r /usr/local/spark-3.0.1-bin-hadoop2.7 root@slave2:/usr/local/
配置slave1节点spark全局环境变量
[root@slave1 ~]#vim /etc/profile
export SPARK_HOME=/usr/local/spark-3.0.1-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
export PATH=$SPARK_HOME/sbin:$PATH
[root@slave1 ~]#source /etc/profile
配置slave2节点spark全局环境变量
[root@slave2 ~]#vim /etc/profile
export SPARK_HOME=/usr/local/spark-3.0.1-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
export PATH=$SPARK_HOME/sbin:$PATH
[root@slave2 ~]#source /etc/profile
启动spark在master节点启动
[root@master hadoop-2.7.2]#cd /usr/local/spark-3.0.1-bin-hadoop2.7/sbin/
[root@master sbin]#./start-all.sh
jps查看集群
[root@master sbin]#jps
9955 DataNode
10251 NodeManager
10941 Jps
9855 NameNode
10879 Master

[root@slave1 sbin]#jps
10563 Worker
9764 ResourceManager
9621 DataNode
10618 Jps
9870 NodeManager

[root@slave2 sbin]#jps
10223 Jps
10329 Worker
9739 SecondaryNameNode
9851 NodeManager
9662 DataNode

你可能感兴趣的:(大数据,spark,分布式)