mirror of
https://github.com/zhwei820/learn.lianglianglee.com.git
synced 2025-09-25 20:56:42 +08:00
439 lines
29 KiB
HTML
439 lines
29 KiB
HTML
<!DOCTYPE html>
|
||
<!-- saved from url=(0046)https://kaiiiz.github.io/hexo-theme-book-demo/ -->
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
|
||
<link rel="icon" href="/static/favicon.png">
|
||
<title>03 安装:ElasticSearch和Kibana安装.md.html</title>
|
||
<!-- Spectre.css framework -->
|
||
<link rel="stylesheet" href="/static/index.css">
|
||
<!-- theme css & js -->
|
||
<meta name="generator" content="Hexo 4.2.0">
|
||
</head>
|
||
<body>
|
||
<div class="book-container">
|
||
<div class="book-sidebar">
|
||
<div class="book-brand">
|
||
<a href="/">
|
||
<img src="/static/favicon.png">
|
||
<span>技术文章摘抄</span>
|
||
</a>
|
||
</div>
|
||
<div class="book-menu uncollapsible">
|
||
<ul class="uncollapsible">
|
||
<li><a href="/" class="current-tab">首页</a></li>
|
||
</ul>
|
||
<ul class="uncollapsible">
|
||
<li><a href="../">上一级</a></li>
|
||
</ul>
|
||
<ul class="uncollapsible">
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/01 认知:ElasticSearch基础概念.md.html">01 认知:ElasticSearch基础概念</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/02 认知:Elastic Stack生态和场景方案.md.html">02 认知:Elastic Stack生态和场景方案</a>
|
||
</li>
|
||
<li>
|
||
<a class="current-tab" href="/专栏/ElasticSearch知识体系详解/03 安装:ElasticSearch和Kibana安装.md.html">03 安装:ElasticSearch和Kibana安装</a>
|
||
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/04 入门:查询和聚合的基础使用.md.html">04 入门:查询和聚合的基础使用</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/05 索引:索引管理详解.md.html">05 索引:索引管理详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/06 索引:索引模板(Index Template)详解.md.html">06 索引:索引模板(Index Template)详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/07 查询:DSL查询之复合查询详解.md.html">07 查询:DSL查询之复合查询详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/08 查询:DSL查询之全文搜索详解.md.html">08 查询:DSL查询之全文搜索详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/09 查询:DSL查询之Term详解.md.html">09 查询:DSL查询之Term详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/10 聚合:聚合查询之Bucket聚合详解.md.html">10 聚合:聚合查询之Bucket聚合详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/11 聚合:聚合查询之Metric聚合详解.md.html">11 聚合:聚合查询之Metric聚合详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/12 聚合:聚合查询之Pipline聚合详解.md.html">12 聚合:聚合查询之Pipline聚合详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/13 原理:从图解构筑对ES原理的初步认知.md.html">13 原理:从图解构筑对ES原理的初步认知</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/14 原理:ES原理知识点补充和整体结构.md.html">14 原理:ES原理知识点补充和整体结构</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/15 原理:ES原理之索引文档流程详解.md.html">15 原理:ES原理之索引文档流程详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/16 原理:ES原理之读取文档流程详解.md.html">16 原理:ES原理之读取文档流程详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/17 优化:ElasticSearch性能优化详解.md.html">17 优化:ElasticSearch性能优化详解</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/18 大厂实践:腾讯万亿级 Elasticsearch 技术实践.md.html">18 大厂实践:腾讯万亿级 Elasticsearch 技术实践</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/19 资料:Awesome Elasticsearch.md.html">19 资料:Awesome Elasticsearch</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/20 WrapperQuery.md.html">20 WrapperQuery</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏/ElasticSearch知识体系详解/21 备份和迁移.md.html">21 备份和迁移</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseover="add_inner()" onmouseleave="remove_inner()">
|
||
<div class="sidebar-toggle-inner"></div>
|
||
</div>
|
||
<script>
|
||
function add_inner() {
|
||
let inner = document.querySelector('.sidebar-toggle-inner')
|
||
inner.classList.add('show')
|
||
}
|
||
function remove_inner() {
|
||
let inner = document.querySelector('.sidebar-toggle-inner')
|
||
inner.classList.remove('show')
|
||
}
|
||
function sidebar_toggle() {
|
||
let sidebar_toggle = document.querySelector('.sidebar-toggle')
|
||
let sidebar = document.querySelector('.book-sidebar')
|
||
let content = document.querySelector('.off-canvas-content')
|
||
if (sidebar_toggle.classList.contains('extend')) { // show
|
||
sidebar_toggle.classList.remove('extend')
|
||
sidebar.classList.remove('hide')
|
||
content.classList.remove('extend')
|
||
} else { // hide
|
||
sidebar_toggle.classList.add('extend')
|
||
sidebar.classList.add('hide')
|
||
content.classList.add('extend')
|
||
}
|
||
}
|
||
function open_sidebar() {
|
||
let sidebar = document.querySelector('.book-sidebar')
|
||
let overlay = document.querySelector('.off-canvas-overlay')
|
||
sidebar.classList.add('show')
|
||
overlay.classList.add('show')
|
||
}
|
||
function hide_canvas() {
|
||
let sidebar = document.querySelector('.book-sidebar')
|
||
let overlay = document.querySelector('.off-canvas-overlay')
|
||
sidebar.classList.remove('show')
|
||
overlay.classList.remove('show')
|
||
}
|
||
</script>
|
||
<div class="off-canvas-content">
|
||
<div class="columns">
|
||
<div class="column col-12 col-lg-12">
|
||
<div class="book-navbar">
|
||
<!-- For Responsive Layout -->
|
||
<header class="navbar">
|
||
<section class="navbar-section">
|
||
<a onclick="open_sidebar()">
|
||
<i class="icon icon-menu"></i>
|
||
</a>
|
||
</section>
|
||
</header>
|
||
</div>
|
||
<div class="book-content" style="max-width: 960px; margin: 0 auto;
|
||
overflow-x: auto;
|
||
overflow-y: hidden;">
|
||
<div class="book-post">
|
||
<p id="tip" align="center"></p>
|
||
<div><h1>03 安装:ElasticSearch和Kibana安装</h1>
|
||
<h2>安装ElasticSearch</h2>
|
||
<blockquote>
|
||
<p>ElasticSearch 是基于Java平台的,所以先要安装Java</p>
|
||
</blockquote>
|
||
<ul>
|
||
<li><strong>平台确认</strong></li>
|
||
</ul>
|
||
<p>这里我准备了一台Centos7虚拟机, 为方便选择后续安装的版本,所以需要看下系统版本信息。</p>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="265449495266706b0b160b17120b454348524955">[email protected]</a> ~]# 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
|
||
|
||
</code></pre>
|
||
<ul>
|
||
<li><strong>安装Java</strong></li>
|
||
</ul>
|
||
<p>安装 Elasticsearch 之前,你需要先安装一个较新的版本的 Java,最好的选择是,你可以从 <a href="https://www.java.com">www.java.com </a> 获得官方提供的最新版本的 Java。安装以后,确认是否安装成功:</p>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8af8e5e5fecadcc7a7baa7bbbea7e9efe4fee5f9">[email protected]</a> ~]# java --version
|
||
openjdk 14.0.2 2020-07-14
|
||
OpenJDK Runtime Environment 20.3 (slowdebug build 14.0.2+12)
|
||
OpenJDK 64-Bit Server VM 20.3 (slowdebug build 14.0.2+12, mixed mode, sharing)
|
||
|
||
</code></pre>
|
||
<ul>
|
||
<li><strong>下载ElasticSearch</strong></li>
|
||
</ul>
|
||
<p>从<a href="https://www.elastic.co/cn/downloads/elasticsearch">这里 </a>下载ElasticSearch</p>
|
||
<p>比如可以通过curl下载</p>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="04766b6b7044524929342935302967616a706b77">[email protected]</a> 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
|
||
|
||
</code></pre>
|
||
<ul>
|
||
<li><strong>解压</strong></li>
|
||
</ul>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a1d3ceced5e1f7ec8c918c90958cc2c4cfd5ced2">[email protected]</a> opt]# tar zxvf /opt/elasticsearch-7.12.0-linux-x86_64.tar.gz
|
||
...
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="562439392216001b7b667b67627b353338223925">[email protected]</a> 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
|
||
|
||
</code></pre>
|
||
<ul>
|
||
<li><strong>增加elasticSearch用户</strong></li>
|
||
</ul>
|
||
<p>必须创建一个非root用户来运行ElasticSearch(ElasticSearch5及以上版本,基于安全考虑,强制规定不能以root身份运行。)</p>
|
||
<p>如果你使用root用户来启动ElasticSearch,则会有如下错误信息:</p>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b6c4d9d9c2f6e0fb9b869b87829bd5d3d8c2d9c5">[email protected]</a> opt]# cd elasticsearch-7.12.0/
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="33415c5c4773657e1e031e02071e50565d475c40">[email protected]</a> 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 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5815393136763b3b1869686e">[email protected]</a> Parent process died - ML controller exiting
|
||
|
||
</code></pre>
|
||
<p>所以我们增加一个独立的elasticsearch用户来运行</p>
|
||
<pre><code class="language-bash"># 增加elasticsearch用户
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b8cad7d7ccf8eef5958895898c95dbddd6ccd7cb">[email protected]</a> elasticsearch-7.12.0]# useradd elasticsearch
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b7c5d8d8c3f7e1fa9a879a86839ad4d2d9c3d8c4">[email protected]</a> 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用户
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="671508081327312a4a574a56534a040209130814">[email protected]</a> elasticsearch-7.12.0]# chown -R elasticsearch /opt/elasticsearch-7.12.0
|
||
# 增加data和log存放区,并赋予elasticsearch用户权限
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="afddc0c0dbeff9e2829f829e9b82cccac1dbc0dc">[email protected]</a> elasticsearch-7.12.0]# mkdir -p /data/es
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ee9c81819aaeb8a3c3dec3dfdac38d8b809a819d">[email protected]</a> elasticsearch-7.12.0]# chown -R elasticsearch /data/es
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cfbda0a0bb8f9982e2ffe2fefbe2acaaa1bba0bc">[email protected]</a> elasticsearch-7.12.0]# mkdir -p /var/log/es
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="661409091226302b4b564b57524b050308120915">[email protected]</a> elasticsearch-7.12.0]# chown -R elasticsearch /var/log/es
|
||
|
||
</code></pre>
|
||
<p>然后修改上述的data和log路径,<code>vi /opt/elasticsearch-7.12.0/config/elasticsearch.yml</code></p>
|
||
<pre><code class="language-bash"># ----------------------------------- 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
|
||
|
||
</code></pre>
|
||
<ul>
|
||
<li><strong>修改Linux系统的限制配置</strong></li>
|
||
</ul>
|
||
<ol>
|
||
<li>修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建权限。</li>
|
||
<li>修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为ES至少需要4096的线程池预备。ES在5.x版本之后,强制要求在linux中不能使用root用户启动ES进程。所以必须使用其他用户启动ES进程才可以。</li>
|
||
<li>Linux低版本内核为线程分配的内存是128K。4.x版本的内核分配的内存更大。如果虚拟机的内存是1G,最多只能开启3000+个线程数。至少为虚拟机分配1.5G以上的内存。</li>
|
||
</ol>
|
||
<p>修改如下配置</p>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2c5e4343586c7a61011c011d18014f494258435f">[email protected]</a> 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
|
||
|
||
</code></pre>
|
||
<ul>
|
||
<li><strong>启动ElasticSearch</strong></li>
|
||
</ul>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="61130e0e1521372c4c514c50554c02040f150e12">[email protected]</a> elasticsearch-7.12.0]# su elasticsearch
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9df8f1fceee9f4feeef8fceffef5ddcbd0b0adb0aca9b0fef8f3e9f2ee">[email protected]</a> 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.1+9]
|
||
[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.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -XX:+ShowCodeDetailsInExceptionMessages, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dio.netty.allocator.numDirectArenas=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.locale.providers=SPI,COMPAT, --add-opens=java.base/java.io=ALL-UNNAMED, -XX:+UseG1GC, -Djava.io.tmpdir=/tmp/elasticsearch-17264135248464897093, -XX:+HeapDumpOnOutOfMemoryError, -XX:HeapDumpPath=data, -XX:ErrorFile=logs/hs_err_pid%p.log, -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m, -Xms1894m, -Xmx1894m, -XX:MaxDirectMemorySize=993001472, -XX:G1HeapRegionSize=4m, -XX:InitiatingHeapOccupancyPercent=30, -XX:G1ReservePercent=15, -Des.path.home=/opt/elasticsearch-7.12.0, -Des.path.conf=/opt/elasticsearch-7.12.0/config, -Des.distribution.flavor=default, -Des.distribution.type=tar, -Des.bundled_jdk=true]
|
||
|
||
</code></pre>
|
||
<ul>
|
||
<li><strong>查看安装是否成功</strong></li>
|
||
</ul>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="fb8994948fbbadb6d6cbd6cacfd6989e958f9488">[email protected]</a> ~]# netstat -ntlp | grep 9200
|
||
tcp6 0 0 127.0.0.1:9200 :::* LISTEN 13549/java
|
||
tcp6 0 0 ::1:9200 :::* LISTEN 13549/java
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d2a0bdbda692849fffe2ffe3e6ffb1b7bca6bda1">[email protected]</a> ~]# 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"
|
||
}
|
||
|
||
</code></pre>
|
||
<h2>安装Kibana</h2>
|
||
<blockquote>
|
||
<p>Kibana是界面化的查询数据的工具,下载时尽量下载与ElasicSearch一致的版本。</p>
|
||
</blockquote>
|
||
<ul>
|
||
<li><strong>下载Kibana</strong></li>
|
||
</ul>
|
||
<p>从<a href="https://www.elastic.co/cn/downloads/kibana">这里 </a>下载Kibana</p>
|
||
<ul>
|
||
<li><strong>解压</strong></li>
|
||
</ul>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="70021f1f0430263d5d405d41445d13151e041f03">[email protected]</a> opt]# tar -vxzf kibana-7.12.0-linux-x86_64.tar.gz
|
||
|
||
</code></pre>
|
||
<ul>
|
||
<li><strong>使用elasticsearch用户权限</strong></li>
|
||
</ul>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dcaeb3b3a89c8a91f1ecf1ede8f1bfb9b2a8b3af">[email protected]</a> opt]# chown -R elasticsearch /opt/kibana-7.12.0-linux-x86_64
|
||
#配置Kibana的远程访问
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1d6f7272695d4b50302d302c29307e787369726e">[email protected]</a> opt]# vi /opt/kibana-7.12.0-linux-x86_64/config/kibana.yml
|
||
server.host: 0.0.0.0
|
||
|
||
</code></pre>
|
||
<ul>
|
||
<li><strong>启动</strong></li>
|
||
</ul>
|
||
<p>需要切换至elasticsearch用户</p>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3c4e5353487c6a71110c110d08115f595248534f">[email protected]</a> opt]# su elasticsearch
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1f7a737e6c6b767c6c7a7e6d7c775f4952322f322e2b327c7a716b706c">[email protected]</a> opt]$ cd /opt/kibana-7.12.0-linux-x86_64/
|
||
[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c8ada4a9bbbca1abbbada9baaba0889e85e5f8e5f9fce5abada6bca7bb">[email protected]</a> 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
|
||
...
|
||
|
||
</code></pre>
|
||
<p>如果是后台启动:</p>
|
||
<pre><code class="language-bash">[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="31545d504245585242545043525971677c1c011c00051c52545f455e42">[email protected]</a> kibana-7.12.0-linux-x86_64]$ nohup ./bin/kibana &
|
||
|
||
</code></pre>
|
||
<ul>
|
||
<li><strong>界面访问</strong></li>
|
||
</ul>
|
||
<p><img src="assets/es-install-1.png" alt="img" /></p>
|
||
<p>可以导入simple data</p>
|
||
<p><img src="assets/es-install-2.png" alt="img" /></p>
|
||
<p>查看数据</p>
|
||
<p><img src="assets/es-install-3.png" alt="img" /></p>
|
||
<h2>配置密码访问</h2>
|
||
<blockquote>
|
||
<p>使用基本许可证时,默认情况下禁用Elasticsearch安全功能。由于我测试环境是放在公网上的,所以需要设置下密码访问。相关文档可以参考<a href="https://www.elastic.co/guide/en/elasticsearch/reference/7.12/security-minimal-setup.html">这里 </a></p>
|
||
</blockquote>
|
||
<ol>
|
||
<li>停止kibana和elasticsearch服务</li>
|
||
<li>将<code>xpack.security.enabled</code>设置添加到ES_PATH_CONF/elasticsearch.yml文件并将值设置为true</li>
|
||
<li>启动elasticsearch (<code>./bin/elasticsearch -d</code>)</li>
|
||
<li>执行如下密码设置器,<code>./bin/elasticsearch-setup-passwords interactive</code>来设置各个组件的密码</li>
|
||
<li>将elasticsearch.username设置添加到KIB_PATH_CONF/kibana.yml 文件并将值设置给elastic用户: <code>elasticsearch.username: "elastic"</code></li>
|
||
<li>创建kibana keystore, <code>./bin/kibana-keystore create</code></li>
|
||
<li>在kibana keystore 中添加密码 <code>./bin/kibana-keystore add elasticsearch.password</code></li>
|
||
<li>重启kibana 服务即可 <code>nohup ./bin/kibana &</code></li>
|
||
</ol>
|
||
<p>然后就可以使用密码登录了:</p>
|
||
<p><img src="assets/es-install-4.png" alt="img" /></p>
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<div style="float: left">
|
||
<a href="/专栏/ElasticSearch知识体系详解/02 认知:Elastic Stack生态和场景方案.md.html">上一页</a>
|
||
</div>
|
||
<div style="float: right">
|
||
<a href="/专栏/ElasticSearch知识体系详解/04 入门:查询和聚合的基础使用.md.html">下一页</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<a class="off-canvas-overlay" onclick="hide_canvas()"></a>
|
||
</div>
|
||
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"70996f91680e3d60","version":"2021.12.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","si":100}' crossorigin="anonymous"></script>
|
||
</body>
|
||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756"></script>
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag() {
|
||
dataLayer.push(arguments);
|
||
}
|
||
gtag('js', new Date());
|
||
gtag('config', 'G-NPSEEVD756');
|
||
var path = window.location.pathname
|
||
var cookie = getCookie("lastPath");
|
||
console.log(path)
|
||
if (path.replace("/", "") === "") {
|
||
if (cookie.replace("/", "") !== "") {
|
||
console.log(cookie)
|
||
document.getElementById("tip").innerHTML = "<a href='" + cookie + "'>跳转到上次进度</a>"
|
||
}
|
||
} else {
|
||
setCookie("lastPath", path)
|
||
}
|
||
function setCookie(cname, cvalue) {
|
||
var d = new Date();
|
||
d.setTime(d.getTime() + (180 * 24 * 60 * 60 * 1000));
|
||
var expires = "expires=" + d.toGMTString();
|
||
document.cookie = cname + "=" + cvalue + "; " + expires + ";path = /";
|
||
}
|
||
function getCookie(cname) {
|
||
var name = cname + "=";
|
||
var ca = document.cookie.split(';');
|
||
for (var i = 0; i < ca.length; i++) {
|
||
var c = ca[i].trim();
|
||
if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
|
||
}
|
||
return "";
|
||
}
|
||
</script>
|
||
</html>
|