百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

怎么安装大数据计算核心软件Hadoop?进行分布式计算和存储第一篇

nanshan 2024-10-16 10:51 15 浏览 0 评论

由于安装配置Hadoop牵涉的内容较多,我将Hadoop的安装配置拆成了3篇文章来讲述。

这是第一篇。



前期准备

由于大数据的安装和使用涉及的内容比较多,截止到这篇文章,我写的与大数据安装有关的文章已经超过10篇了,为了能把这个事情说清楚,不得不这么做。

在查看本文之前,一定要安装好CentOS Linux 8 并升级完内核和软件包,学会怎么使用SSH软件,学会怎么配置IP等操作,进行过集群规划和基础配置,安装并配置好时间同步chrony,安装并配置好Java开发工具包jdk,安装并配置好分布式环境的协调Zookeeper,安装并配置好文件分发软件Rsync,为了在测试时不去分心处理权限问题,还需要关闭SELinux并关闭防火墙Firewall(生产环境再打开)。

以上内容可以参考我发布过的以下文章:

1、知道Linux是怎么安装的吗?安装个CentOS Linux 8开始大数据开发

2、盘点两个经典Linux维护软件,详细讲讲SSH是个什么东西以及用法

3、Linux内核怎么升级?升级有什么好处?CentOS8升级内核并开启BBR

4、Linux怎么配置IP?CentOS8怎么重启网卡?配置/修改静态IP的方法

5、大数据开发前要做什么准备?8台Hadoop服务器进行集群规划前配置

6、如何保证大数据开发的服务器时间同步?chrony服务安装与配置

7、怎么在Linux上面安装jdk?大数据开发前必备软件在CentOS8上安装

8、大数据服务器之间是怎么配合的?分布式Zookeeper集群安装与配置

9、怎么把Linux 的文件快速传给10台服务器?文件分发软件的安装配置

10、Linux有防火墙和杀毒软件吗?怎么安装配置Firewall抵御网络攻击


集群规划

上面有篇文章进行了详细的集群规划的编写描述,这里简单叙述以下。

手里有一台Dell R620服务器,共有8块硬盘,通过VMware将虚拟机分布在这8块硬盘上,模拟8台服务器,模拟在一个机架上:

编号:/BJ0/LG0/hadoop221-228

221-222:NameNode,223-228:DataNode

集群规划如下:(服务器为hadoop221-hadoop228)

特别提示:

我们安装Hadoop的以下所有操作都可以先在一台服务器(Hadoop221)上操作,完毕以后再将这个虚拟服务器复制成出来7份,完成最终的部署。

也就是我们先完成Hadoop221的操作系统和软件的安装配置,然后复制出7份来。

下面正式开始。

相关软件的安装及配置

安装配置时间同步软件chrony

参考上述文章,并根据上面的集群规划,我们在221上安装chrony。配置时我们把服务端server配置成192.168.1.222,这样后面复制出来的其它服务器就能直接在222服务器上获取时间了。全部安装完毕,我们直接在hadoop222上面启动Chrony服务即可完成所有的时间配置。

防火墙和SELINUX设置

因为Hadoop需要开启的端口很多,而且牵涉到很多的权限,所以我们在测试时将防火墙和SELINUX都关掉。

在生产环境中,需要针对不同的开放端口做针对性的设置。

参考上述关于防火墙和SELINUX的文章,关闭防火墙且关闭SELinux,大致的内容摘取如下:

systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config

相关参数修改如下:

#SELINUX=enforcing

SELINUX=disabled

重启服务器,然后查看防火墙和SELinux状态:

reboot

查看SELinux的状态

/usr/sbin/sestatus -v

查看防火墙状态

systemctl status firewalld

显示如下内容,则说明SELINUX已经关闭了


hostname相关设置

参考上面的集群规划文章,进行hostname的配置,具体内容摘取如下:

运行下面的命令,修改本机的hostname:

hostnamectl set-hostname hadoop221

222-228服务器上的hostname修改,等服务器安装完毕以后统一操作(本文的底部有相关内容)

hosts相关设置

参考上面的集群规划文章,进行hosts的配置,具体内容摘取如下:

由于一次次的录入IP地址,不利于管理,我们在hosts里面把服务器的hostname跟IP地址对应起来,输入下面的命令开始操作:

vi /etc/hosts

内容设置成如下所示:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.221 hadoop221
192.168.1.222 hadoop222
192.168.1.223 hadoop223
192.168.1.224 hadoop224
192.168.1.225 hadoop225
192.168.1.226 hadoop226
192.168.1.227 hadoop227
192.168.1.228 hadoop228
192.168.1.229 hadoop229
192.168.1.230 hadoop230


添加Hadoop用户

我们默认登录的是Tristone用户,需要切换到root用户。

su

录入下述命令来添加hadoop用户:

useradd hadoop

录入一遍"jiqun996"回车,再录入一遍"jiqun996"回车后将hadoop用户密码设置为"jiqun996"

passwd hadoop


安装并配置jdk

参考上述jdk的安装配置文章,具体内容摘取如下:

从Oracle上下载jdk,尽量不要使用其他版本的jdk,容易出现一些奇怪的问题,比如:没有jps命令,自己都不知道哪里出问题了。把下载的"jdk-8u231-linux-x64.tar.gz"传到服务器上。进入服务器保存这个文件的目录以后进行如下操作(下面的命令都是以root的权限操作的):

建立java的工作目录(文件夹)

mkdir /usr/java

解压JDK

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

将JDK移动(剪切)到/usr/java/目录

mv jdk1.8.0_231/ /usr/java/

将JDK所有者设置为root

chown -R root:root /usr/java/jdk1.8.0_231/

设置JDK的软链接

ln -sf /usr/java/jdk1.8.0_231 /usr/local/jdk

修改全局环境变量:

vi /etc/profile

在文件底部添加以下内容:

export JAVA_HOME="/usr/local/jdk"

export PATH=$JAVA_HOME/bin:$PATH

加载新的全局环境变量:

source /etc/profile

运行jps命令,显示类似以下内容,就算安装jdk成功了

jps

安装并配置Zookeeper

参考上述Zookeeper的安装配置文章,具体内容摘取如下:

由于Zookeeper类似于民主选举,每台服务器分别投票共同选举一个作为leader,剩下的都是follower。基于这个原因,官方建议服务器集群设置为奇数台,偶数台的话会有一台的资源浪费。根据咱们的集群规划:226-228为我们的Zookeeper服务器。

因为Zookeeper需要一台一台的单独启动,所以咱们在hadoop221上配置好,到时候只在226-228上面启动即可。

下载Zookeeper(参考我写的相关文章)然后进行下列操作:

tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz
mkdir /home/hadoop/server
mkdir -p /home/hadoop/data/zkdata
mkdir -p /home/hadoop/log/zklog
mv apache-zookeeper-3.5.6-bin/ /home/hadoop/server/
ln -sf /home/hadoop/server/apache-zookeeper-3.5.6-bin/ /home/hadoop/zookeeper
chown -R hadoop:hadoop /home/hadoop/*
vi /etc/profile

文件底部添加以下内容:

export ZOOKEEPER_HOME="/home/hadoop/zookeeper"

export PATH=$ZOOKEEPER_HOME/bin:$PATH

执行下述命令加载全局环境变量,然后切换到hadoop用户开始操作:

source /etc/profile
su hadoop
cd /home/hadoop/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi /home/hadoop/zookeeper/conf/zoo.cfg

内容调整如下:

dataDir=/home/hadoop/data/zkdata
dataLogDir=/home/hadoop/log/zklog/
server.226=hadoop226:2888:3888
server.227=hadoop227:2888:3888
server.228=hadoop228:2888:3888

最后不要忘了在每个服务器"/home/hadoop/data/zkdata/"下新建文件"myid"并把当前服务器编号写进去,举例:

echo 221 > /home/hadoop/data/zkdata/myid

启动的事情,这里先不操作,后面到配置226-228的时候再启动。

注意:虽然我们在配置文件中写明了服务器的列表信息,但是,我们还是需要去每一台服务 器去启动,不是一键启动集群模式。


安装并配置Hadoop

先从国内的源服务器上找到hadoop的下载链接,并复制链接地址:

下载Hadoop

先用root权限操作:先用root权限操作:先用root权限操作:

重要的事情说三遍:

cd /home/hadoop/server
wget 粘贴刚才复制的URL地址

软件包有340多M,下载时别着急

tar -zxvf hadoop-3.2.1.tar.gz
ln -sf /home/hadoop/server/hadoop-3.2.1/ /home/hadoop/hadoop
chown -R hadoop:hadoop /home/hadoop/*

配置全局环境变量文件profile

vi /etc/profile

在文件尾部添加以下内容,用root用户操作

export HADOOP_HOME="/home/hadoop/hadoop"

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

加载全局变量:

source /etc/profile
echo $HADOOP_HOME

下面以hadoop用户操作:下面以hadoop用户操作:下面以hadoop用户操作

重要的事情说三遍:

执行以下命令,建立相关的目录

su hadoop
rm -rf /home/hadoop/hadoop/share/doc #删除文档,很大,又没用
mkdir -p /home/hadoop/data/dfs/data
mkdir /home/hadoop/data/dfs/name
mkdir /home/hadoop/data/dfs/tmp
mkdir /home/hadoop/data/journaldata
cd /home/hadoop/hadoop/etc/hadoop
vi /home/hadoop/hadoop/etc/hadoop/hadoop-env.sh

添加一行内容:

export JAVA_HOME="/usr/local/jdk"

修改配置文件core-site.xml

清空原来全部内容

echo > /home/hadoop/hadoop/etc/hadoop/core-site.xml
vi /home/hadoop/hadoop/etc/hadoop/core-site.xml

内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!-- 指定hdfs的nameservice为myha01 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://myha01/</value>

</property>

<!-- 指定hadoop临时目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/data/dfs/tmp</value>

</property>

<!-- 指定zookeeper地址 -->

<property>

<name>ha.zookeeper.quorum</name>

<value>hadoop226:2181,hadoop227:2181,hadoop228:2181</value>

</property>

<!-- hadoop链接zookeeper的超时时长设置 -->

<property>

<name>ha.zookeeper.session-timeout.ms</name>

<value>1000</value>

<description>ms</description>

</property>

<!-- 修改core-site.xml中的ipc参数,防止出现连接journalnode服务ConnectException -->

<property>

<name>ipc.client.connect.max.retries</name>

<value>100</value>

<description>Indicates the number of retries a client will make to establish a server connection.</description>

</property>

<property>

<name>ipc.client.connect.retry.interval</name>

<value>10000</value>

<description>Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.</description>

</property>

<property>

<name>topology.script.file.name</name>

<value>10000</value>

<description>Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.</description>

</property>

</configuration>

修改配置文件hdfs-site.xml

echo > /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml

内容如下

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!-- 指定副本数 -->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!-- 配置namenode和datanode的工作目录-数据存储目录 -->

<property>

<name>dfs.namenode.name.dir</name>

<value>/home/hadoop/data/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/hadoop/data/dfs/data</value>

</property>

<!-- 启用webhdfs -->

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

<!--指定hdfs的nameservice为myha01,需要和core-site.xml中的保持一致

dfs.ha.namenodes.[nameservice id]为在nameservice中的每一个NameNode设置唯一标示符。

配置一个逗号分隔的NameNode ID列表。这将是被DataNode识别为所有的NameNode。

例如,如果使用"myha01"作为nameservice ID,并且使用"nn1"和"nn2"作为NameNodes标示符

-->

<property>

<name>dfs.nameservices</name>

<value>myha01</value>

</property>

<!-- myha01下面有两个NameNode,分别是nn1,nn2 -->

<property>

<name>dfs.ha.namenodes.myha01</name>

<value>nn1,nn2</value>

</property>

<!-- nn1的RPC通信地址 -->

<property>

<name>dfs.namenode.rpc-address.myha01.nn1</name>

<value>hadoop221:9000</value>

</property>

<!-- nn1的web通信地址 -->

<property>

<name>dfs.namenode.http-address.myha01.nn1</name>

<value>hadoop221:50070</value>

</property>

<!-- nn2的RPC通信地址 -->

<property>

<name>dfs.namenode.rpc-address.myha01.nn2</name>

<value>hadoop222:9000</value>

</property>

<!-- nn2的web通信地址 -->

<property>

<name>dfs.namenode.http-address.myha01.nn2</name>

<value>hadoop222:50070</value>

</property>

<!-- 指定NameNode的edits元数据的共享存储位置。也就是JournalNode列表

该url的配置格式:qjournal : / / host1:port1;host2:port2;host3:port3/journalId

journalId推荐使用nameservice,默认端口号是:8485 -->

<property>

<name>dfs.namenode.shared.edits.dir</name>

<value>qjournal://hadoop223:8485;hadoop224:8485;hadoop225:8485/myha01</value>

</property>

<!-- 指定JournalNode在本地磁盘存放数据的位置 -->

<property>

<name>dfs.journalnode.edits.dir</name>

<value>/home/hadoop/data/journaldata</value>

</property>

<!-- 开启NameNode失败自动切换 -->

<property>

<name>dfs.ha.automatic-failover.enabled</name>

<value>true</value>

</property>

<!-- 配置失败自动切换实现方式 -->

<property>

<name>dfs.client.failover.proxy.provider.myha01</name>

<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

</property>

<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行 -->

<property>

<name>dfs.ha.fencing.methods</name>

<value>sshfence

shell(/bin/true)</value>

</property>

<!-- 使用sshfence隔离机制时需要ssh免登陆 -->

<property>

<name>dfs.ha.fencing.ssh.private-key-files</name>

<value>/home/hadoop/.ssh/id_rsa</value>

</property>

<!-- 配置sshfence隔离机制超时时间 -->

<property>

<name>dfs.ha.fencing.ssh.connect-timeout</name>

<value>30000</value>

</property>

<property>

<name>ha.failover-controller.cli-check.rpc-timeout.ms</name>

<value>60000</value>

</property>

</configuration>

修改配置文件mapred-site.xml

echo > /home/hadoop/hadoop/etc/hadoop/mapred-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/mapred-site.xml

全部内容如下:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!-- 指定mr框架为yarn方式 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>


<!-- 指定mapreduce jobhistory地址 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>hadoop222:10020</value>

</property>


<!-- 任务历史服务器的web地址 -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>hadoop222:19888</value>

</property>

<property>

<name>mapreduce.application.classpath</name>

<value>/home/hadoop/hadoop/etc/hadoop:/home/hadoop/hadoop/share/hadoop/common/lib/*:/home/hadoop/hadoop/share/hadoop/common/*:/home/hadoop/hadoop/share/hadoop/hdfs:/home/hadoop/hadoop/share/hadoop/hdfs/lib/*:/home/hadoop/hadoop/share/hadoop/hdfs/*:/home/hadoop/hadoop/share/hadoop/mapreduce/lib/*:/home/hadoop/hadoop/share/hadoop/mapreduce/*:/home/hadoop/hadoop/share/hadoop/yarn:/home/hadoop/hadoop/share/hadoop/yarn/lib/*:/home/hadoop/hadoop/share/hadoop/yarn/*</value>

</property>

</configuration>

修改配置文件yarn-site.xml

echo > /home/hadoop/hadoop/etc/hadoop/yarn-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/yarn-site.xml

内容如下:

<?xml version="1.0"?>

<configuration>

<!-- 开启RM高可用 -->

<property>

<name>yarn.resourcemanager.ha.enabled</name>

<value>true</value>

</property>


<!-- 指定RM的cluster id -->

<property>

<name>yarn.resourcemanager.cluster-id</name>

<value>yrc</value>

</property>


<!-- 指定RM的名字 -->

<property>

<name>yarn.resourcemanager.ha.rm-ids</name>

<value>rm1,rm2</value>

</property>


<!-- 分别指定RM的地址 -->

<property>

<name>yarn.resourcemanager.hostname.rm1</name>

<value>hadoop226</value>

</property>


<property>

<name>yarn.resourcemanager.hostname.rm2</name>

<value>hadoop227</value>

</property>


<!-- 指定zk集群地址 -->

<property>

<name>yarn.resourcemanager.zk-address</name>

<value>hadoop226:2181,hadoop227:2181,hadoop228:2181</value>

</property>


<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>


<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>


<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>86400</value>

</property>


<!-- 启用自动恢复 -->

<property>

<name>yarn.resourcemanager.recovery.enabled</name>

<value>true</value>

</property>


<!-- 制定resourcemanager的状态信息存储在zookeeper集群上 -->

<property>

<name>yarn.resourcemanager.store.class</name>

<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>

</property>

<property>

<name>yarn.application.classpath</name>

<value> /home/hadoop/hadoop/etc/hadoop:/home/hadoop/hadoop/share/hadoop/common/lib/*:/home/hadoop/hadoop/share/hadoop/common/*:/home/hadoop/hadoop/share/hadoop/hdfs:/home/hadoop/hadoop/share/hadoop/hdfs/lib/*:/home/hadoop/hadoop/share/hadoop/hdfs/*:/home/hadoop/hadoop/share/hadoop/mapreduce/lib/*:/home/hadoop/hadoop/share/hadoop/mapreduce/*:/home/hadoop/hadoop/share/hadoop/yarn:/home/hadoop/hadoop/share/hadoop/yarn/lib/*:/home/hadoop/hadoop/share/hadoop/yarn/*</value>

</property>

<property>

<!-- 客户端通过该地址向RM提交对应用程序操作 -->

<name>yarn.resourcemanager.address.rm1</name>

<value>hadoop226:8032</value>

</property>

<property>

<!--ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。 -->

<name>yarn.resourcemanager.scheduler.address.rm1</name>

<value>hadoop226:8030</value>

</property>

<property>

<!-- RM WEB访问地址,查看集群信息-->

<name>yarn.resourcemanager.webapp.address.rm1</name>

<value>hadoop226:8088</value>

</property>

<property>

<!-- NodeManager通过该地址交换信息 -->

<name>yarn.resourcemanager.resource-tracker.address.rm1</name>

<value>hadoop226:8031</value>

</property>

<property>

<!--管理员通过该地址向RM发送管理命令 -->

<name>yarn.resourcemanager.admin.address.rm1</name>

<value>hadoop226:8033</value>

</property>

<property>

<name>yarn.resourcemanager.ha.admin.address.rm1</name>

<value>hadoop226:23142</value>

</property>

<property>

<name>yarn.resourcemanager.address.rm2</name>

<value>hadoop227:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address.rm2</name>

<value>hadoop227:8030</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address.rm2</name>

<value>hadoop227:8088</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address.rm2</name>

<value>hadoop227:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address.rm2</name>

<value>hadoop227:8033</value>

</property>

<property>

<name>yarn.resourcemanager.ha.admin.address.rm2</name>

<value>hadoop227:23142</value>

</property>

</configuration>

修改配置文件workers

vi /home/hadoop/hadoop/etc/hadoop/workers

这个文件里面填写的是存储/计算节点(HDFS和YARN)的主机名称,内容如下:

hadoop223

hadoop224

hadoop225

hadoop226

hadoop227

hadoop228

至此Hadoop的基础安装配置部分全部完成。后面还有两篇,配置后操作以及第一次启动,日常如何启动,您可以持续关注后续文章。

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: