当前位置: 首页 > news >正文

Day01-ElasticSearch的单点部署,集群部署,多实例部署,es-head和postman环境搭建

Day01-ElasticSearch的单点部署,集群部署,多实例部署,es-head和postman环境搭建

  • 0、ElasticSearch的简单介绍
  • 1、ElasticSearch的单点部署
  • 2、ElasticSearch的集群部署
  • 3、基于二进制部署ElasticSearch
    • 3.1 准备阶段
    • 3.2 部署阶段
    • 3.3 使用systemctl管理ES服务
    • 3.4 使用oracle JDK管理ES服务
    • 3.5 修改ES环境的堆(heap)内存大小
    • 3.6 ES集群的多实例部署
    • 3.7 常见报错

0、ElasticSearch的简单介绍

Elasticstack:

  • Elastic$earch
    • 日志存储和检索
  • filebeat:
    • 用于日志收集
  • logstash:
    • 日志转换,也可以用于日志采集
  • kibana:
    • 用于日志展示
  • TB(PB)级别日志处理:
    • kafka
    • zookeeper

ElasticSearch:

  • 单点部署

  • 集群部署二

  • ES集群的常见术语

    • 分片
    • 副本
    • 索引
    • 文档
  • 集群的API基础操作

    • 索引管理
    • 文档管理
  • 集群环境准备:

IP地址配置主机名
10.0.0.101CPU:2C MEMORY:4G DISK:50G+elk101.oldboyedu.com
10.0.0.102CPU:2C MEMORY:4G DISK:50G+elk102.oldboyedu.com
10.0.0.103CPU:2C MEMORY:4G DISK:50G+elk103.oldboyedu.com

配置好后拍快照

1、ElasticSearch的单点部署

(1)下载ES软件包
https://www.elastic.co/cn/downloads

(2)老男孩线下同学下载

curl -o elasticsearch-7.17.5-x86_64.rpm  http://192.168.15.253/ElasticStack/softwares/rpm/elasticsearch-7.17.5-x86_64.rpm

(3)安装es

rpm -ivh elasticsearch-7.17.5-x86_64.rpm 

(4)修改es的配置文件

vim /etc/elasticsearch/elasticsearch.yml
...
# ES服务监听对外暴露服务的地址
network.host: 0.0.0.0# 指定ES集群的节点IP
discovery.seed_hosts: ["10.0.0.101"]# 指定参与master选举的节点
cluster.initial_master_nodes: ["10.0.0.101"]

(5)启动ES服务

systemctl enable --now elasticsearch

(6)验证节点是否正常工作

[root@elk101 ~]# ss -ntl
State       Recv-Q Send-Q         Local Address:Port                        Peer Address:Port     
...
LISTEN      0      16384                   [::]:9200                                [::]:*        
LISTEN      0      16384                   [::]:9300                                [::]:*        
  • 面试题1:
    • 9200端口作用:
      • 对ES集群外部提供http/https服务。可以理解为对客户端提供服务。
    • 9300端口作用:
      • 对ES集群内部进行数据通信传输端口。走的时候tcp协议。

(7)客户端验证

curl 10.0.0.101:9200

如果遇到集群的uuid为"_na_"情况时,可以执行如下操作:

# 两块网卡时,打开指定参与master选举的节点
vim /etc/elasticsearch/elasticsearch.yml
cluster.initial_master_nodes: ["10.0.0.101"]
# 然后执行
systemctl stop elasticsearch.service
rm -rf /var/lib/elasticsearch/* /var/log/elasticsearch/* /tmp/*
systemctl start elasticsearch.service
curl 10.0.0.101:9200

2、ElasticSearch的集群部署

(1)下载ES软件包
https://www.elastic.co/cn/downloads

(2)老男孩线下同学下载

curl -o elasticsearch-7.17.5-x86_64.rpm http://192.168.15.253/ElasticStack/softwares/rpm/elasticsearch-7.17.5-x86_64.rpm

(3)所有节点安装es

rpm -ivh elasticsearch-7.17.5-x86_64.rpm 

(4)elk101.oldboyedu.com做数据清空

systemctl stop elasticsearch.service
rm -rf /var/lib/elasticsearch/* /var/log/elasticsearch/* /tmp/*	

(5)修改es的配置文件

vim /etc/elasticsearch/elasticsearch.yml 
...# 指定ES集群的名称
cluster.name: oldboyedu-linux85# ES服务监听对外暴露服务的地址
network.host: 0.0.0.0# 指定ES集群的节点IP
discovery.seed_hosts: ["10.0.0.101","10.0.0.102","10.0.0.103"]# 指定参与master选举的节点
cluster.initial_master_nodes: ["10.0.0.101","10.0.0.102","10.0.0.103"]

(6)将配置文件分发到其他两个节点

scp /etc/elasticsearch/elasticsearch.yml  10.0.0.102:/etc/elasticsearch/elasticsearch.yml
scp /etc/elasticsearch/elasticsearch.yml  10.0.0.103:/etc/elasticsearch/elasticsearch.yml

(6)所有节点启动ES服务

systemctl enable --now elasticsearch

(7)验证ES集群节点是否正常工作

[root@elk101.oldboyedu.com ~]# curl 10.0.0.101:9200/_cat/nodes   # *在谁那谁就是老大
10.0.0.103 11 71 51 1.28 0.38 0.13 cdfhilmrstw - elk103.oldboyedu.com
10.0.0.102 15 73 46 1.10 0.34 0.12 cdfhilmrstw - elk102.oldboyedu.com
10.0.0.101  6 92  1 0.07 0.11 0.12 cdfhilmrstw * elk101.oldboyedu.com# 半数以上机器存活则集群正常,为了防止脑裂,半数以上机器不存活的话,集群不提供对外服务[root@elk101.oldboyedu.com ~]# 
[root@elk101.oldboyedu.com ~]# curl 10.0.0.101:9200/_cat/nodes?v
ip         heap.percent ram.percent cpu load_1m load_5m load_15 m node.role   master name
10.0.0.103           12          71   0    0.72    0.34     0.13 cdfhilmrstw -      elk103.oldboyedu.com
10.0.0.102           16          73   0    0.61    0.31     0.12 cdfhilmrstw -      elk102.oldboyedu.com
10.0.0.101            7          92   0    0.04    0.10     0.11 cdfhilmrstw *      elk101.oldboyedu.comheap.percent   # 堆内存使用百分比
ram.percent    # 内存百分比

3、基于二进制部署ElasticSearch

3.1 准备阶段

(1)elk101配置集群免密登录及同步脚本
1.1 修改主机列表

cat >> /etc/hosts <<'EOF'
10.0.0.101 elk101.oldboyedu.com
10.0.0.102 elk102.oldboyedu.com
10.0.0.103 elk103.oldboyedu.com
EOF

1.2 elk101节点上生成密钥对

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa -q

1.3 elk101配置所有集群节点的免密登录

for ((host_id=101;host_id<=103;host_id++));do ssh-copy-id elk${host_id}.oldboyedu.com ;done

1.4 链接测试

ssh 'elk101.oldboyedu.com'
ssh 'elk102.oldboyedu.com'
ssh 'elk103.oldboyedu.com'

1.5 所有节点安装rsync数据同步工具

yum -y install rsync

1.6 编写同步脚本

cat > /usr/local/sbin/data_rsync.sh <<'EOF'
#!/bin/bash# Auther: Jason Yinif  [ $# -ne 1 ];thenecho "Usage: $0 /path/to/file(绝对路径)"exit
fi # 判断文件是否存在if [ ! -e $1 ];thenecho "[ $1 ] dir or file not find!"exit
fi# 获取父路径fullpath=`dirname $1`# 获取子路径basename=`basename $1`# 进入到父路径cd $fullpathfor ((host_id=102;host_id<=103;host_id++))do# 使得终端输出变为绿色tput setaf 2echo ===== rsyncing elk${host_id}.oldboyedu.com: $basename =====# 使得终端恢复原来的颜色tput setaf 7# 将数据同步到其他两个节点rsync -apz $basename  `whoami`@elk${host_id}.oldboyedu.com:$fullpathif [ $? -eq 0 ];thenecho "命令执行成功!"fi
done
EOF

1.7 给脚本授权

chmod +x /usr/local/sbin/data_rsync.sh

3.2 部署阶段

(2)elk101下载ES软件包

curl -o elasticsearch-7.17.5-linux-x86_64.tar.gz http://192.168.15.253/ElasticStack/softwares/binary/elasticsearch-7.17.5-linux-x86_64.tar.gz

(3)所有节点创建运行ES服务的用户

useradd -u 2023 oldboyedu

(4)elk101创建ElasticSearch的工作目录
4.1 可以如下操作

mkdir -pv /oldboyedu/{data,logs,softwares}/es7
chown oldboyedu:oldboyedu -R /oldboyedu/{softwares,data,logs}/es7/
ll /oldboyedu/{data,logs,softwares}/es7 -d

4.2 也可以如下操作(推荐)

install -d /oldboyedu/{data,logs,softwares}/es7 -o oldboyedu -g oldboyedu

(5)elk101解压软件包

tar xf elasticsearch-7.17.5-linux-x86_64.tar.gz -C /oldboyedu/softwares/es7/

(6)elk101修改配置文件

[root@elk101.oldboyedu.com ~]# egrep -v "^#|^$" /oldboyedu/softwares/es7/elasticsearch-7.17.5/config/elasticsearch.yml 
cluster.name: oldboyedu-linux85-binary
path.data: /oldboyedu/data/es7
path.logs: /oldboyedu/logs/es7
network.host: 0.0.0.0
discovery.seed_hosts: ["elk101.oldboyedu.com","elk102.oldboyedu.com","elk103.oldboyedu.com"]
cluster.initial_master_nodes: ["elk101.oldboyedu.com","elk102.oldboyedu.com","elk103.oldboyedu.com"]

(7)elk101同步程序目录

[root@elk101.oldboyedu.com ~]# data_rsync.sh  /oldboyedu

(8)elk101节点针对ES基础调优
8.1 修改文件打开数量上线,修改后需要断开会话

[root@elk101.oldboyedu.com ~]# cat /etc/security/limits.d/es7.conf*	soft	nofile	65535
*	hard	nofile	131070
*	hard	nproc	8192[root@elk101.oldboyedu.com ~]# ulimit -Sn
65535[root@elk101.oldboyedu.com ~]# ulimit -Hn
131070

8.2 调大内核虚拟内存映射值

[root@elk101.oldboyedu.com ~]# cat  /etc/sysctl.d/es.conf
vm.max_map_count=524288[root@elk101.oldboyedu.com ~]# sysctl -q vm.max_map_count
vm.max_map_count = 65530[root@elk101.oldboyedu.com ~]# sysctl -f  /etc/sysctl.d/es.conf    # 生效
vm.max_map_count = 524288[root@elk101.oldboyedu.com ~]# sysctl -q vm.max_map_count
vm.max_map_count = 524288

8.3 同步调优文件

[root@elk101.oldboyedu.com ~]# data_rsync.sh  /etc/sysctl.d/es.conf
[root@elk101.oldboyedu.com ~]# data_rsync.sh  /etc/security/limits.d/es7.conf 
[root@elk101.oldboyedu.com ~]# data_rsync.sh /etc/hosts

(9)所有节点启动服务

9.1 先断开连接

让文件打开数量上限生效。

9.2 使得内核参数生效

sysctl -f  /etc/sysctl.d/es.conf	

9.3 后台启动es服务

chown oldboyedu:oldboyedu -R /oldboyedu/{softwares,data,logs}/es7/
su oldboyedu -c '/oldboyedu/softwares/es7/elasticsearch-7.17.5/bin/elasticsearch -d'	

(10)验证服务是否正常

[root@elk101.oldboyedu.com ~]# curl 10.0.0.101:9200
{"name" : "elk101.oldboyedu.com","cluster_name" : "oldboyedu-linux85-binary","cluster_uuid" : "l0Vl0fYMSmSun_Mnv3dH7g","version" : {"number" : "7.17.5","build_flavor" : "default","build_type" : "tar","build_hash" : "8d61b4f7ddf931f219e3745f295ed2bbc50c8e84","build_date" : "2022-06-23T21:57:28.736740635Z","build_snapshot" : false,"lucene_version" : "8.11.1","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}[root@elk101.oldboyedu.com ~]# curl 10.0.0.101:9200/_cat/nodes
10.0.0.101 27 96 38 0.68 0.26 0.14 cdfhilmrstw * elk101.oldboyedu.com
10.0.0.102 23 88 38 0.49 0.21 0.14 cdfhilmrstw - elk102.oldboyedu.com
10.0.0.103 21 88 42 1.25 0.42 0.22 cdfhilmrstw - elk103.oldboyedu.com

补充:若集群UUID出现"_na_"状态时,做如下动作,所有节点操作

pkill java
rm -rf  /oldboyedu/data/es7/* /oldboyedu/logs/es7/* /tmp/*

3.3 使用systemctl管理ES服务

1.elk101停止ES服务

pkill java

2.elk101编写ES启动脚本

cat > /usr/lib/systemd/system/es7.service <<EOF
[Unit]
Description=oldboyedu linux85 es7
After=network.target[Service]
Type=simple
ExecStart=/oldboyedu/softwares/es7/elasticsearch-7.17.5/bin/elasticsearch
User=oldboyedu
LimitNOFILE=131070[Install]
WantedBy=multi-user.target
EOF

3.elk101加载脚本

systemctl daemon-reload

4.elk101设置开机自启动

systemctl enable --now es7

5.elk101查看服务是否正常运行

systemctl status es7
ss -ntl
curl 10.0.0.101:9200/_cat/nodes

6.其他节点使用脚本

data_rsync.sh /usr/lib/systemd/system/es7.service

7.其他节点使用脚本管理

pkill java
systemctl enable --now es7
systemctl status es7

3.4 使用oracle JDK管理ES服务

(1)elk101下载JDK环境

curl -o jdk-8u291-linux-x64.tar.gz http://192.168.15.253/ElasticStack/softwares/binary/jdk-8u291-linux-x64.tar.gz

(2)elk101解压JDK软件包

tar xf jdk-8u291-linux-x64.tar.gz -C /oldboyedu/softwares/

(3)elk101配置系统环境变量

[root@elk101.oldboyedu.com ~]# cat /etc/profile.d/jdk.sh 
#!/bin/bashexport JAVA_HOME=/oldboyedu/softwares/jdk1.8.0_291
export PATH=$PATH:$JAVA_HOME/bin[root@elk101 ~]# source /etc/profile.d/jdk.sh
[root@elk101 ~]# which java
/oldboyedu/softwares/jdk1.8.0_291/bin/java
[root@elk101.oldboyedu.com ~]# java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)

(4)elk101修改启动脚本

cat > /usr/lib/systemd/system/es7.service <<EOF
[Unit]
Description=oldboyedu linux85 es7
After=network.target[Service]
Type=simple
Environment=JAVA_HOME=/oldboyedu/softwares/jdk1.8.0_291
ExecStart=/oldboyedu/softwares/es7/elasticsearch-7.17.5/bin/elasticsearch
User=oldboyedu
LimitNOFILE=131070
LimitNPROC=8192[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload
systemctl start es7

(5)elk101重启服务

systemctl restart es7

(6)elk101查看服务是否正常

[root@elk101.oldboyedu.com ~]# curl 10.0.0.101:9200/_cat/nodes
10.0.0.101 17 74 6 0.17 0.28 0.19 cdfhilmrstw - elk101.oldboyedu.com
10.0.0.102 11 90 0 0.03 0.03 0.05 cdfhilmrstw * elk102.oldboyedu.com
10.0.0.103 21 91 0 0.00 0.01 0.05 cdfhilmrstw - elk103.oldboyedu.com
root@elk101 ~]# jps
3572 Jps
3371 Elasticsearch
[root@elk101 ~]# ps -ef|grep java
oldboye+   3371      1 99 14:02 ?        00:00:35 /oldboyedu/softwares/jdk1.8.0_291/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j2.formatMsgNoLookups=true -Djava.locale.providers=SPI,JRE -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.io.tmpdir=/tmp/elasticsearch-1143701341521397671 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=32 -XX:GCLogFileSize=64m -Xms1024m -Xmx1024m -XX:MaxDirectMemorySize=536870912 -Des.path.home=/oldboyedu/softwares/es7/elasticsearch-7.17.5 -Des.path.conf=/oldboyedu/softwares/es7/elasticsearch-7.17.5/config -Des.distribution.flavor=default -Des.distribution.type=tar -Des.bundled_jdk=true -cp /oldboyedu/softwares/es7/elasticsearch-7.17.5/lib/* org.elasticsearch.bootstrap.Elasticsearch
root       3590   2034  0 14:03 pts/0    00:00:00 grep --color=auto java

(7)elk101同步配置到其他节点

data_rsync.sh /etc/profile.d/jdk.sh
data_rsync.sh /usr/lib/systemd/system/es7.service
data_rsync.sh /oldboyedu/softwares/jdk1.8.0_291

(8)其他节点重启服务

systemctl daemon-reload  && systemctl restart es7

3.5 修改ES环境的堆(heap)内存大小

(1)elk101修改配置文件

[root@elk101.oldboyedu.com ~]# vim /oldboyedu/softwares/es7/elasticsearch-7.17.5/config/jvm.options
...
-Xms256m
-Xmx256m

(2)elk101重启服务并验证堆内存大小,若不配置,默认1GB

[root@elk101 ~]# systemctl restart es7
[root@elk101 ~]# jps
3987 Jps
3753 Elasticsearch
[root@elk101 ~]# jmap -heap 3753|grep MaxHeapSizeMaxHeapSize              = 268435456 (256.0MB)

(3)elk101同步环境到其他节点

data_rsync.sh /oldboyedu/softwares/es7/elasticsearch-7.17.5/config/jvm.options

(4)其他节点重启服务并验证堆内存大小

[root@elk102.oldboyedu.com ~]# systemctl restart es7[root@elk102.oldboyedu.com ~]# jmap -heap `jps | awk '/Elasticsearch/{print $1}'` | grep MaxHeapSizeMaxHeapSize              = 268435456 (256.0MB)

3.6 ES集群的多实例部署

  • 需要解决的问题
    • 程序安装目录
    • 数据目录
    • 日志目录
    • 端口冲突:9200|9300

(1)所有节点准备ES6的工作目录

install -d /oldboyedu/{data,logs,softwares}/es6 -o oldboyedu -g oldboyedu

(2)elk101下载ES6软件包

curl -o elasticsearch-6.8.23.tar.gz http://192.168.15.253/ElasticStack/softwares/binary/elasticsearch-6.8.23.tar.gz

(3)elk101解压软件包
tar xf elasticsearch-6.8.23.tar.gz -C /oldboyedu/softwares/es6/
chown oldboyedu:oldboyedu -R /oldboyedu/softwares/es6/elasticsearch-6.8.23/
(4)elk101修改配置文件

[root@elk101.oldboyedu.com ~]# yy /oldboyedu/softwares/es6/elasticsearch-6.8.23/config/elasticsearch.yml 
cluster.name: oldboyedu-linux85-es6
node.name: elk101.oldboyedu.com
path.data: /oldboyedu/data/es6
path.logs: /oldboyedu/logs/es6
network.host: 0.0.0.0
http.port: 19200
transport.tcp.port: 19300
discovery.zen.ping.unicast.hosts: ["elk101.oldboyedu.com","elk102.oldboyedu.com","elk103.oldboyedu.com"]
discovery.zen.minimum_master_nodes: 2
[root@elk101.oldboyedu.com ~]# 

(5)elk101修改堆内存大小

[root@elk101.oldboyedu.com ~]# vim /oldboyedu/softwares/es6/elasticsearch-6.8.23/config/jvm.options 
...
-Xms256m
-Xmx256m

(6)elk101编写启动脚本

cat > /usr/lib/systemd/system/es6.service <<EOF
[Unit]
Description=oldboyedu linux85 es6
After=network.target[Service]
Type=simple
Environment=JAVA_HOME=/oldboyedu/softwares/jdk1.8.0_291
ExecStart=/oldboyedu/softwares/es6/elasticsearch-6.8.23/bin/elasticsearch
User=oldboyedu
LimitNOFILE=131070[Install]
WantedBy=multi-user.target
EOF

(7)elk101同步配置文件

data_rsync.sh /oldboyedu/softwares/es6/
data_rsync.sh /usr/lib/systemd/system/es6.service

(8)修改各节点的配置文件

[root@elk102.oldboyedu.com ~]# vim  /oldboyedu/softwares/es6/elasticsearch-6.8.23/config/elasticsearch.yml 
...
node.name: elk102.oldboyedu.com[root@elk103.oldboyedu.com ~]# vim  /oldboyedu/softwares/es6/elasticsearch-6.8.23/config/elasticsearch.yml 
...
node.name: elk103.oldboyedu.com

(9)启动服务

systemctl daemon-reload && systemctl enable --now es6

(10)查看服务状态

[root@elk101.oldboyedu.com ~]# curl 10.0.0.101:19200/_cat/nodes
10.0.0.102 50 77  1 0.58 0.25 0.14 mdi - elk102.oldboyedu.com
10.0.0.101 59 82  1 0.37 0.25 0.13 mdi * elk101.oldboyedu.com
10.0.0.103 44 76 42 0.46 0.22 0.12 mdi - elk103.oldboyedu.com

查看集群节点的API:

curl 10.0.0.101:9200/_cat/nodes
[root@elk101 ~]# curl 10.0.0.101:9200/_cat/nodes
10.0.0.103 43 75 0 0.00 0.01 0.05 cdfhilmrstw - elk103.oldboyedu.com
10.0.0.101 35 80 0 0.02 0.03 0.05 cdfhilmrstw - elk101.oldboyedu.com
10.0.0.102 57 84 0 0.00 0.01 0.05 cdfhilmrstw * elk102.oldboyedu.com

查看集群状态:

curl 10.0.0.101:9200/_cluster/health 2>/dev/null | jq
[root@elk101 ~]# curl 10.0.0.101:9200/_cluster/health 2>/dev/null | jq
{"cluster_name": "oldboyedu-linux85-binary","status": "green","timed_out": false,"number_of_nodes": 3,"number_of_data_nodes": 3,"active_primary_shards": 2,"active_shards": 4,"relocating_shards": 0,"initializing_shards": 0,"unassigned_shards": 0,"delayed_unassigned_shards": 0,"number_of_pending_tasks": 0,"number_of_in_flight_fetch": 0,"task_max_waiting_in_queue_millis": 0,"active_shards_percent_as_number": 100
}

3.7 常见报错

1.java.lang.RuntimeException: can not run elasticsearch as root	
报错原因:不能以root用户启动ES服务。
解决方案:使用普通用户启动服务即可。
2.bootstrap check failure [1] of [3]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
报错原因:程序默认的的文件打开数量上线过低。
解决方案:调大文件打开数量上限即可。
3.bootstrap check failure [2] of [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
报错原因:内核参数虚拟内存映射过低。
解决方案:调大内核虚拟内存映射值即可。
4.bootstrap check failure [3] of [3]: max number of threads [3795] for user [oldboyedu] is too low, increase to at least [4096]
报错原因:程序打开的线程数量设置过低。
解决方案:调大程序打开的线程数量即可。
5.initial heap size [268435456] not equal to maximum heap size [1031798784]; this can cause resize pauses and prevents mlockall from locking the entire heap
报错原因:初始化堆内存和最大堆内存大小不一致。
解决方案:观察配置是否生效,建议将"-Xms""-Xmx"值配置一致。

今日作业:

  • 完成课堂的所有练习并整理思维导图;
  • 使用zabbix监控ES服务

扩展作业:
- 使用ansible的playbook一键搭建ES6和ES7多实例服务

相关文章:

Day01-ElasticSearch的单点部署,集群部署,多实例部署,es-head和postman环境搭建

Day01-ElasticSearch的单点部署&#xff0c;集群部署&#xff0c;多实例部署&#xff0c;es-head和postman环境搭建 0、ElasticSearch的简单介绍1、ElasticSearch的单点部署2、ElasticSearch的集群部署3、基于二进制部署ElasticSearch3.1 准备阶段3.2 部署阶段3.3 使用systemct…...

Linux--DHCP原理与配置

目录 一、DHCP 1、DHCP 服务是什么 2、DHCP 优点 3、为什么使用DHCP 二、DHCP的模式与分配方式 1、DHCP 模式 2、DHCP 分配方式 3、工作原理 3.1 租约过程(四步) 3.2 更新租约 三、DHCP 服务器的配置 3.1 配置DHCP 3.2 dhcpd.conf 的内容构成 3.3 全局设置,作…...

Hi3861 OpenHarmony嵌入式应用入门--华为 IoTDA 设备接入

华为云物联网平台&#xff08;IoT 设备接入云服务&#xff09;提供海量设备的接入和管理能力&#xff0c;可以将自己的 IoT 设备 联接到华为云&#xff0c;支撑设备数据采集上云和云端下发命令给设备进行远程控制&#xff0c;配合华为云物联网平台的服 务实现设备与设备之间的控…...

Pytorch张量

在conda的环境中安装Jupyter及其他软件包 Pytorch 建立在张量&#xff08;tensor&#xff09;之上&#xff0c;Pytorch张量是一个 n 维数组&#xff0c;类似于 NumPy 数组。专门针对GPU设计&#xff0c;可以运行在GPU上以加快计算效率。换句话说&#xff0c;Pytorch张量是可以运…...

医院同步时钟系统提供可靠的时间支持

在医院这个充满紧张与忙碌的环境中&#xff0c;每一分每一秒都关乎着患者的生命与健康。为了确保医疗服务的高效、精准和安全&#xff0c;医院同步时钟系统应运而生&#xff0c;成为了医院可靠的时间支持。 医院同步时钟系统犹如一座精准的时间堡垒&#xff0c;为医院的各个角落…...

【中项第三版】系统集成项目管理工程师 | 第 11 章 规划过程组② | 11.3 - 11.5

前言 第 11 章对应的内容选择题和案例分析都会进行考查&#xff0c;这一章节属于10大管理的内容&#xff0c;学习要以教材为准。本章上午题分值预计在15分。 目录 11.3 收集需求 11.3.1 主要输入 11.3.2 主要工具与技术 11.3.3 主要输出 11.4 定义范围 11.4.1 主要输入…...

无人直播赚钱的底层逻辑是什么?一文揭晓!

当前&#xff0c;网络直播已经成为各类商家提高曝光和引流获客的主要渠道之一&#xff0c;这在为商家带来新机遇的同时&#xff0c;也让他们因人手不足或资金匮乏等原因而陷入无人问津窘境之中。在此背景下&#xff0c;无人直播软件一经出现&#xff0c;便引起了众多商家的关注…...

d3dcompiler_43.dll文件是什么?如何快速有效的解决d3dcompiler_43.dll文件丢失问题

dcompiler_43.dll 是一个Windows系统中的系统文件&#xff0c;属于DirectX软件的一部分。这个dcompiler_43.dll&#xff08;动态链接库&#xff09;文件主要用于处理与3D图形编程有关的任务&#xff0c;是运行许多游戏和高级图形程序必需的组件之一。那么如果电脑丢失d3dcompil…...

Git分支结构

目录 1. 线性分支结构 2. 分叉与合并结构 3. 分支与标签的关系 4. 并行开发与分支管理策略 测试&#xff08;本机系统为Rocky_linux9.4&#xff09; 合并失败解决 删除分支 删除本地分支 删除远程分支 Git 中的分支结构是版本控制中非常重要的概念之一&#xff0c;它描…...

测试流程规范建设

建设目的 通过规则保障团队高效协同&#xff0c;自驱、可控。能和所有成员达到精确的沟通。 基本规则 测试角色管理 红线-QA 新员工试用期考核流程&#xff08;RD&#xff09; 周会--QA 周报--QA 需求阶段 需求变更规范 开发阶段 接口文档规范 代码走查规范 分支管…...

启英泰伦CI13LC系列:打造AI语音芯片性价比之王!

在智能家居、消费电子、汽车电子等领域&#xff0c;语音识别技术已深度融入各类设备。通过嵌入语音芯片&#xff0c;这类设备可识别并执行用户的语音指令&#xff0c;无论是启动、调节还是关机&#xff0c;仅需一句话即可完成&#xff0c;极大地简化了操作流程。 智能语音部分应…...

headerpwn:一款针对服务器响应与HTTP Header的模糊测试工具

关于headerpwn headerpwn是一款针对服务器响应与HTTP Header的模糊测试工具&#xff0c;广大研究人员可以利用该工具查找网络异常并分析服务器是如何响应不同HTTP Header的。 功能介绍 当前版本的headerpwn支持下列功能&#xff1a; 1、服务器安全与异常检测&#xff1b; 2、…...

2021 RoboCom 世界机器人开发者大赛-本科组(复赛):拼题A打卡奖励

拼题 A 的教超搞打卡活动&#xff0c;指定了 N 张打卡卷&#xff0c;第 i 张打卡卷需要 mi​ 分钟做完&#xff0c;完成后可获得 ci​ 枚奖励的金币。活动规定每张打卡卷最多只能做一次&#xff0c;并且不允许提前交卷。活动总时长为 M 分钟。请你算出最多可以赢得多少枚金币&a…...

flink 大数据处理资源分配

Flink在大数据处理中的资源分配是一个复杂但至关重要的过程&#xff0c;它直接影响到作业的性能和稳定性。以下将从几个方面详细阐述Flink的资源分配机制和优化策略&#xff1a; 一、资源分配概述 Flink是一个用于无界和有界数据流处理的分布式计算框架&#xff0c;它通过集群…...

独立站营销新思路:携手TikTok达人,促进用户参与与品牌传播

数字化时代&#xff0c;品牌传播的方式发生了重大变化。尤其是TikTok&#xff0c;作为全球最受欢迎的短视频平台之一&#xff0c;其独特的社群特点和用户行为模式&#xff0c;对品牌独立站提供了全新的营销思路。本文Nox聚星将和大家分析TikTok社群的特点和用户行为模式&#x…...

工单管理系统能解决什么?

工单系统具备智能化派单模式工程师响应快减少员工等待时间。自定义知识库可提升工程师专业技能水平&#xff0c;帮助工程师迅速判断员工问题&#xff0c;极大提升员工报单体验。系统还能够大幅提升职能部门可以服务的用户数&#xff0c;有效降低专业人力成本开支&#xff0c;提…...

探索Facebook在人工智能领域的最新进展

在当今快速发展的科技领域中&#xff0c;人工智能&#xff08;AI&#xff09;作为一项关键技术&#xff0c;正在逐步改变着社交媒体的面貌。作为全球最大的社交平台之一&#xff0c;Facebook积极探索和应用人工智能&#xff0c;以提升用户体验、增强平台安全性并推动技术创新。…...

Deepspeed : AttributeError: ‘DummyOptim‘ object has no attribute ‘step‘

题意&#xff1a;尝试在一个名为 DummyOptim 的对象上调用 .step() 方法&#xff0c;但是这个对象并没有定义这个方法 问题背景&#xff1a; I want to use deepspeed for training LLMs along with Huggingface Trainer. But when I use deepspeed along with trainer I get …...

【Python123题库】#查询省会 #字典的属性、方法与应用

禁止转载&#xff0c;原文&#xff1a;https://blog.csdn.net/qq_45801887/article/details/140081665 参考教程&#xff1a;B站视频讲解——https://space.bilibili.com/3546616042621301 有帮助麻烦点个赞 ~ ~ Python123题库 查询省会字典的属性、方法与应用 查询省会 类型…...

数据建设实践之大数据平台(一)

大数据组件版本信息 zookeeper-3.5.7hadoop-3.3.5mysql-5.7.28apache-hive-3.1.3spark-3.3.1dataxapache-dolphinscheduler-3.1.9大数据技术架构 大数据组件部署规划 node101node102node103node104node105datax datax datax ZK ZK ZK RM RM NM...

【MIT 6.5840/6.824】Lab1 MapReduce

MapReduce MapReduce思想实现思路感受 6.5840/6.824 Lab与笔记汇总 本文对应的Lab版本为MIT6.5840-Spring2024的Lab1 本博客只提供思路&#xff0c;不会公开任何代码 本lab耗时约6h&#xff0c;码量约500行 MapReduce思想 MapReduce的思想属于是比较简单的&#xff0c;分为两…...

如何在 C 语言中进行选择排序?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; &#x1f4d9;C 语言百万年薪修炼课程 通俗易懂&#xff0c;深入浅出&#xff0c;匠心打磨&#xff0c;死磕细节&#xff0c;6年迭代&#xff0c;看过的人都说好。 文章目…...

开源浏览器引擎对比与适用场景:WebKit、Chrome、Gecko

WebKit与Chrome的Blink引擎对比 起源与关系&#xff1a; WebKit最初由苹果公司开发&#xff0c;用于Safari浏览器。后来&#xff0c;WebKit逐渐成为一个独立的开源项目&#xff0c;被多个浏览器厂商采用。Blink是Google基于WebKit项目分支出来的一个浏览器引擎&#xff0c;用于…...

DNF客户端使用

客户端使用 1、下载客户端2、配置网关连接到服务器2.1 网关设置参数&#xff1a;2.2 点击连接网关2.3 点击“参数设置内容立即生效” 3、使用网关生成登陆器3.1 登陆器参数设置3.2 点击增加3.3 复制网关的通信密钥,点击生成登陆器 4、复制替换相关文件4.1 复制登陆器到客户端文…...

打包时提示:Missing Gradle Project Information.或者在加载gradle时出错

1.Android打包弹出错误提示框&#xff1a;missing gradle project information. please check if the IDE successfully synchronized its state with the Gradble project model. 2.加载gradle出错&#xff1a;修复报错后 File -> Sync Project with Gradle Files...

基于前馈神经网络 FNN 实现股票单变量时间序列预测(PyTorch版)

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…...

Scikit Learn - 建模手册(02)--- 数据表示、估算器

Scikit Learn - 数据表示 文章目录 一、说明二、数据表格2.1 数据作为特征矩阵2.2 数据作为目标数组 三、什么是 Estimator API四、Estimator API 的使用五、指导原则六、使用 Estimator API 的步骤七、监督学习示例八、无监督学习示例 一、说明 众所周知&#xff0c;机器学习…...

【鸿蒙学习笔记】通过用户首选项实现数据持久化

官方文档&#xff1a;通过用户首选项实现数据持久化 目录标题 使用场景第1步&#xff1a;源码第2步&#xff1a;启动模拟器第3步&#xff1a;启动entry第6步&#xff1a;操作样例2 使用场景 Preferences会将该数据缓存在内存中&#xff0c;当用户读取的时候&#xff0c;能够快…...

LabVIEW航空发动机试验器数据监测分析

1. 概述 为了适应航空发动机试验器的智能化发展&#xff0c;本文基于图形化编程工具LabVIEW为平台&#xff0c;结合航空发动机试验器原有的软硬件设备&#xff0c;设计开发了一套数据监测分析功能模块。主要阐述了数据监测分析功能设计中的设计思路和主要功能&#xff0c;以及…...

快速上手:前后端分离开发(Vue+Element+Spring Boot+MyBatis+MySQL)

文章目录 前言项目简介环境准备第一步&#xff1a;初始化前端项目登录页面任务管理页面 第二步&#xff1a;初始化后端项目数据库配置数据库表结构实体类和Mapper服务层和控制器 第三步&#xff1a;连接前后端总结 &#x1f389;欢迎来到架构设计专栏~探索Java中的静态变量与实…...