分布式部署(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

相关文章

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

基于MongoDB实现文件的分布式存储

《基于MongoDB实现文件的分布式存储》分布式文件存储的方案有很多,今天分享一个基于mongodb数据库来实现文件的存储,mongodb支持分布式部署,以此来实现文件的分布式存储,需要的朋友可以参考... 目录一、引言二、GridFS 原理剖析三、Spring Boot 集成 GridFS3.1 添加依赖

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

Redis实现分布式锁全解析之从原理到实践过程

《Redis实现分布式锁全解析之从原理到实践过程》:本文主要介绍Redis实现分布式锁全解析之从原理到实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、背景介绍二、解决方案(一)使用 SETNX 命令(二)设置锁的过期时间(三)解决锁的误删问题(四)Re