阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ELK-单机部署Elasticsearch

457次阅读
没有评论

共计 7808 个字符,预计需要花费 20 分钟才能阅读完成。

一、Elasticsearch 简介

Elasticsearch(简称 ES)是一个 开源的分布式搜索引擎 ,Elasticsearch 还是一个 分布式文档数据库 。所以它提供了大量数据的 存储 功能, 快速的 搜索 分析 功能。

提到搜索, 大家肯定就想到了百度, 谷歌, 必应等。当然也有如下的搜索场景。

ELK- 单机部署 Elasticsearch

二、Elasticsearch 部署方法

  1. JDK 安装并设置为默认 java 环境
  2. Elasticsearch 安装
  3. 配置 elasticsearch 监听 ip 地址
  4. 测试
关于软件获得 1、JDK 注意:下载页面,需要接受下载协议才能下载 jdk13 https://download.oracle.com/otn-pub/java/jdk/13.0.2+8/d4173c853231432d94f001e99d882ca7/jdk-13.0.2_linux-x64_bin.rpm 2、Elasticsearch https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.0-x86_64.rpm 3、logstash https://artifacts.elastic.co/downloads/logstash/logstash-7.6.0.rpm 4、kibana https://artifacts.elastic.co/downloads/kibana/kibana-7.6.0-x86_64.rpm 5、filebeat https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.0-x86_64.rpm

2.1、JDK 安装

JDK 介绍

JDK 的全称是 Java Development Kit,是 Sun 公司免费提供的 Java 语言的软件开发工具包,其中包含 Java 虚拟机(JVM),java 运行环境(JRE)。编写好的 Java 源程序经过编译可形成 Java 字节码,只要安装了 JDK,就可以利用 JVM 解释这些字节码文件,从而保证了 Java 的跨平台性。

JDK 安装方法
  1. 软件安装[本次安装 jdk13.0.2]
  2. 设置环境变量,默认 java 环境为新安装环境
#1、软件安装 # 默认安装路径 /usr/java/jdk-13.0.2 [root@node1 ~]# rpm -ivh jdk-13.0.2_linux-x64_bin.rpm 警告:jdk-13.0.2_linux-x64_bin.rpm: 头 V3 RSA/SHA256 Signature, 密钥 ID ec551f03: NOKEY Verifying... ################################# [100%] 准备中... ################################# [100%] 正在升级 / 安装... 1:jdk-13.0.2-2000:13.0.2-ga ################################ [100%] or 如果有依赖,可以通过 yum 解决依赖 [root@node1 elk_7.6_soft]# yum -y localinstall jdk-13.0.2_linux-x64_bin.rpm #2、设置环境变量,默认 java 环境为新安装环境 # 注意 java 环境给谁用 #/etc/profile #~/.bash_profile # 在 /etc/profile 文件中追加以下环境变量,并导出为全局变量 [root@node1 ~]# tail -4 /etc/profile #JAVA 安装路径 JAVA_HOME=/usr/java/jdk-13.0.2/ #JAVA 命令输出 PATH=$JAVA_HOME/bin:$PATH:$HOME/bin #JAVA 库文件 CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar # 导出全局 export PATH JAVA_HOME CLASSPATH CATALINA_HOME # 重载 /etc/profile 文件到内存,生效变量 [root@node1 ~]# source /etc/profile #3、测试 java 默认环境 [root@node1 ~]# java --version java 13.0.2 2020-01-14 # 看这里,看这里,完美! Java(TM) SE Runtime Environment (build 13.0.2+8) Java HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)

2.2 Elasticsearch 安装

Elasticsearch 安装方法
  • Elasticsearch RPM 安装
  • yum 源安装
  • 源码安装

Elasticsearch 安装方法对比

Elasticsearch RPM 安装:

​ 需要提前下好安装包,如果有依赖需要手动解决依赖,压力山大!

yum 源安装

​ 傻瓜式安装,做好 yum 源即可,网络很重要。

源码安装

​ 源码自定义安装,可以优化软件功能,删减功能,高手的选择。

RPM 安装方法

a、下载 elasticsearch RPM 包

b、安装 elasticsearch

a、下载 elasticsearch RPM 包 [root@node1 ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.0-x86_64.rpm b、安装 elasticsearch [root@node1 ~]# rpm -ivh elasticsearch-7.6.0-x86_64.rpm 警告:elasticsearch-7.6.0-x86_64.rpm: 头 V4 RSA/SHA512 Signature, 密钥 ID d88e42b4: NOKEY Verifying... ################################# [100%] 准备中... ################################# [100%] Creating elasticsearch group... OK Creating elasticsearch user... OK 正在升级 / 安装... 1:elasticsearch-0:7.6.0-1 ################################# [100%] ### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd 安装服务到 systemd 服务,方便使用 systemctl 管理服务 sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service ### You can start elasticsearch service by executing sudo systemctl start elasticsearch.service 服务启动方法 Created elasticsearch keystore in /etc/elasticsearch [/usr/lib/tmpfiles.d/elasticsearch.conf:1] Line references path below legacy directory /var/run/, updating /var/run/elasticsearch → /run/elasticsearch; please update the tmpfiles.d/ drop-in file accordingly. [/usr/lib/tmpfiles.d/libstoragemgmt.conf:1] Line references path below legacy directory /var/run/, updating /var/run/lsm → /run/lsm; please update the tmpfiles.d/ drop-in file accordingly. [/usr/lib/tmpfiles.d/libstoragemgmt.conf:2] Line references path below legacy directory /var/run/, updating /var/run/lsm/ipc → /run/lsm/ipc; please update the tmpfiles.d/ drop-in file accordingly. [/usr/lib/tmpfiles.d/mdadm.conf:1] Line references path below legacy directory /var/run/, updating /var/run/mdadm → /run/mdadm; please update the tmpfiles.d/ drop-in file accordingly. [/usr/lib/tmpfiles.d/radvd.conf:1] Line references path below legacy directory /var/run/, updating /var/run/radvd → /run/radvd; please update the tmpfiles.d/ drop-in file accordingly. [/usr/lib/tmpfiles.d/spice-vdagentd.conf:2] Line references path below legacy directory /var/run/, updating /var/run/spice-vdagentd → /run/spice-vdagentd; please update the tmpfiles.d/ drop-in file accordingly. 安装路径 /usr/share/elasticsearch/

yum 源安装

a、安装 elasticsearch gpg key

b、设置 yum 源

c、安装 elasticsearch

a、================= 安装 elasticsearch key================= [root@node1 ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch b、================= 设置 yum 源 ================= [root@node1 ~]# cat >>/etc/yum.repos.d/elk.repo <<EOF > [elasticsearch-7.x] > name=Elasticsearch repository for 7.x packages > baseurl=https://artifacts.elastic.co/packages/7.x/yum > gpgcheck=1 > gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch > enabled=1 > autorefresh=1 > type=rpm-md > EOF c、================= 安装 elasticsearch================= [root@node1 ~]# yum install elasticsearch

源码安装

a、下载源码包

b、解压安装

c、启动测试

挑战自我,超越自我,you can you do! 参考官方手册 https://www.elastic.co/guide/en/elasticsearch/reference/7.6/targz.html

Elasticsearch 配置文件目录结构

elasticsearch 安装目录:/usr/share/elasticsearch/ elasticsearch 配置文件目录:/etc/elasticsearch/ [root@node1 ~]# cd /etc/elasticsearch/ [root@node1 elasticsearch]# tree . ├── elasticsearch.keystore #key 存储 ├── elasticsearch.yml # 主配置文件 ├── jvm.options #JVM 虚拟机参数配置文件 ├── log4j2.properties # 记录日志 ├── role_mapping.yml # 空文件 ├── roles.yml # 空文件,定义权限文件 ├── users # 空文件,定义用户文件 └── users_roles # 空文件 四个空文件是 ES 权限控制文件

Elasticsearch 设置[拓展]

# 堆内存设置 jvm 将内存逻辑分区,主要分为堆、栈、方法区 java 创建的对象放在堆内存中 java 创建的方法是放在栈内存执行,包括局部变量 java 源码编译后二进制文件执行要加载到方法区,常量池也存在方法区 # 详情可参考天易 IT 学院 java 课程 数据结构 JVM 课程 Elasticsearch 默认安装后设置的堆内存是 1 GB。对于任何一个业务部署来说,这个设置都太小了。如果你正在使用这些默认堆内存配置,您的集群可能会出现问题。# 建议不要超过 32G 官方解释 在 Java 中,所有的对象都分配在堆上,并通过一个指针进行引用。普通对象指针(OOP)指向这些对象,通常为 CPU 字长 的大小:32 位或 64 位,取决于你的处理器。指针引用的就是这个 OOP 值的字节位置。对于 32 位的系统,意味着堆内存大小最大为 4 GB。对于 64 位的系统,可以使用更大的内存,但是 64 位的指针意味着更大的浪费,因为你的指针本身大了。更糟糕的是,更大的指针在主内存和各级缓存(例如 LLC,L1 等)之间移动数据的时候,会占用更多的带宽。Java 使用一个叫作 内存指针压缩(compressed oops)的技术来解决这个问题。它的指针不再表示对象在内存中的精确位置,而是表示 偏移量。这意味着 32 位的指针可以引用 40 亿个 对象,而不是 40 亿个字节。最终,也就是说堆内存增长到 32 GB 的物理内存,也可以用 32 位的指针表示。一旦你越过那个神奇的 ~32 GB 的边界,指针就会切回普通对象的指针。每个对象的指针都变长了,就会使用更多的 CPU 内存带宽,也就是说你实际上失去了更多的内存。事实上,当内存到达 4050 GB 的时候,有效内存才相当于使用内存对象指针压缩技术时候的 32 GB 内存。这段描述的意思就是说:即便你有足够的内存,也尽量不要 超过 32 GB。因为它浪费了内存,降低了 CPU 的性能,还要让 GC 应对大内存。#GC,全称是 Garbage Collection(垃圾收集)或者 Garbage Collector(垃圾收集器) # 参考文档 https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html # 设置方法 [root@node1 ~]#vim /etc/elasticsearch/jvm.options # Xms represents the initial size of total heap space # Xmx represents the maximum size of total heap space -Xms1g -Xmx1g

Elasticsearch 服务管理方法

a、开机启动服务

b、服务启动管理

a、开机启动服务 [root@node1 ~]# systemctl enable elasticsearch.service Synchronizing state of elasticsearch.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable elasticsearch Created symlink /etc/systemd/system/multi-user.target.wants/elasticsearch.service → /usr/lib/systemd/system/elasticsearch.service. b、服务启动管理 [root@node1 ~]# systemctl start elasticsearch.service c、启动测试 [root@node1 ~]# netstat -ntpl ..... tcp6 0 0 127.0.0.1:9200 :::* LISTEN 2698/java tcp6 0 0 ::1:9200 :::* LISTEN 2698/java tcp6 0 0 127.0.0.1:9300 :::* LISTEN 2698/java tcp6 0 0 ::1:9300 :::* LISTEN 2698/java

2.3、配置 Elasticsearch 监听本地外网地址

绑定 ES 监听地址为:192.168.98.201

[root@node1 ~]# vim /etc/elasticsearch/elasticsearch.yml # ---------------------------------- Network -------------------------- # # Set the bind address to a specific IP (IPv4 or IPv6): # network.host: 192.168.98.201 # 删除 #号,设置本机某个公网地址或 0.0.0.0 # # Set a custom port for HTTP: # #http.port: 9200 # # For more information, consult the network module documentation. # # --------------------------------- Discovery ------------------------- # # Pass an initial list of hosts to perform discovery when this node is started: # The default list of hosts is ["127.0.0.1", "[::1]"] # #discovery.seed_hosts: ["host1", "host2"] # # Bootstrap the cluster using an initial set of master-eligible nodes: # 如果 ES 设置公网地址,非 localhost,那么它就会认为这是一个 es 集群,必须有一个 master # 所有开启下面这行,指定 master 可以是哪个 node。 cluster.initial_master_nodes: ["192.168.98.201"] # 删除 #号,写上自己本地地址 # # For more information, consult the discovery and cluster formation module documentation.

重启服务生效

[root@node1 ~]# systemctl restart elasticsearch.service

2.4、测试

验证端口及监听地址

ELK- 单机部署 Elasticsearch

通过浏览器访问 ES

ELK- 单机部署 Elasticsearch

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-06-09发表,共计7808字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7972005
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...