【快捷部署】014_elasticsearch(7.6)

📣【快捷部署系列】014期信息

编号 选型 版本 操作系统 部署形式 部署模式 复检时间
014 elasticsearch 7.6 CentOS 7.X Docker 单机 2024-04-08

一、快捷部署

shell 复制代码
#!/bin/bash
#################################################################################
# 作者:cxy@toctalk@hwy 2024-04-07                                                 
# 功能:自动部署Elasticsearch(Docker方式) 
# 说明:
# 	1、如果已安装了Docker,请注释掉 install_docker,避免重复安装                                                                 
# 	2、本脚本仅限快速体验或测试验证。(未配置鉴权、中文分词等)
#################################################################################

info(){
  echo -e "\033[34m 【`date '+%Y-%m-%d %H:%M:%S'`】\033[0m" "\033[35m$1\033[0m "
}


install_docker(){
#!/bin/bash
echo "1、安装依赖..."
yum -y install gcc
yum -y install gcc-c++

##验证gcc版本
gcc -v

echo "2、卸载老版本(暂未开启)"
##卸载老版本
#yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

echo "3、安装Docker(指定版本:25.0.5)"
#yum install -y yum-utils device-mapper-persistent-data lvm2
#yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O/etc/yum.repos.d/docker-ce.repo
##更新yum软件包索引
yum makecache fast

## 安装docker ce
#yum -y install docker-ce
yum -y install docker-ce-25.0.5-1.el7

echo "4、启动并验证"
## 启动docker
systemctl enable docker && systemctl start docker
docker version


## 创建加速器
#cd /etc/docker
#if [ ! -f "$daemon.json" ]; then
#  touch "$daemon.json"
#else
#  rm -rf daemon.json
#  touch "$daemon.json"
#fi
#tee /etc/docker/daemon.json <<-'EOF'
#{
#	"registry-mirrors": ["https://自己的镜像加速器地址"]
#}
#EOF
#systemctl daemon-reload
#systemctl restart docker


info "Docker(25.0.5)安装完毕!"
}





# 安装 elasticsearch
install_es(){

 mkdir -p /cxy/es76/data
 chmod 777 /cxy/es76/data	


 info "开始部署启动 elasticsearch(7.6)..."


 docker run -d --name es7.6 \
 -p 9201:9200 -p 9301:9300  \
 -v "/cxy/es76/data":/usr/share/elasticsearch/data  \
 -e "discovery.type=single-node" elasticsearch:7.6.0


 info "elasticsearch部署完毕。端口:9201、9301"
 info "开始安装 kibana(7.6)..."

 docker run --name kibana7.6 -p 5602:5601 -d --link es7.6:elasticsearch kibana:7.6.0

 info "请稍等,正在配置kibana汉化..."

 docker exec -it kibana7.6 /bin/sh -c "echo -e '\ni18n.locale: \"zh-CN\"' >> /usr/share/kibana/config/kibana.yml"

 docker restart kibana7.6

 info "恭喜!Elasticsearch + Kibana 配置完成!"
}

install_docker
install_es

使用方法:

shell 复制代码
$ vim install-es76-centos7.sh
$ chmod +x install-es76-centos7.sh
$ ./install-es76-centos7.sh
# 感谢淘客科技提供的实验资源环境

验证:

shell 复制代码
方式1:访问:http://服务器的eip:9201
shell 复制代码
方式2:访问:http://服务器的eip:5602
shell 复制代码
方式3:docker ps

二、入门体验

shell 复制代码
#浏览器访问5602端口,在"开发工具"-"控制台"中执行相关命令

#创建索引映射(类似于关系型数据库中的表结构)
PUT /my_store
{
  "mappings" : {
      "properties" : {
        "price" : {
          "type" : "float"
        },
        "productName" : {
          "type" : "text"
        },
        "size" : {
          "type" : "text"
        },
        "tag" : {
          "type" : "keyword"
        }
      }
    }
}

#直接新增customer
PUT /customer/_doc/1
{
  "name": "cxy@toc"
}


#查看所有索引
GET _cat/indices

#单条新增,指定id (会删除没有的字段,无变化重复执行:版本会递增)
PUT /my_store/_doc/1
{
  "productName":"李宁休闲裤",
  "size":"L",
  "price":100.5
}

#修改(不会修改没有的字段,无变化重复执行:版本号不变)
POST /my_store/_update/1
{
	"doc":{
  	"productName":"李宁休闲裤G",
  	"size":"L",
  	"price":100.5
  }
}

#查看这条数据 (注意两种方式_version区别)
GET /my_store/_doc/1

#批量插入
POST /my_store/_doc/_bulk
{"index":{}}
{"productName":"2017秋装新款文艺衬衫女装","size":"L","price":100.5}
{"index":{}}
{"productName":"2017秋装新款文艺衬衫女装","size":"M","price":110.5}
{"index":{}}
{"productName":"2017秋装新款文艺衬衫女装","size":"S","price":120.5}
{"index":{}}
{"productName":"2018春装新款牛仔裤女装","size":"M","price":130.5}
{"index":{}}
{"productName":"2018春装新款牛仔裤女装","size":"S","price":140.5}
{"index":{}}
{"productName":"2017春装新款休闲裤女装","size":"L","price":150.5}
{"index":{}}
{"productName":"2017春装新款休闲裤女装","size":"S","price":160.5}

POST /my_store/_doc/_bulk
{"index":{}}
{"productName":"2017春装女裤","size":"L","price":100.5}
{"index":{}}
{"productName":"2017夏装女裤","size":"M","price":110.5}
{"index":{}}
{"productName":"2018秋装女鞋","size":"S","price":120.5}
{"index":{}}
{"productName":"2018冬装女鞋装","size":"M","price":130.5}
{"index":{}}
{"productName":"2019春装男裤","size":"S","price":140.5}
{"index":{}}
{"productName":"2019夏装男裤","size":"L","price":150.5}
{"index":{}}
{"productName":"2019秋装男鞋","size":"S","price":160.5}
{"index":{}}
{"productName":"2019冬装男鞋","size":"S","price":160.5}


#获得总记录数
GET /my_store/_count

#查看索引所有数据
GET /my_store/_search

#查看索引所有数据,排序,分页
GET /my_store/_search
{
  "query": { "match_all": {} },
  "sort": [
    { "price": "asc" }
  ],
  "from": 0,
  "size": 5
}

#条件检索
GET /my_store/_search
{
  "query": { "match": { "size": "S" } }
}

注意事项:
1、由于没有配置鉴权,本脚本仅限快速体验或测试验证,切勿使用在生产环境。
2、如果镜像下载较慢,请配置脚本中的加速镜像地址,registry-mirrors
3、本文定位快速部署体验,未配置中文分词器,如有需要,请参考我的相关博文。

由于是入门系列,所以仅列举了简单的体验场景。

更多信息可访问官网:https://www.elastic.co/guide/en/elastic-stack/7.6/overview.html

或关注后续相关博文

往期精彩内容推荐

【快捷部署】012_Nginx(1.25.4)
【快捷部署】011_PostgreSQL(16)
「快速部署」第一期清单
【快捷部署】010_MySQL(5.7.27)
【快捷部署】009_Redis(6.2.14)
云原生:重塑未来应用的基石

相关推荐
青岛前景互联信息技术有限公司9 小时前
OpenClaw 重构智慧消防:AI时代的平台融合实践
大数据·人工智能
梦梦代码精9 小时前
BuildingAI 上部署自定义工作流智能体:5 个实用技巧
大数据·人工智能·算法·开源软件
极客老王说Agent9 小时前
2026智造前瞻:实在Agent生产排期智能助理核心功能与使用方法详解
大数据·人工智能·ai·chatgpt
数智化精益手记局11 小时前
什么是设备维护管理?设备维护管理包含哪些内容?
大数据·网络·人工智能·安全·信息可视化
AllData公司负责人11 小时前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql
桃花键神12 小时前
Bright Data Web Scraping指南 2026: 使用 MCP + Dify 自动采集海外社交媒体数据
大数据·前端·人工智能
程序鉴定师14 小时前
西安App开发推荐与业界认可的优秀实践
大数据·小程序
workflower15 小时前
从拿订单到看方向
大数据·人工智能·设计模式·机器人·动态规划
CableTech_SQH15 小时前
F5G 全光网,赋能智慧校园数字化建设
大数据·网络·5g·运维开发·信息与通信
goyeer16 小时前
【ITIL4】- 服务价值体系
大数据·运维·信息化·自动运维·itil