ElasticSearch6学习(1)

Stella981
• 阅读 716

安装准备:

安装Elasticsearch唯一的要求是安装Java8,包括对应的Jdk。其他java9/java10没尝试,考虑兼容问题。我这里只用了java8

安装java8可以参考我之前写的一篇文章:https://www.cnblogs.com/phpper/p/9201562.html

安装Elasticsearch

首先到官网下载最新版本的Elasticsearch压缩包。下载地址:https://www.elastic.co/downloads/elasticsearch

可以使用命令,注意将最新的可用的下载链接填入:(比如我的安装路径是:/usr/local/src目录)

sudo  wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.zip
sudo unzip elasticsearch-6.3.0.zip

运行Elasticsearch

Elasticsearch已经准备就绪,执行以下命令可在前台启动:

./bin/elasticsearch

ElasticSearch6学习(1)

看错误信息。使用非root账户,因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户。

第一步:liunx创建新用户  adduser XXX    然后给创建的用户加密码 passwd XXX    输入两次密码。

第二步:切换刚才创建的用户 su XXX  然后执行elasticsearch  会显示Permission denied 权限不足。

第三步:给新建的XXX赋权限,chmod 777 *  这个不行,因为这个用户本身就没有权限,肯定自己不能给自己付权限。所以要用root用户登录付权限。

第四步:root给XXX赋权限,chown -R XXX /你的elasticsearch安装目录。

比如 我上面添加的用户是guest.

ElasticSearch6学习(1)

 /usr/local/src/elasticsearch-6.3.0/config/jvm.options,没有jvm文件的权限,改一下所属的用户,切换到root账户执行:

chown guest /usr/local/src/elasticsearch-6.3.0/ -R

然后启动es试下正常如下:

ElasticSearch6学习(1)

如果想在后台以守护进程模式运行,添加-d参数(./bin/elasticsearch -d)。或者:nohup ./bin/elasticsearch &

打开另一个终端进行测试,查看是否启动:

netstat -anp |grep 9200

ElasticSearch6学习(1)

启动正常,执行下

curl 'http://localhost:9200/?pretty'

ElasticSearch6学习(1)

说明ELasticsearch集群已经启动并且正常运行。

Elasticsearch外网访问设置

默认情况下安装elasticsearch之后是无法进行外网访问的,可以通过设置来完成这一目的:

1、更改配置文件

sudo vim elk/config/elasticsearch.yml

找到network.host这一行,更改为:

network.host: 0.0.0.0

2、重启服务,发现报错

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

3、因为我的启动出现了:

ElasticSearch6学习(1)

以root账户更改/etc/sysctl.conf文件,添加如下内容

vm.max_map_count=655360

或者:

sudo sysctl -w vm.max_map_count=262144

ElasticSearch6学习(1)

所以上面的命令需要更改下这个虚拟内存值。

4、以root账户执行下面命令(可以不执行,正常情况下修改即可生效)

sudo sysctl -p

5、再次启动服务,开放9200端口。在另台机器访问。结果如下
ElasticSearch6学习(1)

安装Kiabna

Kibana是一个为 ElasticSearch 提供的数据分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。

首先到官网下载最新版本的Kiabna压缩包。下载地址:https://www.elastic.co/downloads/kibana

可以使用如下命令,注意将最新的可用的下载链接填入:

sudo wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.0-linux-x86_64.tar.gzsudo sha1sum kibana-6.3.0-linux-x86_64.tar.gz sudo tar -xzf kibana-6.3.0-linux-x86_64.tar.gzcd kibana-6.3.0-linux-x86_64/

注意:

  • https://www.elastic.co/downloads/kibana 可以在该地址获取下载链接,一定要选择对于系统和版本。
  • 按照文档的要求,一般情况下kibana的版本必须和Elasticsearch安装的版本一致。

安装X-Pack

X-Pack是一个Elastic Stack的扩展,将安全,警报,监视,报告和图形功能包含在一个易于安装的软件包中。在Elasticsearch 5.0.0之前,您必须安装单独的Shield,Watcher和Marvel插件才能获得在X-Pack中所有的功能。

下载前提

Elasticsearch 6.3.0

Kibana 6.3.0

Elasticsearch下载X-Pack

在Es的根目录(比如我的是/usr/local/src/elasticsearch-6.3.0,每个节点),运行 bin/elasticsearch-plugin进行安装。

sudo bin/elasticsearch-plugin install x-pack

ElasticSearch6学习(1)

从错误信息来看。这个版本的es已经包含了x-pack.

Kibana下载X-Pack

在Kibana根目录运行 bin/kibana-plugin 进行安装。

sudo bin/kibana-plugin install x-pack

ElasticSearch6学习(1)

从提示信息来看。这个版本的也已经包含了x-pack.

运行Kibana。(注意 执行下目录权限:sudo chown guest /usr/local/src/kibana-6.3.0-linux-x86_64/  -R)

设置Kibana公网访问,修改2处:

1:修改config/kibaba.yml下的server.host为0.0.0.0或者去掉前面的注释

sudo vim config/kibana.yml

ElasticSearch6学习(1)

2:注释掉 elasticsearch.url

ElasticSearch6学习(1)

设置好后重启:

bin/kibana -d

 或者

nohup bin/kibana -d

 这里很奇怪。每次我要关闭es后才能启动成功。

ElasticSearch6学习(1)

待续

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这