电商项目高级篇-01 elasticsearch

2023-09-18 23:50:24

1、linux下安装elasticsearch和可视化工具

将安装好jdk1.8和tomcat的centos7下安装elasticsearch

docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2

##docker下安装软件需要配置挂载。方便修改配置文件

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

给予最大权限

chmod -R 777 /mydata/elasticsearch/

设置挂载和最大内存占用启动

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2

##docker下检查容器日志

docker logs 7f

在这里插入图片描述
在这里插入图片描述
日志是正常的

在这里插入图片描述

访问正常

安装kibana可视化工具

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://自己的虚拟机地址:9200 -p 5601:5601 \
-d kibana:7.4.2

在这里插入图片描述
出现这个界面代表安装成功

2、docker设置虚拟机开机启动和容器开机启动

我们每次启动虚拟机都要重启docker服务。甚至重启容器。很麻烦。所以设置自启动.
1、创建docker.service文件

 touch /etc/systemd/system/docker.service

2、编写代码程序

[Unit]
Description=Docker Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/dockerd
Restart=on-failure

[Install]
WantedBy=multi-user.target

3、重载配置文件。使配置文件生效

systemctl daemon-reload

4、使服务开机即启动

systemctl enable docker.service

5、启动docker

systemctl start docker

6、验证docker.service是否启动

systemctl is-enabled docker.service

然后下一次虚拟机重启。docker服务自己就启动了

###如何实现容器也启动

两种方式:
1、通过restart来实现(比如kibana)

先删除容器。再重启

docker rm 容器id
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://自己的虚拟机地址:9200 -p 5601:5601 \
 --restart=always -d kibana:7.4.2

再重启服务器已经成功了
在这里插入图片描述

2、可通过update 命令设置
无需删除容器

docker update --restart=always 容器名称(或者容器ID)
docker start 容器id

再重启服务器已经成功

可以看到kibana界面
在这里插入图片描述

3、elasticsearch的curd

3.1、新增、更新

post和put更新操作。put必须带id。post可以不用
在这里插入图片描述

同一个id第一次调用新增、第二次调用修改
在这里插入图片描述
在这里插入图片描述

不带id将会报错

在这里插入图片描述

post请求不带id
在这里插入图片描述

每一次会生成一个新的id,一直会新增

post请求带id。则相同id第一次新增、后面修改

3.2、查询

get请求
乐观锁修改
?if_seq_no=0&if_primary_term=1
必须先获取到最新版本号。如果出现并发。则第二个人无法获取到最新的版本号。则更新失败

在这里插入图片描述
在这里插入图片描述

当获取到最新的版本号时则更新ok

在这里插入图片描述

更多推荐

驱动开发概念详解

1、什么是驱动能够驱使硬件实现特定功能的软件代码,可以根据驱动程序是否依赖于系统内核将其分为裸机驱动和系统驱动1.1裸机驱动编写的驱动代码中没有进行任何内核相关的API调用,开发者查询资料配置寄存器完成硬件相关控制,不依赖于系统内核,由开发者独立完成,相对而言比较简单。1.2系统驱动系统驱动指的是编写的驱动代码中需要调

了解JVM

一.了解JVM1.1什么是JVMJVM是JavaVirtualMachine(Java虚拟机)的缩写,是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟计算机功能来实现的,JVM屏蔽了与具体操作系统平台相关的信息,Java程序只需生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改的运行。JVM在执行字节

PyTorch之张量的相关操作大全 ->(个人学习记录笔记)

文章目录Torch1.张量的创建1.1直接创建1.1.1`torch.tensor`1.1.2`torch.from_numpy(ndarray)`1.2依据数值创建1.2.1`torch.zeros`1.2.2`torch.zeros_like`1.2.3`torch.ones`1.2.4`torch.ones_li

人工智能的未来:从 Jetson 到 GPT,沙龙见闻与洞察

前言在当今数字化时代,人工智能正以惊人的速度改变着我们的生活和工作方式。从智能语音助手到自动驾驶汽车,从智能家居到医疗诊断,人工智能技术已经广泛渗透到各个行业,并为其带来了巨大的变革和创新。越来越多的行业专家、学者和从业者积极参与到人工智能与行业应用实践中,为了进一步推动人工智能的发展和应用。活动介绍本次活动是由Mic

GPT引领前沿与应用突破之GPT4科研实践技术与AI绘图

GPT对于每个科研人员已经成为不可或缺的辅助工具,不同的研究领域和项目具有不同的需求。如在科研编程、绘图领域:1、编程建议和示例代码:无论你使用的编程语言是Python、R、MATLAB还是其他语言,都可以为你提供相关的代码示例。2、数据可视化:生成各种类型的数据可视化图表,如折线图、柱状图、散点图、饼图、热力图等。提

Leetcode.2522 将字符串分割成值不超过 K 的子字符串

题目链接Leetcode.2522将字符串分割成值不超过K的子字符串rating:1605题目描述给你一个字符串sss,它每一位都是111到999之间的数字组成,同时给你一个整数kkk。如果一个字符串sss的分割满足以下条件,我们称它是一个好分割:sss中每个数位恰好属于一个子字符串。每个子字符串的值都小于等于kkk。

Mysql003:基础查询

目录:1.基本查询2.条件查询(where)3.聚合函数(count、max、min、avg、sum)4.分组查询(groupby)5.分组后查询(having)6.排序查询(orderby)7.分页查询(limit)1.基本语法SELECT字段FROM表名WHERE条件GROUPBY分组HAVING分组后条件ORDE

用动态ip登录账号的风险高不高?

使用动态ip登录账号在一定程度上提供了额外的安全保障和匿名性,但与此同时也存在一些风险和风控挑战。本文将解密使用动态ip登录账号的真相,明确安全与风险的并存之道。1、增强隐私保护:使用动态ip登录账号可以隐藏您的真实IP地址,增强个人隐私保护。这使得恶意ddos者难以追踪您的真实身份和位置,为账号安全提供一定的保障。对

第三天:实现网络编程基于tcp/udp协议在Ubuntu与gec6818开发板之间双向通信

互联网地址每一台设备接入互联网后,都会举报一个唯一的地址编号IP地址INTERNET地址internet地址:它是协议上的一个逻辑地址目前来说,我们主要的IP地址有两类IPV4IPV6IPV4其实就是使用一个32bit整数作为IPIPV6其实就是使用一个128bit整数作为IPipv410101100000000100

腾讯视频共享设备ip会不会出现错误

腾讯视频共享设备功能为用户提供了方便的多屏互动体验,然而在使用该功能时,一些用户可能会遇到IP地址错误的问题。IP地址错误可能导致共享设备无法正常连接或通信。本文旨在对腾讯视频共享设备IP错误问题进行分析和解答,帮助读者更好地理解可能引起此类问题的原因,并提供一些解决方法。下面虎观代理小二二将具体介绍一下在使用腾讯视频

【计算机网络】传输层协议——TCP(中)

文章目录1.三次握手三次握手的本质是建立链接,什么是链接?整体过程三次握手过程中报文丢失问题为什么2次握手不可以?为什么要三次握手?2.四次挥手整体过程为什么要等待2MSL3.流量控制4.滑动窗口共识滑动窗口的一般情况理解滑动窗口滑动窗口的特殊情况1.三次握手SYN:是一个连接请求的报文(三次握手),发送的是TCP报头

热文推荐