分布式部署(JDK1.8+Hadoop3.2+Spark2.4+Ubuntu16.04)

2024-03-06 02:18

本文主要是介绍分布式部署(JDK1.8+Hadoop3.2+Spark2.4+Ubuntu16.04),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本次分布式Spark环境部署采用JDK1.8、Hadoop3.2、Spark2.4的套装,一个Master,两个Slaves

1. 修改hosts文件,设置Master、Slaves1、Slaves2节点的IP地址。

2. SSH免登录设置

    #ssh-keygen -t rsa

 一直回车,后将文件分别拷贝到Master,Slaves1,Slaves2中

 #ssh-copy-id Master#ssh-copy-id Slaves1#ssh-copy-id Slaves2

3. 安装JDK

 3.1 解压jdk安装包

   # tar -zvxf jdk-8u201-linux-x64.tar.gz

3.2 更改名字,并且发送到/usr/local目录下

  # mv jdk1.8.0_201 /usr/local/java

3.3 修改/etc/profile文件,添加jdk的环境变量

  # vim /etc/profile

  添加以下代码到底部

  #JAVAexport JAVA_HOME=/usr/local/javaexport PATH=$PATH:$JAVA_HOME/bin

 保存后退出,且应用

  #source /etc/profile

3.4 检查jdk 环境是否设置成功

  # java -version

4 . 安装Hadoop

4.1解压hadoop-3.2.0.tar.gz

  # tar -zvxf hadoop-3.2.0.tar.gz

4.2 更改名字,并且发送到/usr/local目录下

  # mv hadoop-3.2.0 /usr/local/hadoop

4.3 修改/etc/profile文件,添加jdk的环境变量

  # vim /etc/profile

  添加以下代码到底部

#HADOOP
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 保存后退出,且应用

  #source /etc/profile

4.4 检查hadoop 环境是否设置成功

  # hadoop version

5. 配置Hadoop

集群/分布式模式需要修改 /usr/local/hadoop/etc/hadoop 中的5个配置文件,更多设置项可点击查看官方说明,这里仅设置了正常启动所必须的设置项: workers、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 。

5.1 设置Workers

将Master、Slaves1、Slaves2设置进去
 

MasterSlaves1Slaves2

5.2 设置core-site.xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://Master:9000</value></property><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abase for other temporary directories.</description></property>
</configuration>

5.3 设置hdfs-site.xml

<configuration><property><name>dfs.namenode.secondary.http-address</name><value>Master:50090</value></property><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property>
</configuration>

5.4 设置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>

5.5 设置yarn-site.xml

<configuration><property><name>yarn.resourcemanager.hostname</name><value>Master</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
</configuration>

5.6 配置start-dfs.sh、start-yarn.sh、stop-dfs.sh、stop-yarn.sh

以上四个文件所在目录为/usr/local/hadoop/sbin

在start-dfs.sh、stop-dfs.sh开始第一行加上

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

在start-yarn.sh、stop-yarn.sh开始第一行加上

YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=yarn
YARN_NODEMANAGER_USER=root

配置好后,将 Master 上的 /usr/local/Hadoop 文件夹复制到各个Slaves节点上。

scp -r /usr/local/hadoop root@Slaves1:/usr/local
scp -r /usr/local/hadoop root@Slaves2:/usr/localscp /etc/profile root@Slaves1:/etc/    #copy配置文件到各个Slaves
scp /etc/profile root@Slaves2:/etc/

在各个Slaves上应用从Master复制过去的profile文件

source /etc/profile

5.6 检查Hadoop是否安装成功

hadoop version

           如图

6 安装Spark

 6.1 解压Spark安装包

   # tar -zvxf spark-2.4.1-bin-without-hadoop.tgz

6.2 更改名字,并且发送到/usr/local目录下

mv spark-2.4.1-bin-without-hadoop /usr/local/spark

6.3 配置spark-env.sh

文件存在的目录为/usr/local/spark/conf

#复制一份模板
cp spark-env.sh.template spark-env.sh

在spark-env.sh中加入以下代码

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

有了上面的配置信息以后,Spark就可以把数据存储到Hadoop分布式文件系统HDFS中,也可以从HDFS中读取数据。如果没有配置上面信息,Spark就只能读写本地数据,无法读写HDFS数据。
配置完成后就可以直接使用,不需要像Hadoop运行启动命令。

根据以上步骤即可完成整个Spark环境的安装部署

参考链接:

Hadoop2.6.0集群安装配置教程

http://dblab.xmu.edu.cn/blog/install-hadoop-cluster/

Spark2.1.0配置教程

http://dblab.xmu.edu.cn/blog/1307-2/

这篇关于分布式部署(JDK1.8+Hadoop3.2+Spark2.4+Ubuntu16.04)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/778562

相关文章

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

redis+lua实现分布式限流的示例

《redis+lua实现分布式限流的示例》本文主要介绍了redis+lua实现分布式限流的示例,可以实现复杂的限流逻辑,如滑动窗口限流,并且避免了多步操作导致的并发问题,具有一定的参考价值,感兴趣的可... 目录为什么使用Redis+Lua实现分布式限流使用ZSET也可以实现限流,为什么选择lua的方式实现

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2