ELK日志框架(1):安装Elasticsearch组建单服务器多节点集群

原文:ELK日志框架(1):安装Elasticsearch组建单服务器多节点集群

ELK简介

  最近有个需求搭建一套日志系统用于集成几个业务系统的日志提供快速的检索功能,目前是用Log4net存数据库+Error级别发邮件方式,也算简单暴力好用,但历史日志的模糊查询确实很慢,所以使用ELK是比较理想的解决方案。三年前写过两篇文章log4net.NoSql +ElasticSearch 实现日志记录log4net.redis+logstash+kibana+elasticsearch+redis 实现日志系统,感觉有点凌乱,这次借着项目需要重新整理一下。参考ELK不权威指南可以对ELK做个大体了解它的应用场景和优缺点,总之ldquo;ELK 三个字母分别是三个软件产品的缩写。 E代表Elasticsearch,负责日志的存储和检索; L代表Logstash, 负责日志的收集,过滤和格式化;K代表Kibana,负责日志的展示统计和数据可视化。rdquo;。以前常见的ELK架构如下:

现在官方的推荐架构是https://www.elastic.co/cn/products

就像知乎上说的Elasticsearch是ELK的核心,nbsp;L和K都有相应的替代方案(日记采集可以不使用Logstash,而是直接使用log4net.nosqlnbsp;输出到ES,或者像我那样自己写个log4net.redis输出到redis),所以先从Elasticsearch开始。

nbsp;环境说明

1. windows server 2012 R2 64位

2.nbsp;jdk-8u131-windows-x64.exe

3.nbsp;elasticsearch-5.4.0.zipnbsp;

Elasticsearch 安装

1. nbsp;下载Elasticsearchnbsp;

  打开官网nbsp;https://www.elastic.co/downloads/elasticsearchnbsp;,目前最新版本是5.4.3,下载Zip格式文件,解压到E:\elk\elasticsearch,路径不要包括中文。

nbsp;

nbsp;2. 从命令行运行Elasticsearchnbsp;

命令行下到bin目录,运行elasticsearch.bat,出现如下界面表示服务起来了(不代表成功)。

在IE浏览器里输入 http://localhost:9200,弹出一个json文件下载内容如下表示成功了:

{
  "name" : "KaeR6Q2",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "S4uOl5YERqaq1NBk9wId-g",
  "version" : {
    "number" : "5.4.0",
    "build_hash" : "780f8c4",
    "build_date" : "2017-04-28T17:43:27.229Z",
    "build_snapshot" : false,
    "lucene_version" : "6.5.0"
  },
  "tagline" : "You Know, for Search"
}

按ctrl+c停止服务。

如果输入nbsp;http://localhost:9200 报错,使用netstat -anp tcp 还可以看到9200、9300端口都在监听了,那么就看一下命令行输出里是否有乱码,如下图:nbsp;

nbsp;在E:\elk\elasticsearch\logs\elasticsearch.log里可以看到日志

[2017-07-05T17:48:07,373][INFO ][o.e.n.Node ] [] initializing ...
[2017-07-05T17:48:07,811][INFO ][o.e.e.NodeEnvironment ] [KaeR6Q2] using [1] data paths, mounts [[新加卷 (E:)]], net usable_space [98.2gb], net total_space [99.9gb], spins? [unknown], types [NTFS]
[2017-07-05T17:48:07,826][INFO ][o.e.e.NodeEnvironment ] [KaeR6Q2] heap size [1.9gb], compressed ordinary object pointers [true]

右键查看磁盘属性把卷标ldquo;新加卷rdquo;去掉就可以了。

nbsp;3. 配置Elasticsearchnbsp;

  Elasticsearch从config\elasticsearch.yml文件加载默认配置,也可以在命令行里用-E前缀指定,比如:

elasticsearch.bat -Ecluster.name=myCluster -Enode.name=myNode

  访问http://localhost:9200,返回值:

{
  "name" : "myNode",
  "cluster_name" : "myCluster",
  "cluster_uuid" : "S4uOl5YERqaq1NBk9wId-g",
  "version" : {
    "number" : "5.4.0",
    "build_hash" : "780f8c4",
    "build_date" : "2017-04-28T17:43:27.229Z",
    "build_snapshot" : false,
    "lucene_version" : "6.5.0"
  },
  "tagline" : "You Know, for Search"
}

修改elasticsearch.yml文件实现配置,格式说明Configuring Elasticsearch

# Use a descriptive name for your cluster:
#
cluster.name: esLogCluster

# Use a descriptive name for the node:
#
node.name: esLogNode_175

# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 192.168.5.175

再次运行elasticsearch.bat,就可以使用ip地址远程访问了。

nbsp;4. 安装Elasticsearch服务elasticsearch-master

  elasticsearch可以后台服务的方式运行,通过elasticsearch-service.bat脚本安装、卸载、启动、停止、管理服务,参数说明如下:


install


Install Elasticsearch as a service


remove


Remove the installed Elasticsearch service (and stop the service if started)


start


Start the Elasticsearch service (if installed)


stop


Stop the Elasticsearch service (if started)


manager


Start a GUI for managing the installed service

nbsp;参数后面可以跟一个可选参数 service_id,用于指定服务名称,默认的名称是 elasticsearch-service-x64,安装服务:

elasticsearch-service install elasticsearch-master
配置服务:
elasticsearch-service manager elasticsearch-master

注意修改启动类型为自启动,java初始内存(默认是2G)可以调小一些。

nbsp;

nbsp;5. 安装Elasticsearch服务elasticsearch-slave,组成单服务器多节点集群

nbsp;  a.复制E:\elk\elasticsearch文件夹重命名为E:\elk\elasticsearch-slave

   b.删除E:\elk\elasticsearch-slave\data文件夹下的内容,切记一定要删除

nbsp;  c.修改E:\elk\elasticsearch-slave\config\elasticsearch.yml文件

node.name: esLogNode_175_slave

node.master: false

discovery.zen.ping.unicast.hosts: ["192.168.5.175"] 
  d.安装服务
elasticsearch-service install elasticsearch-slave

  e.验证集群,输入http://192.168.5.175:9200/_cluster/health?pretty,number_of_nodes和number_of_data_nodes等于2表示成功。

{
  "cluster_name" : "esLogCluster",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 2,
  "number_of_data_nodes" : 2,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

nbsp;

踩坑总结

1. 磁盘卷标是中文,端口监听了通过http://localhost:9200访问失败

2. 组建集群时复制elasticsearch文件夹没有清空data里的内容,出现错误ldquo;found existing node {node-1}{vP19PMOyT2ilJKRAqgn78w}{jDULCExERXGHp4VXpbyuJA}{127.0.0.1}{127.0.0.1:9300} with the same id but is a different node instance]rdquo;nbsp;

参考链接

1.Install Elasticsearch on Windows,官方文档

2.ElasticSearch 5学习(1)mdash;mdash;安装Elasticsearch、Kibana和X-Packnbsp;Linux环境教程

3.ELK不权威指南

4.ELK介绍

5.ELK+FileBeat+Log4Net搭建日志系统

6.Elk 进阶部署

nbsp;

原文地址:https://www.cnblogs.com/lonelyxmas/p/11242690.html

时间: 2024-10-10 20:40:53

ELK日志框架(1):安装Elasticsearch组建单服务器多节点集群的相关文章

ELK开发部署(1):安装Elasticsearch组建单服务器多节点集群

ELK简介 最近有个需求搭建一套日志系统用于集成几个业务系统的日志提供快速的检索功能,目前是用Log4net存数据库+Error级别发邮件方式,也算简单暴力好用,但历史日志的模糊查询确实很慢,所以使用ELK是比较理想的解决方案.三年前写过两篇文章log4net.NoSql +ElasticSearch 实现日志记录和log4net.redis+logstash+kibana+elasticsearch+redis 实现日志系统,感觉有点凌乱,这次借着项目需要重新整理一下.参考ELK不权威指南可以

elk 日志分析系统Logstash+ElasticSearch+Kibana4

elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示客户端 redis 缓存 安装包 logstash-1.4.2-1_2c0f5a1.noarch.rpm elasticsearch-1.4.4.noarch.rpm logstash-contrib-1.4.2-1_efd53ef.noarch.rpm kibana-4.0.1-linux-x64.tar

ELK 日志管理平台之 ElasticSearch 安装

1,安装环境 System Release Version:Ubuntu 14.04.4 Kernel Version: 4.2.0-27-generic 安装ElasticSearch [email protected]:~$ ll total 209300 -rw-rw-r-- 1 alvin alvin  32968292 Nov  8 11:04 elasticsearch-5.0.0.tar.gz -rw-rw-r-- 1 alvin alvin 181352138 Nov  8 11

ELK日志分析平台搭建----ELASTICSEARCH

介绍:ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成 1.Elasticsearch是一个开源分布式的搜索引擎,特点是:分布式.零配置.自动发现.索引自动分片.索引副本机制.restful风格接口,多数据源,自动搜索负载等. 2.Logstash是一个完全开源的工具,它可以对你的日志进行收集.过滤,并将其存储供以后使用(比如:搜索) 3.Kibana也是一个开源免费的工具,它可以为Logstash和ElasticSearch提供的日志分析友好的WEB界面,可

.net core 与ELK(2)安装Elasticsearch可视化工具

elasticsearch-head是els的界面插件,地址https://github.com/mobz/elasticsearch-head 1.进入github并下载 wget https://github.com/mobz/elasticsearch-head/archive/master.zip 2.解压 [[email protected] /usr/local/src]# unzip master.zip [[email protected] /usr/local/src]# mv

redis单节点集群

一.概念 redis是一种支持Key-Value等多种数据结构的存储系统.可用于缓存.事件发布或订阅.高速队列等场景.该数据库使用ANSI C语言编写,支持网络,提供字符串.哈希.列表.队列.集合结构直接存取,基于内存,可持久化. 二.redis的应用场景有哪些 1.会话缓存(最常用) 2.消息队列,比如支付 3.活动排行榜或计数 4.发布.订阅消息(消息通知) 5.商品列表.评论列表等 1.redis安装: # wget http://download.redis.io/releases/re

kubeadm搭建kubernetes(v1.13.1)单节点集群

kubeadm是Kubernetes官方提供的用于快速部署Kubernetes集群的工具,本篇文章使用kubeadm搭建一个单master节点的k8s集群. 节点部署信息 节点主机名 节点IP 节点角色 操作系统 k8s-master 10.10.55.113 master centos7.6 k8s-node1 10.10.55.114 node centos7.6 节点说明 master:控制节点.kube-apiserver负责API服务,kube-controller-manager负责

Kubernetes群集之:二进制部署单etcd,多节点集群

Kubernetes集群部署 1.官方提供的三种部署方式2.Kubernetes平台环境规划3.自签SSL证书4.Etcd数据库群集部署 5.Node安装Docker6.Flannel容器集群网络部署7.部署Master组件8.部署Node组件9.部署一个测试示例10.部署Web UI(Dashboard)11.部署集群内部DNS解析服务(CoreDNS) 官方提供的三种部署方式: minikube: Minikube是一个工具,可以在本地快速运行单点的Kubernetes,仅用于尝试Kuber

Hadoop学习笔记(二)设置单节点集群

本文描述如何设置一个单一节点的 Hadoop 安装,以便您可以快速执行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 参考官方文档:Hadoop MapReduce Next Generation - Setting up a Single Node Cluster. Hadoop版本:Apache Hadoop 2.5.1 系统版本:CentOS 6.5,内核(uname -r):2.6.32-431.el6.x86_64 系统必备组件 支