一、下载

https://www.elastic.co/cn/downloads/elasticsearch
https://www.elastic.co/cn/downloads/logstash
https://www.elastic.co/cn/downloads/kibana
选择更多版本:
image.png
选择自己需要下载的版本:
image.png
image.png

二、Windows安装ElasticSearch(和Kibana用于测试)

2-1 ElasticSearch

解压运行即可
image.png

2-2 Kibana

解压之后编辑 config/kibana.yml 文件。

image.png

  1. # 默认端口
  2. server.port: 5601
  3. # ES 服务器的地址
  4. elasticsearch.hosts: ["http://localhost:9200"]
  5. # 索引名
  6. kibana.index: ".kibana"
  7. # 支持中文
  8. i18n.locale: "zh-CN"

然后执行 bin/kibana.bat 文件。(首次启动有点耗时)
通过浏览器访问:http://localhost:5601。

三、CentOS安装ElasticSearch(和Kibana用于测试)

使用的Elasticsearch的版本是7.6.2。Elasticsearch7.x要求Linux内核必须是4+版本以上。
在linux操作系统中,查看内核版本的命令是: uname -a

3-1 为Elasticsearch提供完善的系统配置

Elasticsearch在Linux中安装部署的时候,需要系统为其提供若干系统配置。如:应用可启动的线程数、应用可以在系统中划分的虚拟内存、应用可以最多创建多少文件等。

3-1-1 修改限制信息

vim /etc/security/limits.conf
是修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是Elasticsearch至少需要65536的文件创建权限。修改后的内容为:
soft nofile 65536
hard nofile 65536
*代表任意用户,soft表示内存中虚拟文件(软文件),hard表示落地到磁盘的具体文件(硬文件), nofile表示权限,65536表示个数。

3-1-2 修改线程开启限制

在CentOS6.5版本中编辑下述的配置文件
vim /etc/security/limits.d/90-nproc.conf

在CentOS7+版本中编辑配置文件是:
vim /etc/security/limits.conf

是修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为Elasticsearch至少需要4096的线程池预备。Elasticsearch在5.x版本之后,强制要求在linux中不能使用root用户启动Elasticsearch进程。所以必须使用其他用户启动Elasticsearch进程才可以。
* soft nproc 4096
root soft nproc unlimited

任何用户nproc创建线程 数量4096
注意:Linux低版本内核为线程分配的内存是128K。4.x版本的内核分配的内存更大。如果虚拟机的内存是1G,最多只能开启3000+个线程数。*至少为虚拟机分配1.5G以上的内存,保险起见建议2G以上

3-1-3 修改系统控制权限

CentOS6.5中的配置文件为:
vim /etc/sysctl.conf

CentOS8中的配置文件为:
vim /etc/sysctl.d/99-sysctl.conf

系统控制文件是管理系统中的各种资源控制的配置文件。Elasticsearch需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用直接开辟虚拟内存。
新增内容为:
vm.max_map_count=655360

使用命令: sysctl -p 让系统控制权限配置生效。

3-2 常规安装

3-2-1 安装Elasticsearch

Elasticsearch是java开发的应用。在7.6.2版本中,在未来要求至少是JDK11,目前依然支持JDK8。
Elasticsearch的安装过程非常简单。解压立刻可以使用。

3-2-1-1 解压缩安装压缩包

cd /usr/local/tmp
# tar zxf elasticsearch-7.6.2-linux-x86_64.tar.gz

3-2-1-2 移动Elasticsearch

mv elasticsearch-7.6.2 ../es

3-2-1-3 修改Elasticsearch应用的所有者

因为Elasticsearch不允许root用户启动,而课堂案例中,Elasticsearch是root用户解压缩的。所以解压后的Elasticsearch应用属于root用户。所以我们需要将Elasticsearch应用的所有者修改为其他用户。纯Server 版本CentOS8默认只有root。
创建用户组
smallming为用户组名称
# groupadd smallming
如果希望使用smallming登录系统可以使用passwd smallming 给用户名设置密码。
创建用户
第一个smallming为用户名第二个smallming为用户组名
# useradd -r -g smallming smallming
授权,让smallming可以访问es目录(注意剪切解压目录的名称)
# chown -R smallming.smallming /usr/local/es
可以通过:groups 用户名查看用户所在用户组

3-2-1-4 切换用户

root向其他用户切换时不是需要写密码,但是其他用户向root切换需要有密码。

su smallming

3-2-1-5 修改配置

修改config/Elasticsearch的配置文件,设置可访问的客户端。注意:如果不小心使用root修改此文件,会在config下生成elasticsearch.keystore文件,通过ll查看该文件是否是root操作权限,如果是一定要删除,否则启动时会报此文件无权限。
vim config/elasticsearch.yml

node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: [“node-1”]

node.name 此节点在集群中的名字
network.host: 0.0.0.0 任意ip都可以访问我
http.port: 访问端口号
cluster.initial_master_nodes: 集群中节点名称。此名称要和node.name对应。

3-2-1-6 启动

注意:
如果不小心使用root启动,一定要去logs文件夹中通过ll查看文件权限,所有root权限的文件都需要删除。

前台启动
# cd /usr/local/bin
./elasticsearch
关闭: ctrl + c

后台启动
./bin/elasticsearch -d
关闭:
jps 命令查看Elasticsearch线程的编号
kill -9 Elasticsearch线程编号

3-2-1-7 测试连接

curl http://localhost:9200
返回如下结果:
{
“name” : “L6WdN7y”,
“cluster_name” : “Elasticsearch”,
“cluster_uuid” : “s7_GSd9YQnaH10VQBKCQ5w”,
“version” : {
“number” : “6.3.1”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “eb782d0”,
“build_date” : “2018-06-29T21:59:26.107521Z”,
“build_snapshot” : false,
“lucene_version” : “7.3.1”,
“minimum_wire_compatibility_version” : “5.6.0”,
“minimum_index_compatibility_version” : “5.0.0”
},
“tagline” : “You Know, for Search”
}

curl http://localhost:9200/_cat/nodes获取节点信息
curl http://localhost:9200/_cat/shards获取分片信息
curl http://localhost:9200/_cat/indices获取索引信息
curl http://localhost:9200/_cat/health?v获取健康状态信息

3-2-2 安装Kibana

Kibana是一个基于WEB的Elasticsearch管理控制台。现阶段安装Kibana主要是为了方便学习。
在Linux中安装Kibana很方便。解压,启动即可。Kibana要求的环境配置是小于Elasticsearch的要求的。
修改config/kibana.yml
vim config/kibana.yml
新增内容: server.host: “0.0.0.0”
授权,让smallming可以访问es目录

chown -R smallming.smallming /usr/local/kibana

bin/kibana
Kibana在启动时会扫描操作系统本地的9200~9299端口。查看是否有ES在运行,如果有则自动连接ES。

访问时,使用浏览器访问http://192.168.8.134:5601/

3-3 基于Docker安装

3-3-1 ElasticSearch

拉取Elasticsearch镜像
docker pull elasticsearch:7.6.2

创建并启动容器
docker run —name=es -d -p 9200:9200 -p 9300:9300 —restart=always -e “discovery.type=single-node” elasticsearch:7.6.2

docker logs -f es
如果日志中出现started状态,说明启动成功
image.png
curl http://localhost:9200

3-3-2 Kibana

Kibana的版本必须和ES的版本对应。
拉取Kibana镜像
docker pull kibana:7.6.2

创建并启动容器
docker run -it -d —name kibana —restart=always —link es:es -p 5601:5601 kibana:7.6.2
—link es:es 中第一个es是容器名,第二个es是容器别名。设置link后才能让容器互通。

修改Kibana参数
# docker exec -it kibana /bin/bash
# cd config
# vi kibana.yml
选中部分修改成Docker的IP
IP是这个!!!!!!!!!!!
image.png
image.png
重启docker容器
# docker restart kibana

在浏览器输入http://192.168.8.137:5601
image.png