Hadoop集群安装配置,spark集群安装配置

news2024/12/25 13:08:27

前提:准备3台linux服务器,并保证其网络可进行相互通信

假设三台机器IP分别为:
192.168.88.101
192.168.88.102
192.168.88.103

一.配置三台服务器之间SSH免密登录,关闭防火墙,时间同步

三台服务器均执行以下1,2,3,4,5,6,8命令

1.创建用户test 密码test(安全起见,建议不适用root用户免密登录)

adduser test
passwd test

2.切换test用户

su test

3.编辑主机名 – 分别设置对应的主机名例如:node1,node2,node3

vi /etc/hostname

4.配置主机及域名对应关系

vi /etc/hosts
IP  主机名
例如:
192.168.88.101   node1
192.168.88.102   node2
192.168.88.103   node3
  1. 执行以下命令,然后连续点三下回车生成SSH密匙对,创建公钥和私钥。
ssh-keygen -t rsa -b 4096
ssh-copy-id  node1
ssh-copy-id  node2
ssh-copy-id  node3

6.关闭防火墙

查看防火墙状态,如果为启动running,则进行关闭

systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld   //关闭开机自启动

7.这时,就可使用test用户进行三台机器免密登录了

例如:192.168.88.101 这台机器执行

ssh node2

就可登录成功,无需输入密码。

8.修改时区并配置自动时间同步

yum install -y ntp  // 安装ntp软件
rm -f /etc/localtime;sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime //更新时区
ntpdate -u ntp.aliyun.com  //同步时间
systemctl start ntpd  //启动ntp自动同步服务
systemctl enable ntpd //设置开启自启动

二.安装JDK

1.执行以下命令,下载JDK1.8安装包。

wget --no-check-certificate https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz

2.执行以下命令,解压下载的JDK1.8安装包。

tar -zxvf jdk-8u151-linux-x64.tar.gz

3.移动并重命名JDK包。

mv jdk1.8.0_151/ /usr/java8

4.配置Java环境变量。

echo 'export JAVA_HOME=/usr/java8' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

5.查看Java是否成功安装。

java -version

三.安装Hadoop

注:下载Hadoop安装包可以选择华为源(速度中等,可以接受,重点是版本全)、清华源(3.0.0以上版本下载速度太慢,版本也少)、北京外国语大学源(下载速度特快,但是版本比较少)——本人亲测

  1. 执行以下命令,下载Hadoop安装包。
wget --no-check-certificate https://repo.huaweicloud.com/apache/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
  1. 执行以下命令,解压Hadoop安装包至/opt/hadoop。
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/
mv /opt/hadoop-3.1.3 /opt/hadoop
  1. 执行以下命令,配置Hadoop环境变量。
echo 'export HADOOP_HOME=/opt/hadoop/' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile
source /etc/profile    
  1. 执行以下命令,修改配置文件yarn-env.sh和hadoop-env.sh。
echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/yarn-env.sh
echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/hadoop-env.sh
  1. 执行以下命令,测试Hadoop是否安装成功。
hadoop version

如果返回版本信息,则表示安装成功。

四.配置Hadoop

  1. 打开hadoop安装路径下的/etc/hadoop文件夹下相关配置文件

     workers  -- 配置从节点(DataNode)有哪些
     hadoop-env.sh  -- 配置hadoop的相关环境变量
     core-site.xml  -- hadoop核心配置文件
     hdfs-site.xml  -- HDFS核心配置文件
    
vim workers

在这里插入图片描述

 vim hadoop-env.sh

在这里插入图片描述

  1. 修改Hadoop配置文件 core-site.xml。
vim /opt/hadoop/etc/hadoop/core-site.xml

在节点内插入如下内容。

 	<property>
        <name>hadoop.tmp.dir</name>
        <value>file:/opt/hadoop/tmp</value>
        <description>location to store temporary files</description>
    </property>
    <property>
        <name>fs.defaultFS</name> 
        <value>hdfs://node1:8020</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
1.fs.defaultFS -- HDFS文件系统的网络通信路径
2.hdfs://node1:8020为整个HDFS内部的通讯地址,应用协议为hdfs://(Hadoop内置协议)
3.表明Datanode将和node1的8020端口通讯,node1是namenode所在机器
4.此配置固定了node1必须启动namenode进程
  1. 修改Hadoop配置文件 hdfs-site.xml。
    a. 执行以下命令开始进入编辑页面。
vim /opt/hadoop/etc/hadoop/hdfs-site.xml
<property>
	<name>dfs.datanode.data.dir.perm</name>
	<value>700</value>               
</property>
<property>
	<name>dfs.namenode.name.dir</name>
	<value>/data/nn</value>
</property>
<property>
	<name>dfs.namenode.hosts</name>
	<value>node1,node2,node3</value>
</property>
<property>
	<name>dfs.blocks</name>
	<value>268435456</value>
</property>
<property>
	<name>dfs.namenode.hadler.count</name>
	<value>100</value>
</property>
<property>
	<name>dfs.datanode.data.dir</name>
	<value>/data/dn</value>
</property>
    
vi /etc/profile

然后向里面加入如下的内容

export HDFS_NAMENODE_USER=test
export HDFS_DATANODE_USER=test
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=test

输入如下命令使改动生效

source /etc/profile

五:启动Hadoop

  1. 执行以下命令,初始化hadoop – namenode 。
hadoop namenode -format
  1. 依次执行以下命令,启动Hadoop集群。
start-dfs.sh

关闭集群

stop-dfs.sh

在这里插入图片描述

  1. 启动成功后,执行以下命令,查看已成功启动的进程。
jps

node1:在这里插入图片描述
node2:
在这里插入图片描述
node3:
在这里插入图片描述

4.WEBUI查看hdfs文件系统的管理网页
http://node1:9870

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1996144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ primer plus 第17 章 输入、输出和文件:文件输入和输出03:文件模式:二进制文件

系列文章目录 17.4.5 文件模式 程序清单17.18 append.cpp 程序清单17.19 binary.cpp 文章目录 系列文章目录17.4.5 文件模式程序清单17.18 append.cpp程序清单17.19 binary.cpp17.4.5 文件模式1.追加文件来看一个在文件尾追加数据的程序。程序清单17.18 append.cpp2.二进制文…

05_ Electron 自定义菜单、主进程与渲染进程通信

Electron 自定义菜单、主进程与渲染进程通信 一、定义顶部菜单二、Electron 自定义右键菜单1、使用 electron/remote 模块实现 三、 Electron 主进程和渲染进程通信场景1&#xff1a;渲染进程给主进程发送异步消息场景2&#xff1a;渲染进程给主进程发送异步消息&#xff0c;主…

Vue3使用ECharts的自定义堆叠条形图(纵向)

先上效果图 展示区域 <div id"main" style"height: 300px; width: 100%"></div> 配置信息 每个种类的data数组是number数组&#xff0c;这里我使用的变量是从接口返回的数据&#xff0c;为了方便理解&#xff0c;年度考核的绿色种类&#x…

AT32F421驱动BLDC 配合上位机控制与调参

AT32F421驱动BLDC 配合上位机控制与调参 &#x1f527;AT32 电机控制与调参上位机软件&#xff1a;ArteryMotorMonitor&#xff1a;https://www.arterytek.com/cn/support/motor_control.jsp?index0&#x1f33f;测试电机参数&#xff1a;2204-12N14P&#xff0c;无感BLDC&…

Summer School science communication project--Laptop Selection Suggestion

目录 Introduction Audiance Usage CPU What is a central processing unit (CPU) Notable makers of CPUs GPU Graphics Card: GPU The classifications of graphics cards The brands of graphics cards Dedicated Graphics Cards GeForce MX Series: GeForc…

渠道刷量怎么办?Xinstall来帮你一键识破!

在App推广的道路上&#xff0c;数据是我们最得力的助手&#xff0c;也是我们最头疼的难题。每日下载量、安装量、注册量……这些看似简单的数字&#xff0c;背后却隐藏着无数的故事。哪个渠道在默默发力&#xff1f;哪个渠道又在浑水摸鱼&#xff1f;这一切&#xff0c;都需要我…

【生信入门linux篇】如何安装一个linux虚拟机用于学习

一.虚拟机 虚拟机&#xff08;Virtual Machine&#xff0c;简称VM&#xff09;是一种软件实现的计算机系统&#xff0c;它能够在物理计算机上模拟出多个独立的计算机环境。每个虚拟机都可以运行自己的操作系统和应用程序&#xff0c;就像在独立的物理计算机上一样。虚拟机技术…

(十)Dockerfile详解及使用教程

一、Dockerfile是什么 1、简介 Dockerfile是用来构建Docker镜像的文本文件&#xff0c;是由一条条构建镜像所需的指令和参数构成的脚本 官网地址&#xff1a;https://docs.docker.com/engine/reference/builder/ 构建步骤 编写Dockerfile文件docker build命令构建镜像docke…

基于Java+SpringBoot+Vue前后端分离药店/药品/药品采购/药品销售管理系统设计与实现(有视频讲解)

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

数据结构总体概述

参考&#xff1a; 【王道考研】王道数据结构与算法详细笔记&#xff08;全&#xff09;_王道数据结构笔记-CSDN博客 数据结构的三要素 一、数据的逻辑结构 逻辑结构是指数据元素之间的逻辑关系&#xff0c;即从逻辑关系上描述数据。 逻辑结构包括&#xff1a; 集合结构&#xf…

【数据结构】—— 内部排序算法详解

1、前言2、常见排序算法3、排序算法实现3.1 直接插入排序3.2 希尔排序3.3 选择排序3.4 堆排序3.5 冒泡排序3.6 快速排序3.6.1 单趟排序hoare法挖坑法双指针法 3.6.2 非递归实现3.6.3 常见问题基准值的选取小区间优化 3.7 归并排序3.7.1 递归实现3.7.2 非递归实现 3.8 计数排序 …

SAM2分割模型微调指南

SAM2&#xff08;Segment Anything 2&#xff09;是 Meta 推出的一款新模型&#xff0c;旨在对图像中的任何内容进行分割&#xff0c;而不局限于特定的类别或领域。该模型的独特之处在于其训练数据规模&#xff1a;1100 万张图像和 110 亿个掩码。这种广泛的训练使 SAM2 成为训…

AI大语言模型对消防工程知多少?

在过去2年的时间里&#xff0c;大语言模型受到前所未有的关注。ChatGPT的出现更是让人工智能对话风靡一时。我们不再把搜索引擎当作求解问题的唯一途径&#xff0c;AI聊天成为了当前最受欢迎的问题求助工具。 让ChatGPT用通俗的语言解释什么是ChatGPT 什么是大语言模型&#x…

SD微调 dreambooth Lora controlNet 持续更新中

微调&#xff1a;步骤 1 选择预训练模型 如ResNet VGG 2 准备新的数据集 3 构建模型 4 冻结部分模型 5 定义损失函数和优化器 6 微调模型 7 评估模型 8 微调的策略 https://www.zhangzhenhu.com/aigc/dreamBooth.html dreambooth (fix the object, then generate the same obje…

Android Media Framework(十五)ACodec - Ⅲ

这一篇我们一起来了解ACodec的Buffer分配流程。 1、initiateStart 首先对上一篇内容做一点补充&#xff0c;configureCodec执行完成后组件的状态没有变化&#xff0c;仍处在OMX_StateLoaded。因此&#xff0c;当我们调用initiateStart时&#xff0c;发出的消息将由ACodec::Loa…

SVN使用教程 - 快速上手

参考视频&#xff1a; SVN使用教程 - 快速上手 一、SVN简介 1、SVN的功能 &#xff08;1&#xff09;SVN是一种代码版本管理工具&#xff0c;它能记住程序员每次修改的内容&#xff0c;可以查看所有的历史修改记录&#xff0c;可以将代码恢复到任何历史版本&#xff0c;可以恢…

【Mysql】第十一章 事务-重点(原子性+持久性+隔离性+一致性)

文章目录 一、概念1.查看事务支持版本-show engines2.事务提交方式-show variables like autocommit3.事务常见操作方式1.将mysql的默认隔离级别设置成读未提交&#xff0c;方便看到实验现象2.需要重启终端&#xff0c;进行查看隔离级别3.创建一个银行用户表4.演示 - 证明事务的…

【Transformer】关于RNN以及transformer的相关介绍

文章目录 RNNTransformer是干什么的&#xff1f;什么是 Word Embedding &#xff1f;什么是 Word2vec &#xff1f;CBOW(Continuous Bag-of-Words Model)Skip-gram(Continuous Skip-gram Model)Word2vec 的优缺点 Transformer整体架构注意力机制self-attention&#xff08;自注…

生成式人工智能助力6G核心技术

崔曙光 加拿大皇家科学院 加拿大工程院双院院士 主要工作&#xff1a;适配改造人工智能算法&#xff0c;来满足通信网络性能 从基础LLM到专用LLM&#xff1a;四个必须面对的问题 如何选择合适的基础LLM规模如何让基础LLM读懂专用领域信息如何避免基础LLM的幻觉现象&#xf…

第9天 xxl-job

使用xxl-job需要建表 引入依赖 添加配置 Bean public XxlJobSpringExecutor xxlJobExecutor() {logger.info(">>>>>>>>>>> xxl-job config init.");XxlJobSpringExecutor xxlJobSpringExecutor new XxlJobSpringExecutor();xxlJo…