准备工具:一台联网服务器(我用的是华为云服务器,1核2G,CentOS 6.10 64bit)
一,查看jdk版本
由于我已经安装好了,这里就不再重复安装了。不太了解在Linux系统上jdk安装流程的朋友可以参考这篇文章:https://www.cnblogs.com/shihaiming/p/5809553.html 或其他的文章
二,创建用户
从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动,所以我们要添加一个用户。
1,创建用户组,用户,及将用户添加到用户组。
2,设置sudo权限,输入“visudo”。
在打开的配置文件的这个地方,加入如下一行配置,并保存。
3,切换到刚刚新建的“tanwenfang”用户。
三,安装elasticsearch
1,进入home目录下的个人文件夹。
2,下载elasticsearch压缩包并解压。
(注意:这里有个版本号的吐血踩坑。。。。我们搭建ELK环境的时候,要安装es,logstash和kibana这3个东西,一定要注意版本号,要是版本号对不上,可能导致某个服务起不来。
由于老师是2017年录制的视频,里面指定es的版本是6.2.3,估计也是最新的,所以老师运行不报错。我是2019年按照老师给的命令去下载es,下载的版本还是是6.2.3,但其实现在最新的版本已经是6.6.1了,而之后视频讲解的logstash和kibana都是直接从官网下载的,版本号又是最新的,这就导致es的版本和logstash及kibana的版本对应不上,启动不了kibana。
所以,保险的做法是:不管是通过命令下载,还是先从官网下载再上传,都先检查一下版本号是否对应上了,以官网最新的版本号为标准吧–https://www.elastic.co/downloads。
)
下载命令:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gz
解压命令:tar -zxvf elasticsearch-6.2.3.tar.gz
3,修改目录名称,及修改目录权限。
4,ElasticSearch 配置
(1)修改elasticsearch.yml。
进入elasticsearch的config目录下,输入“vim elasticsearch.yml”:
a.修改network.host和http.port,在打开的配置文件中,找到“Network”部分,做如下修改:
b.修改内存限制,找到Memory部分,加入如下配置:
c.设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。找到Discovery部分,做如下修改:
然后保存退出。
(2)修改/etc/sysctl.conf。
先切换回root用户,输入“sudo -i”或者“exit”即可退出,“sudo -i”要输密码。
然后输入“vim /etc/sysctl.conf”,在打开的配置文件中的末尾添加如下配置:
保存退出然后输入“sysctl -p”刷新配置:
(3)修改限制文件,/etc/security/limits.conf。
打开该配置文件,添加如下两行配置:
(4)修改/etc/security/limits.d/90-nproc.conf。
打开配置文件,添加如下配置:
5,ElasticSearch启动与停止
切换到新用户“tanwenfang”。
进入“/home/tanwenfang/elasticsearch/bin”目录,我们先输入“./elasticsearch”,可以看到其启动日志:
下面的“started”表明启动成功了,但是这种启动方式只要一关闭窗口或按“Ctrl +C”,服务就停止了,所以我们使用“./elasticsearch -d”来进行后台启动。
然后输入“jps”可以查看到:
浏览器访问:http://119.3.228.85:9201/,出现如下结果,证明elasticsearch安装启动成功。
四,安装Head插件
1.Head插件简介
ElasticSearch-head是一个H5编写的ElasticSearch集群操作和管理工具,可以对集群进行傻瓜式操作。
它提供了:
a.索引和节点级别操作
b.搜索接口能够查询集群中原始json或表格格式的检索数据
c.能够快速访问并显示集群的状态
2.安装NodeJS
先切换到root用户。
然后输入“curl -sL https://rpm.nodesource.com/setup_8.x | bash -”
然后输入“yum install -y nodejs”
3.安装npm
输入“npm install -g cnpm --registry=https://registry.npm.taobao.org”
4.使用npm安装grunt
npm install -g grunt
npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-prox
5,切换到“tanwenfang用户”,查看刚刚安装的插件的版本:
6,下载head插件源码。
下载命令:wget https://github.com/mobz/elasticsearch-head/archive/master.zip
解压命令:unzip master.zip
7.国内镜像安装
进入elasticsearch-head-master目录,依次输入如下命令:
sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
sudo cnpm install
五、配置
1.配置 ElasticSearch,使得HTTP对外提供服务
使用vi config/elasticsearch.yml打开elasticsearch的配置文件,在文件的末尾添加如下内容:
http.cors.enabled: true
http.cors.allow-origin: “*”
2.修改Head插件配置文件
用vi Gruntfile.js打开配置文集,找到connect:server,添加hostname一项,如下:
六,启动
1.重启elasticsearch
启动命令:./elasticsearch -d
2.启动head
elasticsearch-head-master目录下:
grunt server
或 npm run start
3.访问9101端口
浏览器访问http://119.3.228.85:9101/,界面如下:
七、简单应用
1.创建索引
切换到root用户,输入:curl -XPUT http://119.3.228.85:9201/applog
2.查看head变化 ,浏览器输入http://119.3.228.85:9101/,展示界面如下:
好了,ElasticSearch的搭建演示完成。
这是我第二次搭建了,由于第一次把遇到的坑都一一填平的,所以第二次搭建的时候,把解决方法加进去了,如果按照我的流程去搭建,应该不会出现什么太大问题啦,有问题也没关系,有问题就解决问题嘛?
注意:
1,一些在root用户下安装的软件安装一次就行了,不要重复安装;
2,由于我使用的是华为的云服务器,所以需要在安全组那里开放端口,反正是测试,我就开放了所有端口。