马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Docker 下安装 ElasticSearch 和 Kibana (单节点)
Docker 安装 ES
创建 docker 网络
须要 docker 中的 es 和 kibana 举行网络通讯,利用 docker 网络举行容器间通讯- # 创建名为 es-network 的桥接网络
- docker network create es-network
- # 查询 docker 网络
- docker network ls
- 输出如下:
- NETWORK ID NAME DRIVER SCOPE
- b569d3366b85 bridge bridge local
- 8ab6a69d63df es-network bridge local
- 7650772bc095 host host local
- 44734947ec78 none null local
复制代码 下载 ES 镜像
- # 指定 es 版本下载
- docker pull elasticsearch:7.17.9
复制代码 运行容器
若须要挂载容器卷,须提前创建文件夹- # 完整版命令
- docker run -d --name elasticsearch -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms1G -Xmx1G" -v D:\dev\docker\es\data:/usr/share/elasticsearch/data -v D:\dev\docker\es\logs:/usr/share/elasticsearch/logs -v D:\dev\docker\es\plugins:/usr/share/elasticsearch/plugins --network es-network elasticsearch:7.17.9
- # 简化版命令
- docker run -d --name elasticsearch -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 --network es-network elasticsearch:7.17.9
- # 命令解释
- -e "discovery.type=single-node" :单节点运行
- -p 9200:9200 -p 9300:9300 :指定端口号映射;9200是HTTP API端口、9300是集群间节点通信端口
- -e "ES_JAVA_OPTS=-Xms1G -Xmx1G" :指定初始堆内存和最大堆内存,避免因内存不足而导致性能问题或崩溃。通常议将这两个值设置为相同,以优化性能。
- -v /xxx/xxx/xxx :挂载卷,用于将docker容器内的文件与宿主机进行同步
- --network es-network :将es容器加入网络,用于与kibana通信
复制代码 验证安装
欣赏器输入 localhost:9200 ,有如下输出阐明安装乐成- {
- "name" : "e41442030a3f",
- "cluster_name" : "docker-cluster",
- "cluster_uuid" : "bq17ajCvSdGBIPr38JrPNQ",
- "version" : {
- "number" : "7.17.9",
- "build_flavor" : "default",
- "build_type" : "docker",
- "build_hash" : "ef48222227ee6b9e70e502f0f0daa52435ee634d",
- "build_date" : "2023-01-31T05:34:43.305517834Z",
- "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"
- }
复制代码 设置用户暗码
修改文件: /usr/share/elasticsearch/config/elasticsearch.yml,末端追加下述设置 xpack.security.enabled: true
文件修改方式:
- 利用 docker cp 下令完成容器和宿主机的文件传输,举行文件修改,
- 容器 -> 宿主机:docker cp elasticsearch:/usr/share/elasticsearch/config.elasticsearch.yml D:/xxx/xxx
- 宿主机 -> 容器:docker cp D:/xxx/xxx elasticsearch:/usr/share/elasticsearch/config.elasticsearch.yml
参数表明:docker cp path1 path2
– path1 文件复制源路径
– path2 文件复制目的路径
若路径为容器内的路径,则需写为: 容器名称:路径
如:elasticsearch:/usr/share/elasticsearch/config.elasticsearch.yml
- 直接利用 docker 桌面版举行修改
- 设置暗码
- # 进入目录
- cd /usr/share/elasticsearch/bin
- # 手动设置用户名和密码,手动输入
- elasticsearch-setup-passwords interactive
复制代码- # 进入目录
- cd /usr/share/elasticsearch/bin
- # 自动生成,密码要保存好
- elasticsearch-setup-passwords auto
复制代码 - 重启镜像
- docker restart elasticsearch
复制代码 欣赏器输入 localhost:9200 ,弹出输入用户名和暗码弹窗,登录并检察输出;用户名为:elastic。
Docker 安装 Kibana
下载 Kibana 镜像
- # 指定版本下载 kibana
- # 要和上面的 es 的版本相同
- docker pull kibana:7.17.9
复制代码 运行容器
- docker run -d --name kibana1 -p 5601:5601 --network es-network -e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" kibana:7.17.9
- # 参数解释
- -p 5601:5601 :端口映射
- --network es-network : 加入docker网络,用于与elasticsearch通信
- -e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" :指定es地址,可以用 `容器名称` 代替
复制代码 更改设置
修改 /usr/share/kibana/config/kibana.yml- # 添加以下配置
- i18n.locale: "zh-CN" # 设置kibana为中文
- csp.strict: false # 内容安全策略,调试模型设置为false’
- # 以下为 kibana 连接es的用户名和密码,若es没开启认证,以下配置可以不加
- elasticsearch.username: "kibana_system"
- elasticsearch.password: "admin123"
复制代码 重启 kibana 容器,进入 localhost:5601,举行登录,若es开启了认证,则需输入账号暗码;
Kibana常勤劳能
菜单栏阐明
只先容常用、焦点功能
- Analytics: 分析模块,用于 ES 查询分析
- Discover: 用于 ES 查询的用户界面
- Dashboard、 Canvas、Maps :该模块紧张用于可视化展示,可以根据自身需求设置展示数据、展示方式等。
- Management:体系设置
- 开发工具:编写 DSL 语句,与 ES 交互的工具;
- Stack Management : 体系设置模块
- 索引管理 : 对所毗连 ES 的索引举行管理,包罗:索引设置、索引删除、索引映射修改、索引模板等。
- 安全:对体系的权限举行控制,体现左侧菜单栏的体现等。
- 索引模式:管理索引模式,只有能被索引模式匹配的数据,才会在 Analytics 中展示,索引模式支持利用 * 举行通用符匹配
- 如:
- 1. log-test01、 log-test02、 log-test03 索引会被 log*、log-*、log-test* 索引模式匹配
- 2. system_info 索引会被 system_info 索引模式匹配(具体指定,不使用通配符)
复制代码
导入示例数据
- 进入 http://localhost:5601/app/integrations/browse 数据集成设置页面,点击集成 样例数据,选择任一样例数据;
- 点击菜单栏中 Analytics ,检察Discover Dashboard Canvas Maps等。
|