一、下载
https://www.elastic.co/cn/downloads/elasticsearch
https://www.elastic.co/cn/downloads/logstash
https://www.elastic.co/cn/downloads/kibana
选择更多版本:
选择自己需要下载的版本:
二、Windows安装ElasticSearch(和Kibana用于测试)
2-1 ElasticSearch
解压运行即可
2-2 Kibana
解压之后编辑 config/kibana.yml 文件。

# 默认端口server.port: 5601# ES 服务器的地址elasticsearch.hosts: ["http://localhost:9200"]# 索引名kibana.index: ".kibana"# 支持中文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状态,说明启动成功
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是这个!!!!!!!!!!!

重启docker容器
# docker restart kibana

