01 安装:ElasticSearch和Kibana安装
ElasticSearch 是基于Java平台的所以先要安装Java平台确认这里我准备了一台Centos7虚拟机, 为方便选择后续安装的版本所以需要看下系统版本信息。[rootVM-0-14-centos ~]# uname -a Linux VM-0-14-centos 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux安装Java安装 Elasticsearch 之前你需要先安装一个较新的版本的 Java最好的选择是你可以从 www.java.com 获得官方提供的最新版本的 Java。安装以后确认是否安装成功[rootVM-0-14-centos ~]# java --version openjdk 14.0.2 2020-07-14 OpenJDK Runtime Environment 20.3 (slowdebug build 14.0.212) OpenJDK 64-Bit Server VM 20.3 (slowdebug build 14.0.212, mixed mode, sharing)下载ElasticSearch从这里 下载ElasticSearch比如可以通过curl下载[rootVM-0-14-centos opt]# curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed解压[rootVM-0-14-centos opt]# tar zxvf /opt/elasticsearch-7.12.0-linux-x86_64.tar.gz ... [rootVM-0-14-centos opt]# ll | grep elasticsearch drwxr-xr-x 9 root root 4096 Mar 18 14:21 elasticsearch-7.12.0 -rw-r--r-- 1 root root 327497331 Apr 5 21:05 elasticsearch-7.12.0-linux-x86_64.tar.gz增加elasticSearch用户必须创建一个非root用户来运行ElasticSearch(ElasticSearch5及以上版本基于安全考虑强制规定不能以root身份运行。)如果你使用root用户来启动ElasticSearch则会有如下错误信息[rootVM-0-14-centos opt]# cd elasticsearch-7.12.0/ [rootVM-0-14-centos elasticsearch-7.12.0]# ./bin/elasticsearch [2021-04-05T21:36:46,510][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [VM-0-14-centos] uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.12.0.jar:7.12.0] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.12.0.jar:7.12.0] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:75) ~[elasticsearch-7.12.0.jar:7.12.0] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:116) ~[elasticsearch-cli-7.12.0.jar:7.12.0] at org.elasticsearch.cli.Command.main(Command.java:79) ~[elasticsearch-cli-7.12.0.jar:7.12.0] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.12.0.jar:7.12.0] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:81) ~[elasticsearch-7.12.0.jar:7.12.0] Caused by: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:101) ~[elasticsearch-7.12.0.jar:7.12.0] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:168) ~[elasticsearch-7.12.0.jar:7.12.0] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:397) ~[elasticsearch-7.12.0.jar:7.12.0] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.12.0.jar:7.12.0] ... 6 more uncaught exception in thread [main] java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:101) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:168) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:397) at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:75) at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:116) at org.elasticsearch.cli.Command.main(Command.java:79) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:81) For complete error details, refer to the log at /opt/elasticsearch-7.12.0/logs/elasticsearch.log 2021-04-05 13:36:46,979269 UTC [8846] INFO Main.cc106 Parent process died - ML controller exiting所以我们增加一个独立的elasticsearch用户来运行# 增加elasticsearch用户 [rootVM-0-14-centos elasticsearch-7.12.0]# useradd elasticsearch [rootVM-0-14-centos elasticsearch-7.12.0]# passwd elasticsearch Changing password for user elasticsearch. New password: BAD PASSWORD: The password contains the user name in some form Retype new password: passwd: all authentication tokens updated successfully. # 修改目录权限至新增的elasticsearch用户 [rootVM-0-14-centos elasticsearch-7.12.0]# chown -R elasticsearch /opt/elasticsearch-7.12.0 # 增加data和log存放区并赋予elasticsearch用户权限 [rootVM-0-14-centos elasticsearch-7.12.0]# mkdir -p /data/es [rootVM-0-14-centos elasticsearch-7.12.0]# chown -R elasticsearch /data/es [rootVM-0-14-centos elasticsearch-7.12.0]# mkdir -p /var/log/es [rootVM-0-14-centos elasticsearch-7.12.0]# chown -R elasticsearch /var/log/es然后修改上述的data和log路径vi /opt/elasticsearch-7.12.0/config/elasticsearch.yml# ----------------------------------- Paths ------------------------------------ # # Path to directory where to store the data (separate multiple locations by comma): # path.data: /data/es # # Path to log files: # path.logs: /var/log/es修改Linux系统的限制配置修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建权限。修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程其他用户开启的进程可以开启1024个线程。必须修改限制数为4096。因为ES至少需要4096的线程池预备。ES在5.x版本之后强制要求在linux中不能使用root用户启动ES进程。所以必须使用其他用户启动ES进程才可以。Linux低版本内核为线程分配的内存是128K。4.x版本的内核分配的内存更大。如果虚拟机的内存是1G最多只能开启3000个线程数。至少为虚拟机分配1.5G以上的内存。修改如下配置[rootVM-0-14-centos elasticsearch-7.12.0]# vi /etc/security/limits.conf elasticsearch soft nofile 65536 elasticsearch hard nofile 65536 elasticsearch soft nproc 4096 elasticsearch hard nproc 4096启动ElasticSearch[rootVM-0-14-centos elasticsearch-7.12.0]# su elasticsearch [elasticsearchVM-0-14-centos elasticsearch-7.12.0]$ ./bin/elasticsearch -d [2021-04-05T22:03:38,332][INFO ][o.e.n.Node ] [VM-0-14-centos] version[7.12.0], pid[13197], build[default/tar/78722783c38caa25a70982b5b042074cde5d3b3a/2021-03-18T06:17:15.410153305Z], OS[Linux/3.10.0-862.el7.x86_64/amd64], JVM[AdoptOpenJDK/OpenJDK 64-Bit Server VM/15.0.1/15.0.19] [2021-04-05T22:03:38,348][INFO ][o.e.n.Node ] [VM-0-14-centos] JVM home [/opt/elasticsearch-7.12.0/jdk], using bundled JDK [true] [2021-04-05T22:03:38,348][INFO ][o.e.n.Node ] [VM-0-14-centos] JVM arguments [-Xshare:auto, -Des.networkaddress.cache.ttl60, -Des.networkaddress.cache.negative.ttl10, -XX:AlwaysPreTouch, -Xss1m, -Djava.awt.headlesstrue, -Dfile.encodingUTF-8, -Djna.nosystrue, -XX:-OmitStackTraceInFastThrow, -XX:ShowCodeDetailsInExceptionMessages, -Dio.netty.noUnsafetrue, -Dio.netty.noKeySetOptimizationtrue, -Dio.netty.recycler.maxCapacityPerThread0, -Dio.netty.allocator.numDirectArenas0, -Dlog4j.shutdownHookEnabledfalse, -Dlog4j2.disable.jmxtrue, -Djava.locale.providersSPI,COMPAT, --add-opensjava.base/java.ioALL-UNNAMED, -XX:UseG1GC, -Djava.io.tmpdir/tmp/elasticsearch-17264135248464897093, -XX:HeapDumpOnOutOfMemoryError, -XX:HeapDumpPathdata, -XX:ErrorFilelogs/hs_err_pid%p.log, -Xlog:gc*,gcagetrace,safepoint:filelogs/gc.log:utctime,pid,tags:filecount32,filesize64m, -Xms1894m, -Xmx1894m, -XX:MaxDirectMemorySize993001472, -XX:G1HeapRegionSize4m, -XX:InitiatingHeapOccupancyPercent30, -XX:G1ReservePercent15, -Des.path.home/opt/elasticsearch-7.12.0, -Des.path.conf/opt/elasticsearch-7.12.0/config, -Des.distribution.flavordefault, -Des.distribution.typetar, -Des.bundled_jdktrue]查看安装是否成功[rootVM-0-14-centos ~]# netstat -ntlp | grep 9200 tcp6 0 0 127.0.0.1:9200 :::* LISTEN 13549/java tcp6 0 0 ::1:9200 :::* LISTEN 13549/java [rootVM-0-14-centos ~]# curl 127.0.0.1:9200 { name : VM-0-14-centos, cluster_name : elasticsearch, cluster_uuid : ihttW8b2TfWSkwf_YgPH2Q, version : { number : 7.12.0, build_flavor : default, build_type : tar, build_hash : 78722783c38caa25a70982b5b042074cde5d3b3a, build_date : 2021-03-18T06:17:15.410153305Z, build_snapshot : false, lucene_version : 8.8.0, minimum_wire_compatibility_version : 6.8.0, minimum_index_compatibility_version : 6.0.0-beta1 }, tagline : You Know, for Search }安装KibanaKibana是界面化的查询数据的工具下载时尽量下载与ElasicSearch一致的版本。下载Kibana从这里 下载Kibana解压[rootVM-0-14-centos opt]# tar -vxzf kibana-7.12.0-linux-x86_64.tar.gz使用elasticsearch用户权限[rootVM-0-14-centos opt]# chown -R elasticsearch /opt/kibana-7.12.0-linux-x86_64 #配置Kibana的远程访问 [rootVM-0-14-centos opt]# vi /opt/kibana-7.12.0-linux-x86_64/config/kibana.yml server.host: 0.0.0.0启动需要切换至elasticsearch用户[rootVM-0-14-centos opt]# su elasticsearch [elasticsearchVM-0-14-centos opt]$ cd /opt/kibana-7.12.0-linux-x86_64/ [elasticsearchVM-0-14-centos kibana-7.12.0-linux-x86_64]$ ./bin/kibana log [22:30:22.185] [info][plugins-service] Plugin osquery is disabled. log [22:30:22.283] [warning][config][deprecation] Config key [monitoring.cluster_alerts.email_notifications.email_address] will be required for email notifications to work in 8.0. log [22:30:22.482] [info][plugins-system] Setting up [100] plugins: [taskManager,licensing,globalSearch,globalSearchProviders,banners,code,usageCollection,xpackLegacy,telemetryCollectionManager,telemetry,telemetryCollectionXpack,kibanaUsageCollection,securityOss,share,newsfeed,mapsLegacy,kibanaLegacy,translations,legacyExport,embeddable,uiActionsEnhanced,expressions,charts,esUiShared,bfetch,data,home,observability,console,consoleExtensions,apmOss,searchprofiler,painlessLab,grokdebugger,management,indexPatternManagement,advancedSettings,fileUpload,savedObjects,visualizations,visTypeVislib,visTypeVega,visTypeTimelion,features,licenseManagement,watcher,canvas,visTypeTagcloud,visTypeTable,visTypeMetric,visTypeMarkdown,tileMap,regionMap,visTypeXy,graph,timelion,dashboard,dashboardEnhanced,visualize,visTypeTimeseries,inputControlVis,discover,discoverEnhanced,savedObjectsManagement,spaces,security,savedObjectsTagging,maps,lens,reporting,lists,encryptedSavedObjects,dashboardMode,dataEnhanced,cloud,upgradeAssistant,snapshotRestore,fleet,indexManagement,rollup,remoteClusters,crossClusterReplication,indexLifecycleManagement,enterpriseSearch,beatsManagement,transform,ingestPipelines,eventLog,actions,alerts,triggersActionsUi,stackAlerts,ml,securitySolution,case,infra,monitoring,logstash,apm,uptime] log [22:30:22.483] [info][plugins][taskManager] TaskManager is identified by the Kibana UUID: xxxxxx ...如果是后台启动[elasticsearchVM-0-14-centos kibana-7.12.0-linux-x86_64]$ nohup ./bin/kibana 界面访问可以导入simple data查看数据配置密码访问使用基本许可证时默认情况下禁用Elasticsearch安全功能。由于我测试环境是放在公网上的所以需要设置下密码访问。相关文档可以参考这里停止kibana和elasticsearch服务将xpack.security.enabled设置添加到ES_PATH_CONF/elasticsearch.yml文件并将值设置为true启动elasticsearch (./bin/elasticsearch -d)执行如下密码设置器./bin/elasticsearch-setup-passwords interactive来设置各个组件的密码将elasticsearch.username设置添加到KIB_PATH_CONF/kibana.yml 文件并将值设置给elastic用户elasticsearch.username: elastic创建kibana keystore,./bin/kibana-keystore create在kibana keystore 中添加密码./bin/kibana-keystore add elasticsearch.password重启kibana 服务即可nohup ./bin/kibana 然后就可以使用密码登录了

相关新闻

收藏!小白程序员必看:AI大模型投资机会与未来趋势深度解析

收藏!小白程序员必看:AI大模型投资机会与未来趋势深度解析

本文探讨了AI大模型的发展趋势及其对投资的重要性,指出AI技术可能带来的潜在风险,如大规模失业和消费者支出下降。同时,文章分析了大模型的能力提升、商业化路径以及新兴的Agent技术,如OpenClaw,如何推动AI从工具进化为…

2026/5/17 6:47:50 阅读更多 →
Go 语言系统编程与云原生开发实战(第21篇)

Go 语言系统编程与云原生开发实战(第21篇)

云原生安全实战:零信任 机密管理 运行时防护(从“基础防护”到“纵深防御”)重制说明:拒绝“安全玄学”,聚焦 可验证、可度量、可落地 的安全实践。全文 9,750 字,基于金融级系统安全加固实录&#xff08…

2026/7/5 15:01:05 阅读更多 →
借助 OpManager 实现高效网络管理全面指南

借助 OpManager 实现高效网络管理全面指南

在当今互联互通的数字化时代,网络管理的复杂度日益提升,涵盖有线、无线及虚拟 IT 环境等多个维度。网络管理员亟需高效工具应对这一复杂性。面对市面上众多的网络管理解决方案,选择一款在可靠性、实用性与经济性之间取得平衡的工具至关重要。…

2026/7/5 9:00:00 阅读更多 →

最新新闻

零成本构建你的AI股票分析助手:从零到精通的实战指南

零成本构建你的AI股票分析助手:从零到精通的实战指南

零成本构建你的AI股票分析助手:从零到精通的实战指南 【免费下载链接】daily_stock_analysis LLM 驱动的多市场股票智能分析系统:多源行情、实时新闻、决策看板与自动推送,支持零成本定时运行。 LLM-powered multi-market stock analysis sys…

2026/7/6 17:04:38 阅读更多 →
Camunda BPM 7终极指南:如何在Java项目中快速集成开源工作流引擎

Camunda BPM 7终极指南:如何在Java项目中快速集成开源工作流引擎

Camunda BPM 7终极指南:如何在Java项目中快速集成开源工作流引擎 【免费下载链接】camunda-bpm-platform Camunda 7 CE is End of Life (EoL). Please check out Camunda 8 instead (https://github.com/camunda/camunda) or read about Camunda 7 Enterprise End o…

2026/7/6 17:02:36 阅读更多 →
OpenCode状态持久化:如何用企业级快照技术重塑开发工作流

OpenCode状态持久化:如何用企业级快照技术重塑开发工作流

OpenCode状态持久化:如何用企业级快照技术重塑开发工作流 【免费下载链接】opencode The open source coding agent. 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 当开发者在解决复杂问题时突然被打断,他们面临的不仅是思路中…

2026/7/6 16:58:31 阅读更多 →
Go项目配置管理难题:基于反射的TOML自动化解析实战

Go项目配置管理难题:基于反射的TOML自动化解析实战

Go项目配置管理难题:基于反射的TOML自动化解析实战 【免费下载链接】toml TOML parser for Golang with reflection. 项目地址: https://gitcode.com/gh_mirrors/toml/toml 在Go语言项目中,配置文件管理常面临类型安全、版本兼容性和文档同步的挑…

2026/7/6 16:54:28 阅读更多 →
国家图书馆ISBN插件:3分钟实现Calibre图书信息自动化管理的终极指南

国家图书馆ISBN插件:3分钟实现Calibre图书信息自动化管理的终极指南

国家图书馆ISBN插件:3分钟实现Calibre图书信息自动化管理的终极指南 【免费下载链接】NLCISBNPlugin 基于中国国家图书馆ISBN检索的calibre的source/metadata插件。https://doiiars.com/article/NLCISBNPlugin 项目地址: https://gitcode.com/gh_mirrors/nl/NLCIS…

2026/7/6 16:50:20 阅读更多 →
如何通过浏览器扩展自动化Markdown格式转换:Copy as Markdown技术实现详解

如何通过浏览器扩展自动化Markdown格式转换:Copy as Markdown技术实现详解

如何通过浏览器扩展自动化Markdown格式转换:Copy as Markdown技术实现详解 【免费下载链接】copy-as-markdown A browser extension to copy tabs and links as Markdown 项目地址: https://gitcode.com/gh_mirrors/co/copy-as-markdown 在技术文档编写、学术…

2026/7/6 16:46:14 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻