文档章节

ELK集群的搭建和Elasticsearchd api的简单使用

青梅煮酒论英雄
 青梅煮酒论英雄
发布于 2017/08/20 16:57
字数 1046
阅读 310
收藏 1

Elasticsearchd的安装,具体的安装步骤很简单不过有些配置还是需要注意的,下面简单介绍下安装步骤

第一步:从官网下载最新的版本:elasticsearch-5.4.1_1,安装前先安装jdk8,elasticsearch是java开发的,解压到你想放的位置:修改配置文件,配置文件的位置:/usr/local/elasticsearch-5.4.1_1/config/elasticsearch.yml,因为为了安全elasticsearch不能用root用户启动,需要从新建立新的用户,并且给文件夹赋值权限给新用户,例如用户名叫elasticsearch,在root用户下chown -R elasticsearch:elasticsearch /usr/local/elasticsearch-5.4.1_1然后修改一下系统的参数:

a.添加 /etc/security/limits.conf

*                soft    nofile          65536

*                hard    nofile          131072

*                soft    nproc           2048

*                hard    nproc           4096

b./etc/security/limits.d/90-nproc.conf

 把soft nproc 1024这行的1024改大就行了。

c.vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=262144

d.并执行命令:

sysctl -p

E.修改elasticsearch.yml


cluster.name: es_test_1
 
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
node.name: esc_test_node_1
http.enabled: true
node.master: true
node.data: true
// 文件的位置
path.logs: /path/to/logs
// 日志的位置
path.logs: /home/data/elasticsearch/log/

//这个要设置下不然外网无法访问
network.host: 193.168.6.87
http.port: 9201
transport.tcp.port: 9301


http.cors.enabled: true
http.cors.allow-origin: /.*/
http.cors.allow-credentials: true

// 这个是集群的配置单机不需要配置
discovery.zen.ping.unicast.hosts: ["x.x.x.x"]
// 2个节点
node.max_local_storage_nodes: 2
 

bin目录启动服务:./elasticsearch -d,看日志/home/data/elasticsearch/log/,如果日志正常就说明启动成功

常见错误

	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.4.1.jar:5.4.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.4.1.jar:5.4.1]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194) ~[elasticsearch-5.4.1.jar:5.4.1]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:350) ~[elasticsearch-5.4.1.jar:5.4.1]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.4.1.jar:5.4.

正常启动日志:

[2017-08-20T15:56:07,031][INFO ][o.e.n.Node               ] [esc_test_node_1] JVM arguments [-Xms512m, -Xmx512m, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+DisableExplicitGC, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/usr/local/elasticsearch-5.4.1_1]
[2017-08-20T15:56:07,889][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] loaded module [aggs-matrix-stats]
[2017-08-20T15:56:07,889][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] loaded module [ingest-common]
[2017-08-20T15:56:07,889][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] loaded module [lang-expression]
[2017-08-20T15:56:07,890][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] loaded module [lang-groovy]
[2017-08-20T15:56:07,890][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] loaded module [lang-mustache]
[2017-08-20T15:56:07,890][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] loaded module [lang-painless]
[2017-08-20T15:56:07,890][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] loaded module [percolator]
[2017-08-20T15:56:07,890][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] loaded module [reindex]
[2017-08-20T15:56:07,890][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] loaded module [transport-netty3]
[2017-08-20T15:56:07,890][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] loaded module [transport-netty4]
[2017-08-20T15:56:07,891][INFO ][o.e.p.PluginsService     ] [esc_test_node_1] no plugins loaded
[2017-08-20T15:56:09,451][INFO ][o.e.d.DiscoveryModule    ] [esc_test_node_1] using discovery type [zen]
[2017-08-20T15:56:10,205][INFO ][o.e.n.Node               ] [esc_test_node_1] initialized
[2017-08-20T15:56:10,205][INFO ][o.e.n.Node               ] [esc_test_node_1] starting ...
[2017-08-20T15:56:10,387][INFO ][o.e.t.TransportService   ] [esc_test_node_1] publish_address {192.168.6.87:9300}, bound_addresses {192.168.6.87:9300}
[2017-08-20T15:56:10,394][INFO ][o.e.b.BootstrapChecks    ] [esc_test_node_1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2017-08-20T15:56:13,446][INFO ][o.e.c.s.ClusterService   ] [esc_test_node_1] new_master {esc_test_node_1}{xSFrf7feRD25YuwgtBeSLw}{G4byr3dMRc6T1QN_PRxxDQ}{192.168.6.87}{192.168.6.87:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
[2017-08-20T15:56:13,465][INFO ][o.e.h.n.Netty4HttpServerTransport] [esc_test_node_1] publish_address {192.168.6.87:9200}, bound_addresses {192.168.6.87:9200}
[2017-08-20T15:56:13,468][INFO ][o.e.n.Node               ] [esc_test_node_1] started
[2017-08-20T15:56:14,573][INFO ][o.e.g.GatewayService     ] [esc_test_node_1] recovered [11] indices into cluster_state

第二步:安装logstash,这个安装很简单,从官网下载最新的版本解压

创建一个输入输出文件sample.conf

input {
  stdin {}
}
output {
  elasticsearch {
     hosts => ["192.168.6.87:9201"] }
  stdout {
    codec => rubydebug }
}

启动服务:

第三步安装kibana-5.1.1-linux-x86_64,修改配置文件/usr/local/kibana-5.1.1-linux-x86_64/config/kibana.yml,修改一下server.host: "192.168.x",不然无法访问的通过外网,启动服务 

[root@localhost bin]# ./kibana
  log   [08:09:06.517] [info][status][plugin:kibana@5.1.1] Status changed from uninitialized to green - Ready
  log   [08:09:06.593] [info][status][plugin:elasticsearch@5.1.1] Status changed from uninitialized to yellow - Waiting for Elasticsearch
  log   [08:09:06.625] [info][status][plugin:console@5.1.1] Status changed from uninitialized to green - Ready
  log   [08:09:06.648] [warning] You're running Kibana 5.1.1 with some different versions of Elasticsearch. Update Kibana or Elasticsearch to the same version to prevent compatibility issues: v5.4.1 @ 192.168.6.87:9200 (192.168.6.87)
  log   [08:09:06.657] [error][status][plugin:elasticsearch@5.1.1] Status changed from yellow to red - Elasticsearch is still initializing the kibana index.
  log   [08:09:06.865] [info][status][plugin:timelion@5.1.1] Status changed from uninitialized to green - Ready
  log   [08:09:06.871] [info][listening] Server running at http://192.168.6.87:5601
  log   [08:09:06.872] [error][status][ui settings] Status changed from uninitialized to red - Elasticsearch plugin is red

浏览器里打开kibana,然后输入“星儿”

Elasticsearchd的使用实际很简单的,一切都是resful,用postman简单的做个例子,插入一条消息到elsearch中


可以获取的到

下次博客会比较详细的介绍下elsearch的用法

© 著作权归作者所有

共有 人打赏支持
青梅煮酒论英雄
粉丝 6
博文 84
码字总数 106947
作品 0
浦东
架构师
私信 提问
ASP.NET Core 日志收集(log4net+Kafka+ELK)

在开发环境中,记录日志这件事情常常被忽视,因为我们有强大的 IDE ,可以调试,可以断点,问题出现后一般都能很快解决。但在生产环境,异常一旦发生,如果不能重现,又没有提前做好日志记录...

BeckJin
12/02
0
0
elasticsearch-6.2.3集群搭建

开发环境 我这里在本地做demo,基本差不多,外网搭建会稍有不同,我会特别注释出来。 准备 下载对应版本的elasticsearch 地址:http://www.elastic.co/downloads/elasticsearch 我下载的是6...

mr_ooo
05/07
0
0
高性能Elasticsearch ORM开发库bboss es 5.0.3.7.8发布

bboss es v5.0.3.7.8已发布。bboss elasticsearch是一套基于query dsl语法操作访问分布式搜索引擎elasticsearch的o/r mapping开发库,底层基于es restful api。使用bboss es,可以快速编写出...

bboss
2017/11/16
1K
4
一篇文章让你读懂ELK在CDN质量监控中的价值

一篇文章让你读懂ELK在CDN质量监控中的价值 灵活调配ELK,适应大数据场景 数说事实 在开篇之前,先简单的列举下我们线上ELK的真实数据。目前自建的ELK集群主要接入了自建CDN的日志,以及多个...

Yennis
2016/10/31
193
0
蛋疼的ElasticSearch(三)之配置elasticsearch-analysis-ik和集群

配置elasticsearch-analysis-ik 1.下载https://github.com/medcl/elasticsearch-analysis-ik 2.解压 elasticsearch-analysis-ik-master.zip 3.mvn clean package 4.打开编译targetreleases,......

cmazxiaoma
10/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ES5和ES6那些你必须知道的事儿

  ES5和ES6那些你必须知道的事儿      ES5新增的东西      一、数组方法      1、forEach      用途:遍历,循环      对于空数组不会执行回调函数      复制代码...

SEOwhywhy
7分钟前
0
0
转:[windows]DOS批处理添加任务计划

[windows]DOS批处理添加任务计划 博客分类: Windows 转自:http://gwmold.blog.163.com/blog/static/1553319892010117113457232/ 自动创建每周运行一次的计划任务 创建计划任务可用at,sch...

SamXIAO
12分钟前
0
0
redis 问题总结

1:修改内存页大小,linux 默认大小是4k(通过getconf PAGE_SIZE 查看 2:查看内存交换信息,防止使用内存交换 3: sar -n DEV 查看网络状况 4: 修改文件句柄: ulimit -n 65535...

昏鸦
14分钟前
0
0
如何在Rails应用程序中使用Kafka?

背景介绍 有那么一段时间,我们的系统需要用到分布式流式处理和消息系统,而 Apache Kafka 似乎成了我们建立业务关键型应用程序的坚实基础。它可用于很多场景下,比如产品更新管道、订单跟踪...

java菜分享
15分钟前
1
0
C#匿名委托

list自定义排序 //list自定义排序public static List<string> sortList(List<string> m_str,string splitStr) //a b表示列表中的元素{String[] strArray=m_str.ToArray();......

青衣霓裳
25分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部