Elastic Stack的Linux环境部署(单机)

Elastic Stack

        • Elasticearch
        • Logstash
        • Kibana
        • Beats
        • 1,Linux安装elasticearch
          • 1.1,已经安装好了jdk,去官网下载elasticearch资源即可,没有就准备好jdk环境
          • 1.2,资源下载后,在项目的根目录下创建itcast目录,itcast目录下创建es
          • 1.3,目录创建完成后,为itcast目录添加elsearch用户,因为Elasticsearch不支持root用户运行
          • 1.4,切换到elsearch用户,进入es目录下,把资源上传到该目录下,并解压
          • 1.5,解压完成后,打开\config\elasticsearch.yml文件
          • 1.6,启动出错,解决
          • 1.7,启动成功后,如果无法访问,关闭防火墙
          • 1.8,停止elasticsearch
        • 2,Linux安装elasticsearch-head
          • 2.1,选择安装方式
            • 2.1.1,通过docker安装。如果没有,准备[docker](https://blog.csdn.net/qq_45752401/article/details/120525806?spm=1001.2014.3001.5501)
            • 2.1.2,通过浏览器进行访问 ip:9100
          • 2.2,chrome插件的方式安装

Elastic Stack的Linux环境部署(单机)_第1张图片

Elasticearch

Elasticsearch基于java,是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,resful风格接口,多数据源,自动搜索负载等。

Logstash

Logstash基于java,是一个开源的用于收集,分析和存储日志的工具。

Kibana

Kibana基于nodejs,也是一个开源和免费的工具,Kibana可以为Logstash和ElasticSearch提供的日志分析友好的Web界面,可以汇总、分析和搜索重要数据日志。

Beats

Beats是elastic公司开源的一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称,可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticearch,然后进行后续的数据分析活动

1,Linux安装elasticearch
1.1,已经安装好了jdk,去官网下载elasticearch资源即可,没有就准备好jdk环境

https://www.elastic.co/cn/downloads/elasticsearch

1.2,资源下载后,在项目的根目录下创建itcast目录,itcast目录下创建es

Elastic Stack的Linux环境部署(单机)_第2张图片

1.3,目录创建完成后,为itcast目录添加elsearch用户,因为Elasticsearch不支持root用户运行
# 添加用户名
useradd elsearch
# 为itcast目录更改为elsearch用户权限    
chown elsearch:elsearch itcast/ -R

Elastic Stack的Linux环境部署(单机)_第3张图片

1.4,切换到elsearch用户,进入es目录下,把资源上传到该目录下,并解压

Elastic Stack的Linux环境部署(单机)_第4张图片

1.5,解压完成后,打开\config\elasticsearch.yml文件
#设置ip地址,任务网络均可访问
network.host: 0.0.0.0
    
#放开http.port:9200
http.port: 9200		#这里就是访问ES的端口    
    
#放开node.name,集群模式下,放开cluster.name
node.name: node-1   
    
#数据存储和日志存储路径放开注释
path.data: /itcast/es/elasticsearch-7.15.0/data
    
path.logs: /itcast/es/elasticsearch-7.15.0/logs
    
    
#说明:在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的话,就会认为是生成环境,会对环境的要求比较高,我们的测试环境不一定能够满足,一般情况下需要修改两处配置,如下:
#1:修改jvm启动参数
vim config/jvm.options
-Xms128m	#根据自己机器情况修改
-Xmx128m
#2:一个进程在VMAs(虚拟内存区域)创建内存映射量最大数量
vim /etc/sysctl.conf
vm.max_map_count=655360
    
#配置生效    
sysctl -p    

#启动ES服务
su - elsearch
cd bin
./elasticsearch 或 ./elasticsearch -d #后台系统  
1.6,启动出错,解决
#问题1:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
#解决1:切换到root用户,编辑limits.conf添加类似如下内容
vim /etc/security/limits.conf

#添加如下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096    
    
#问题2:max number of threads [1024] for user [elsearch] is too low,increase to at least [4096]
#解决2:切换到root用户,进入limits.d目录下修改配置文件
vim /etc/security/limits.d/90-nproc.conf
#修改如下内容:
* soft nproc 1024
#修改为
* soft nproc 4096    
    
    
#问题3:system call filters failed to install;check the logs and fix your configuration or disable system call filters at your own risk
    
#解决3:Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true
vim config/elasticsearch.yml
#添加    
bootstrap.system_call_filter: false    
    
#问题4: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

#解决4:多节点添加多个ip地址,单节点可以写按默认的来
cluster.initial_master_nodes: ["node-1"]	#这里的node-1为node-name配置的值
1.7,启动成功后,如果无法访问,关闭防火墙

在这里插入图片描述

#在root用户下关闭防火墙:
#centos6,关闭方式
chkconfig iptables off
#centos7,关闭方式
systemctl stop firewalld.service

成功如下:
Elastic Stack的Linux环境部署(单机)_第5张图片

1.8,停止elasticsearch
# 查询看进程
jps

# 停止指定进程
kill -9 进程id
2,Linux安装elasticsearch-head
2.1,选择安装方式

由于ES官网并没有为ES提供界面管理工具,仅仅是提供了后台的服务。elasticsearch-head是一个为ES开发的一个页面客户端工具,其源码托管于GitHub,地址为:http://github.com/mobz/elasticsearch-head

head提供了4种安装方式:

  • 源码安装,通过npm run start 启动(不推荐)
  • 通过docker安装(推荐)
  • 通过chrome插件安装(推荐)
  • 通过ES的plugin方式安装(不推荐)
2.1.1,通过docker安装。如果没有,准备docker
#拉取镜像
docker pull mobz/elasticsearch-head:5
    
#创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
    
#启动容器
docker start elasticsearch-head   


这里我不小心,输错了容器名称。抱歉哈!!!

2.1.2,通过浏览器进行访问 ip:9100

Elastic Stack的Linux环境部署(单机)_第6张图片

注意:
由于前后端分离开发,所有会存在跨域问题,需要在服务端做CORS的配置,如下:

vim elasticsearch.yml

# 内容如下
http.cors.enabled: true
http.cors.allow-origin: "*"

Elastic Stack的Linux环境部署(单机)_第7张图片

2.2,chrome插件的方式安装

打开chrome的应用商店,即可安装https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm
Elastic Stack的Linux环境部署(单机)_第8张图片

通过chrome插件的方式安装不存在跨域问题

你可能感兴趣的:(运维,#,Linux,linux)