阿里云服务器大降价20%,简单拥有五年三台2h4gECS,组建公网集群

要在阿里云ECS上组建集群,您可以按照以下步骤进行操作:

  1. 创建ECS实例:登录阿里云控制台,选择ECS实例,点击“创建实例”按钮。根据实际需求选择实例的配置参数,例如实例规格、操作系统、网络等。根据需要选择购买数量。

  2. 配置实例网络:在实例创建过程中,选择合适的网络类型,例如VPC或经典网络。配置合适的VPC网络和子网,以及安全组。

  3. 安装软件:登陆ECS实例后,在实例上安装所需的软件,例如Hadoop、Kubernetes等。根据实际需求进行配置和调整。

  4. 配置节点:在集群中的每个ECS实例上进行相应的配置操作,例如将某个ECS实例标记为master节点,其他ECS实例标记为worker节点。

  5. 节点互通:配置ECS实例之间的网络互通,确保集群内各个节点能够相互通信。

  6. 配置负载均衡(可选):如果需要对集群进行负载均衡,可以在阿里云控制台配置负载均衡服务,并将集群中的节点添加到负载均衡服务中。

  7. 测试集群:通过测试集群的各项功能和性能,确保集群正常运行。

以上是基本的步骤,您可以根据自己的需求和具体的集群类型进行扩展和调整。一旦集群建立成功,您可以根据实际业务需求对集群进行相应的管理和维护操作。

搭建过程:

1. 获取linux环境

  •   本次租用了阿里云服务器(ContOS7.4)

2. 访问服务器

  •   在租用之后可以通过阿里云的管理控制台点击远程连接直接使用,在此之前需要设置好服务器的访问密码等等。
  •    除了直接通过阿里云提供的浏览器方式访问,我选择使用XShell工具对服务器进行操作,好处是可以直接通过Xttp上传文件。

3 .配置JDK环境

 - JDK(JDK1.8.0_linux)

   关于JDK直接在官网或者浏览器中可以找到相关的下载,由于是linux系统,那么安装肯定与windows安装方式不同。

   1、上传下载好的压缩包到服务器中,我选择的路径是/opt/software存放安装压缩包

/opt/module存放软件路径,目的是为了方便管理。

   2、使用tar命令解压压缩包,tar-zxvf xxx.tar -C /opt/module/

   3、配置JDK环境变量

指令:vim /etc/profile

打开文件,在文件最下方添加环境变量,保存退出(!wq)

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin
# 注:本段不是xml文件,只是为了展示

3、加载文件 source /etc/profile

输入java -version 检查是否配置加载成功

image.png

4. 配置Hadoop

  1、同JDK一样,下载文件,上传到服务器中解压

  2、配置环境变量

同JDK一样配置 /etc/profile

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

3、配置Hadoop

  • 进入Hadoop解压后的文件路径下进入 配置文件路径  /hadoop/etc/hadoop/
  • vim hadoop-env.sh   配置JDK
# The java implementation to use.
export JAVA_HOME=/opt/module/jdk1.8.0_171
  • vim core-site.xml 配置
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property><name>fs.defaultFS</name><value>hdfs://notting:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-2.6.5/data/tmp</value>
</property></configuration>
  • vim hdfs-site.xml  配置副本数量、主节点地址
<configuration>
<!-- 指定HDFS副本的数量 -->
<property><name>dfs.replication</name><value>3</value>
</property>
<property><name>dfs.namenode.secondary.http-address</name><value>aliyun101:50080</value>
</property><!-- 如果是通过公网IP访问阿里云上内网搭建的集群 -->
<property><name>dfs.client.use.datanode.hostname</name>  <value>true</value><description>only cofig in clients</description>
</property> 
<property><name>dfs.hosts.exclude</name><value>/opt/module/hadoop2.6.5/conf/exclude</value><description>拒绝加入集群的节点列表</description>
</property>
</configuration>
  • vim yarn-env.sh    配置JDK
# some Java parameters
export JAVA_HOME=/opt/module/jdk1.8.0_171
  • vim yarn-site.xml 配置yran资源调度器
<configuration>
<!-- Reducer获取数据的方式 -->
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property><!-- 指定YARN的ResourceManager的地址 -->
<property><name>yarn.resourcemanager.hostname</name><value>aliyun101</value>
</property>
</configuration>
#此处的aliyun101是我自己电脑的vm的虚拟机
  • (对mapred-site.xml.template重新命名为) mapred-site.xml
    • mv mapred-site.xml.template mapred-site.xml
    • vim mapred-site.xml
<configuration>
<!-- 指定MR运行在YARN上 -->
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>
</configuration>     
  • 执行格式化,hdfs namenode -format

执行完成之后,集群就可以通过命令的方式启动,不能随便进行多次格式化,可能导致节点的启动失败

重复以上步骤,在vm虚拟机中也配置一台这样的环境,到这里,集群就算是简单搭建完成。下面对集群进行启动和访问

输入集群启动命令:sbin/start-dfs.sh

启动Yarn:sbin/start-yarn.sh

输入JPS查看进程是否启动:

image.png

此时未启动aliyun101节点

进入ip:50070查看集群状态

image.png

自此。一个简单的单节点就完成了(实际上还有两台虚拟机未启动,单配置相同,在启动之后,可以在网页上查看到节点状态才算基本完成)

总结

虽然集群的简单搭建算是勉强完成,但是在实际的情况中还有以下问题未解决

集群服务器获取地址 

中小企业扶持权益为初创企业提供云资源和技术服务,助力初创企业开启智能时代创业新范式icon-default.png?t=N7T8https://t.aliyun.com/U/0CCCu1

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

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

相关文章

如何使用视频号下载提取器提取视频,推荐2种方法使用!

视频号下载提取视频号视频&#xff0c;推荐大家2个方法&#xff01; 前者简单&#xff0c;后者较为复杂&#xff0c;不过都可以提取视频号视频&#xff0c;大家可根据实际情况来使用。 01 视频号下载工具提取器&#xff1f; 1&#xff1a;通过搜一搜的这款搜索引擎找到自己…

【InternLM 实战营笔记】大模型评测

随着人工智能技术的快速发展&#xff0c; 大规模预训练自然语言模型成为了研究热点和关注焦点。OpenAI于2018年提出了第一代GPT模型&#xff0c;开辟了自然语言模型生成式预训练的路线。沿着这条路线&#xff0c;随后又陆续发布了GPT-2和GPT-3模型。与此同时&#xff0c;谷歌也…

【Go语言】Go语言中的数组

Go语言中的数组 1 数组的初始化和定义 在 Go 语言中&#xff0c;数组是固定长度的、同一类型的数据集合。数组中包含的每个数据项被称为数组元素&#xff0c;一个数组包含的元素个数被称为数组的长度。 在 Go 语言中&#xff0c;你可以通过 [] 来标识数组类型&#xff0c;但…

Docker知识基础

目录 为什么要用到容器&#xff1f; docker是什么&#xff1f; 容器与虚拟机的区别&#xff1f; docker的三个核心概念&#xff1a; docker容器操作 docker网络模式 bridge host container none 自定义网络 CPU限制 内存限制 磁盘IO限制 …

嵌入式学习-qt-Day4

嵌入式学习-qt-Day4 一、思维导图 二、作业 1.设计一个界面&#xff1a;显示系统时间&#xff1b;可以设置闹钟&#xff0c;在设置的时间到达后&#xff0c;显示五次字符串&#xff0c;并且语音播报。 Wight.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget>…

为什么useState在setValue调用后,获取值是上一次的值?

背景 在工作中&#xff0c;发现select的change事件处理完成后&#xff0c;在使用数据时&#xff0c;发现获取的数据是上一次变更的数据。 原因 当useState钩子调用后获取的值仍然是上一次的值&#xff0c;而不是最新更新的值&#xff0c;这通常是因为状态更新在React中是异步…

《Vite 基础知识》Vitepress 技术文档站点搭建与配置

前言 简介 VitePress 是一个静态站点生成器 (SSG)&#xff0c;专为构建快速、以内容为中心的站点而设计。 简而言之&#xff0c;可构建你自己的 技术文档站点&#xff1b; 环境要求 Node.js 18 及以上版本。我使用 v20.11.0 创建 第一步&#xff1a; 全局安装 npm i vitep…

乘积尾零(蓝桥杯)

文章目录 乘积尾零题目描述代码 乘积尾零 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 如下的 10 行数据&#xff0c;每行有 10 个整数&#xff0c;请你求出它们的乘积的末尾有多少个零&#xff1f; 5650 454…

gdb调试技巧

gdb调试教程 前言gdb的调试命令显示需要调试的代码&#xff1a;l&#xff08; list &#xff09;启动调试&#xff1a;r (run)断点&#xff1a;b&#xff08;Breakpoint&#xff09;设置断点查看断点&#xff1a;info b删除断点&#xff1a;d打开断点 / 关闭断点 逐语句进行调试…

node 之 http模块

1.什么是http模块 在网络节点中&#xff0c;负责消费资源的电脑叫做客户端&#xff1b;负责对外提供网络资源的电脑&#xff0c;叫做服务器 http模块是node.js官方提供的&#xff0c;用来创建web服务器的模块&#xff0c;通过http模块提供的http.createServer()方法&#xff0c…

力扣哈希表篇

以下解题思路来自代码随想录以及力扣官方 文章目录 242.有效的字母异位词349.两个数组的交集202.快乐数1.两数之和15.三数之和 242.有效的字母异位词 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是s 的字母异位词。 输入: s "anagram", t &qu…

数仓开发环境链接

这里写目录标题 1开发工具链接大数据组件1.1 启动hiveserver21.2配置DataGrip连接1.3测试使用 2 环境问题排查思路 1开发工具链接大数据组件 1.1 启动hiveserver2 数仓开发工具datagrip 需要用到JDBC协议链接到Hive&#xff0c;需要启动hiveserver2。 cd /opt/module/hive h…

Vue项目中,src目录下的vue.app文件介绍

在 Vue 项目中&#xff0c;src 文件夹通常包含了项目的核心代码。在这个文件夹下&#xff0c;App.vue 是一个特殊的文件&#xff0c;它代表了整个 Vue 应用的根组件。 App.vue 是一个单文件组件&#xff08;Single File Component, 简称 SFC&#xff09;&#xff0c;它允许你将…

c语言day4 运算符 表达式 三大控制结构

1&#xff1a; 2&#xff1a; 输入一个年月日 计算这是这一年的第几天 17 int year,month,day;18 printf("请输入年份 月份 日期");19 scanf("%d %d %d",&year,&month,&day);20 int feb28;21 if(year%40&&year%1…

周鸿祎首堂免费课与千万网友分享“AGI趋势”

“我讲课不割韭菜&#xff0c;宗旨是免费、分享、科普、交流。AI时代技术发展迅速&#xff0c;AI知识普及尤为重要。”2月29日&#xff0c;360公司创始人周鸿祎免费课正式开启&#xff0c;全网多平台直播了AI系列第一讲“预见AGI”&#xff0c;千万网友观看。免费课上&#xff…

BUUCTF crypto做题记录(11)新手向

一、[HDCTF2019]bbbbbbrsa 题目所给的信息我汇总到以下代码中 from base64 import b64encode as b32encode from gmpy2 import invert,gcd,iroot from Crypto.Util.number import * from binascii import a2b_hex,b2a_hex import randomflag "************************…

[Flutter]倒计时和计时器

1.延迟执行 Future.delayed 使用Future.delayed可以在延迟一定时间后执行代码。这是实现延迟执行最简单的方式之一。 Future.delayed(Duration(seconds: 1), () {// 这里的代码会在1秒后执行print(This message is displayed after 1 second.); }); Timer Timer类提供了更…

20240227-Python Tkinter学习笔记

文章目录 Label标签Label标签和Button按钮Listbox列表Radiobutton单选按钮Scale滑动条Checkbutton多选框Canvas画布Menubar 菜单Frame框架Messagebox弹窗pack/grid/place 布局方式登录注册案例 Label标签 import tkinter as tk # 导入tkinter模块&#xff0c;并简写为tk# 创建…

mysql数据库安装与使用(一)

目录 前言 一&#xff0c;安装mysql数据库 二&#xff0c;mysql数据库使用 连接mysql数据库 创建数据库 创建表格 插入数据 查询数据 更新数据 删除数据 关闭连接 使用数据库 查看所有数据库 查看数据库中的表 三&#xff0c;mysql设置 创建用户 授予权限 刷新权…

全量知识系统问题及SmartChat给出的答复 之3

Q8. 进一步&#xff0c;请展示如何使用这些技术来衡量、评估或适应不可避免的不匹配的知识汤问题的更进一步的全面代码。 为了处理不可避免的不匹配的知识汤问题&#xff0c;我们可以引入一些技术方法来衡量、评估或适应这种情况。 下是一个更进一步的全面代码示例&#xff0…