ES数据库安装
ES数据库安装# 拉取 Elasticsearch 镜像 docker pull public-docker-virtual.artsz.zte.com.cn/elasticsearch:8.8.2 创建宿主机挂载目录 # 统一放在 /data/es便于管理 mkdir -p /mnt/data/es/{data,config,logs,plugins} # 权限必须给足否则容器内用户无权限写入 chmod -R 777 /mnt/data/es 编写 elasticsearch.yml 配置文件 cat /mnt/data/es/config/elasticsearch.yml EOF # 集群名称 cluster.name: docker-es-cluster # 节点名称 node.name: es-node-1 # 绑定所有网卡允许外部访问 network.host: 0.0.0.0 # 对外 HTTP 端口 http.port: 9200 # 内部通信端口 transport.port: 9300 # 单节点模式生产集群需去掉改用 discovery.seed_hosts discovery.type: single-node # 跨域方便前端/可视化工具访问 http.cors.enabled: true http.cors.allow-origin: * http.cors.allow-headers: Authorization # X-Pack 安全8.x 默认开启7.x 可选 xpack.security.enabled: true xpack.security.enrollment.enabled: true EOF docker run -d \ --name es_ark \ --restartalways \ -p 9220:9220 \ -p 9330:9330 \ -e ES_JAVA_OPTS-Xms1g -Xmx1g \ -e ELASTIC_PASSWORD123456 \ -v /mnt/data/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /mnt/data/es/data:/usr/share/elasticsearch/data \ -v /mnt/data/es/logs:/usr/share/elasticsearch/logs \ -v /mnt/data/es/plugins:/usr/share/elasticsearch/plugins \ public-docker-virtual.artsz.zte.com.cn/elasticsearch:8.8.2 安装ik分词器 cd /data/es/plugins mkdir ik curl -L https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-8.8.2.zip -o ik.zip unzip ik.zip -d ik/ chown -R 1000:100 ik/ chmod -R 755 ik/ rm -f ik.zip docker restart es curl -u elastic:123456 -XPOST http://localhost:9200/_analyze?pretty -H Content-Type: application/json -d {analyzer:ik_max_word,text:我是中国人}下面给出一套在 Linux 下用 Docker 安装 **ElasticsearchES**的完整、可直接复制执行的流程含环境准备→拉镜像→目录与配置→启动→验证→常用配置/ik分词器/卸载。 --- ## 一、前提安装 Docker如已装可跳过 bash # CentOS/RHEL yum install -y docker-ce systemctl enable docker systemctl start docker # Ubuntu/Debian apt update apt install -y docker-ce systemctl enable docker systemctl start docker验证docker--version二、拉取 Elasticsearch 镜像官方推荐这里以8.11.3为例可替换为 7.x 或最新 8.x# 官方镜像推荐dockerpull docker.elastic.co/elasticsearch/elasticsearch:8.11.3# 或 Docker Hub 镜像# docker pull elasticsearch:8.11.3三、创建宿主机挂载目录数据持久化配置自定义# 统一放在 /data/es便于管理mkdir-p/data/es/{data,config,logs,plugins}# 权限必须给足否则容器内用户无权限写入chmod-R777/data/es四、编写 elasticsearch.yml 配置文件cat/data/es/config/elasticsearch.ymlEOF # 集群名称 cluster.name: docker-es-cluster # 节点名称 node.name: es-node-1 # 绑定所有网卡允许外部访问 network.host: 0.0.0.0 # 对外 HTTP 端口 http.port: 9200 # 内部通信端口 transport.port: 9300 # 单节点模式生产集群需去掉改用 discovery.seed_hosts discovery.type: single-node # 跨域方便前端/可视化工具访问 http.cors.enabled: true http.cors.allow-origin: * http.cors.allow-headers: Authorization # X-Pack 安全8.x 默认开启7.x 可选 xpack.security.enabled: true xpack.security.enrollment.enabled: true EOF五、启动 Elasticsearch 容器核心命令dockerrun-d\--namees\--restartalways\-p9200:9200\-p9300:9300\-eES_JAVA_OPTS-Xms1g -Xmx1g\-eELASTIC_PASSWORD123456\-v/data/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml\-v/data/es/data:/usr/share/elasticsearch/data\-v/data/es/logs:/usr/share/elasticsearch/logs\-v/data/es/plugins:/usr/share/elasticsearch/plugins\docker.elastic.co/elasticsearch/elasticsearch:8.11.3参数说明关键-d后台运行--name es容器名-p 9200:9200HTTP 端口浏览器/程序访问-p 9300:9300节点通信端口集群用ES_JAVA_OPTSJVM 内存生产至少 1g不超过主机内存 50%ELASTIC_PASSWORDelastic用户密码8.x 默认开启安全-v目录挂载数据/配置/日志/插件都持久化到宿主机六、验证是否启动成功1. 查看容器状态dockerps|grepes# 状态为 Up 即正常2. 查看日志排错用dockerlogs-fes# 看到 started 表示启动完成3. 访问测试本机或浏览器curl-uelastic:123456 http://localhost:9200成功返回类似{name:es-node-1,cluster_name:docker-es-cluster,version:{number:8.11.3},tagline:You Know, for Search}浏览器访问http://你的服务器IP:9200输入账号elastic、密码123456。七、常用扩展可选1. 安装 ik 分词器中文必备# 进入容器dockerexec-itesbash# 在线安装版本要和 ES 一致./bin/elasticsearch-plugininstallhttps://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.11.3/elasticsearch-analysis-ik-8.11.3.zip# 退出并重启容器exitdockerrestart es2. 关闭安全认证开发环境可选生产不建议修改/data/es/config/elasticsearch.ymlxpack.security.enabled:false重启docker restart es八、停止/重启/删除# 停止dockerstop es# 重启dockerrestart es# 删除容器数据仍在 /data/esdockerrm-fes# 彻底删除含数据rm-rf/data/es九、常见坑启动失败权限不足→ 执行chmod -R 777 /data/es内存溢出→ 调整ES_JAVA_OPTS不要超过主机内存 50%9200 访问不通→ 防火墙放行firewall-cmd --add-port9200/tcp --permanent firewall-cmd --reload需要我再给你一份docker-compose.yml一键编排文件含 ESKibana直接docker-compose up -d即可启动吗ES使用删除KPI的数据curl -X POST -u “elastic:123456” “http://10.57.165.185:9220/qwen3_embedding_index/_delete_by_query” -H “Content-Type: application/json” -d ‘{“query”: {“term”: {“metadata.type.keyword”: “日志”}}}’查找type的所有值curl -X GET -u “elastic:123456” -k “http://10.57.165.185:9220/qwen3_embedding_index/_search?size0” -H “Content-Type: application/json” -d ‘{“size”: 0,“aggs”: {“all_types”: {“terms”: {“field”: “metadata.type.keyword”,“size”: 100}}}}’
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2613283.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!