SPARK集群搭建手册

SPARK集群搭建手册

0.写在前面的话

上学期上的课的大作业的产物。集群搭建基本是我一个人完成的,虽然因为各种因素,最后的成果很差,但也算是一段学习的经历,今天想起来放在这里记录一下。

1.集群设计

1.1 具体配置:阿里云云服务器ECS 五台
  • 实例:共享计算型 n4系列 III1核 2GB

  • I/O 优化实例:I/O 优化实例

  • 系统盘:高效云盘/dev/xvda40GB

  • 带宽:1Mbps按固定带宽

  • CPU:1核

  • 可用区:华北 2 可用区 E

  • 操作系统:Linux64位CentOS 7.3 64位

  • 内存:2GB

  • 地域:华北 2

  • 网络类型:专有网络

1.2 网络配置信息:
Hostname内网IP公网IP
cMaster172.17.233.247.94.4.243
cSlave0172.28.178.24
cSlave1172.29.104.76
cSlave2172.16.110.250
cSlave3172.17.126.146

2.集群搭建操作记录

2.1 ECS云企业网内网通信

cSlave在阿里云上对云企业网跨账号授权

cMaster创建云企业网实例,加载所有的cSlave

2.2 修改hostname,创建hosts映射
#修改hostname
vim /etc/hostname
#改为对应的hostname
#修改hosts映射
vim /etc/hosts
#具体修改内容见1.2
#删除原有内容,添加
内网IP1 Hostname1
内网IP2 Hostname2
…… ……

2.3 安装SPARK、HADOOP、JDK并配置环境
#使用xshell连接到远程服务器
#安装rz指令
yum -y install lrzsz
#使用rz指令从本地传输文件到远程主机(rz指令会将文件拷贝到当前目录下)

以下是可用的一个SPARK、JDK、HADOOP版本组合

链接:https://pan.baidu.com/s/14uRiyR7Lk7b8Q6-Wp1zioA
提取码:g2t6

安装JAVA
#安装JAVA环境
#解压JKD到/usr目录下
tar -zxvf jdk-8u261-linux-x64.tar.gz -C /usr
#配置环境变量
vim /etc/profile
#添加内容
export JAVA_HOME=/usr/jkd1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin
#装载环境变量
source ~/.bashrc
安装Hadoop
#安装Hadoop环境
#解压Hadoop到/usr路径下
tar -zxvf hadoop-3.2.1.tar.gz -C /usr
#配置环境变量
vim /etc/profile
#添加内容
export HADOOP_HOME=/usr/hadoop-3.2.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#装在环境变量
source ~/.bashrc

#Hadoop配置
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
#添加
export JAVA_HOME=/usr/jkd1.8.0_261

#仅cMaster
#修改workers文件
vim $HADOOP_HOME/etc/hadoop/workers
删除localhost,添加cSlave主机ID

#配置core-site.xml
vim $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
	<property>
        <name>fs.defaultFS</name>
        <value>hdfs://[cMaster]:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop</value>
    </property>
</configuration>

vim $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

vim $HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>[本机hostname]</value>
    </property>
</configuration>

#格式化,仅master运行
hdfs namenode -format

#master启动namenode
hdfs --daemon start namenode

#slave启动datanode
hdfs --daemon start datanode

#master启动resourcemanager
yarn --daemon start resourcemanager

#slave启动nodemanager
yarn --daemon start nodemanager
安装SPARK
#SPARK安装
#将SPARK解压至/usr
tar -zxvf spark-3.0.1-bin-hadoop3.2.tgz -C /usr

#启动master节点
/usr/spark-3.0.1-bin-hadoop3.2/sbin/start-master.sh

#启动worker节点
/usr/spark-3.0.1-bin-hadoop3.2/sbin/start-slave.sh spark://[cMasterIP地址,本语境中是172.17.233.2]:7077

#进入spark安装目录
cd /usr/spark-3.0.1-bin-hadoop3.2
#使得控制台只打印ERROR级的log
cp ./conf/log4j.properties.template ./conf/log4j.properties
vim ./conf/log4j.properties
将log4j.rootCategory=INFO, console改为log4j.rootCategory=ERROR, console

#安装目录下,尝试运行实例程序
./bin/run-example SparkPi
#结果是3.14……

3.验证

3.1 JPS
jps
#以slave为例
[root@cSlave0 /]# jps
5763 Jps
4855 DataNode
4410 Worker
3.2 HDFS状态
#查看hdfs状态
hdfs dfsadmin -report
Configured Capacity: 42139451392 (39.25 GB)
Present Capacity: 35620638720 (33.17 GB)
DFS Remaining: 35620585472 (33.17 GB)
DFS Used: 53248 (52 KB)
DFS Used%: 0.00%
Replicated Blocks:
	Under replicated blocks: 2
	Blocks with corrupt replicas: 0
	Missing blocks: 0
	Missing blocks (with replication factor 1): 0
	Low redundancy blocks with highest priority to recover: 2
	Pending deletion blocks: 0
Erasure Coded Block Groups: 
	Low redundancy block groups: 0
	Block groups with corrupt internal blocks: 0
	Missing block groups: 0
	Low redundancy blocks with highest priority to recover: 0
	Pending deletion blocks: 0

-------------------------------------------------
Live datanodes (1):

Name: 172.28.178.24:9866 (cSlave0)
Hostname: cSlave0
Decommission Status : Normal
Configured Capacity: 42139451392 (39.25 GB)
DFS Used: 53248 (52 KB)
Non DFS Used: 4354658304 (4.06 GB)
DFS Remaining: 35620585472 (33.17 GB)
DFS Used%: 0.00%
DFS Remaining%: 84.53%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Sun Oct 11 00:53:19 CST 2020
Last Block Report: Sun Oct 11 00:15:58 CST 2020
Num of Blocks: 2

3.3 hdfs上传文件和spark下载文件
#上传文件1.txt到hdfs根目录下
hdfs dfs -put /usr/1.txt /
2020-10-11 00:30:54,708 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false

#查看hdfs目录
hdfs dfs -ls /
Found 3 items
-rw-r--r--   3 root supergroup          9 2020-10-11 00:30 /1.txt
-rw-r--r--   3 root supergroup          9 2020-10-11 00:23 /data
drwxr-xr-x   - root supergroup          0 2020-10-11 00:29 /user
hdfs://cMaster:9000/
#使用spark-shell下载hdfs中的1.txt并打印其中内容
scala> sc.textFile("hdfs://cMaster:9000/1.txt")
res0: org.apache.spark.rdd.RDD[String] = hdfs://cMaster:9000/1.txt MapPartitionsRDD[1] at textFile at <console>:25
scala> res0.collect().foreach{println}
for test   
#验证成功!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值