本文基于elasticsearch 6.2.0.本文是本人写给运维的部署文档,留存记录方便以后使用,因为命令比较详细,只需参考即可。后续将陆陆续续写相关API上来。
三台机的配置
Mastar节点机器
操作系统:linux CentOS 7
运行内存: 128G
硬盘内存:5T
Data节点机器
操作系统:linux CentOS 7
运行内存: 128G
硬盘内存:10T
Data节点机器
操作系统:linux CentOS 7
运行内存: 128G
硬盘内存:10T
命令仅供参考,实际操作请手动输入命令,不要直接复制粘贴!!!
elasticsearch6.2.0+ kibana 6.2.0
elasticsearch 6.2.0 下载地址
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.0.tar.gz
cerebro 0.7.2 下载地址
https://github.com/lmenezes/cerebro/releases/download/v0.7.2/cerebro-0.7.2.tgz
kibana 6.2.0 下载地址
https://artifacts.elastic.co/downloads/kibana/kibana-6.2.0-linux-x86_64.tar.gz
2.2.1 JDK配置版本
oracle JDK:1.8及以上版本
http://www.oracle.com/technetwork/java/javase/downloads
2.2.2 配置说明
JDK
elasticsearch的环境依赖
说明: 如果敲入以下命令失败,首先检查命令格式是否正确,然后再检查是否按照顺序敲命令的。
对三台机器IP互相PING,看是否能正常通信
CentOS 7
关闭防火墙
systemctl stop firewalld.service
3.1.1 文件准备
解压下载下来的JDK
tar -xvf jdk-8u144-linux-x64.tar.gz
移动到opt/java文件夹中,没有就新建,然后将文件夹重命名为jdk1.8
mv jdk1.8.0_144 /opt/java
mv jdk1.8.0_144 jdk1.8
3.1.2环境配置
首先输入 java-version
查看是否安装了JDK,如果安装了,但版本不适合的话,就卸载
输入
rpm -qa | grep java
查看信息
然后输入:
rpm -e --nodeps “你要卸载JDK的信息”
如: rpm-e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
编辑/etc/profile 文件
输入:
export JAVA_HOME=/opt/java/jdk1.8
export JRE_HOME=/opt/java/jdk1.8/jre
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=.:${JAVA_HOME}/bin:$PATH
注:JAVA_HOME的路径是 JDK的路径
使用vim 编辑之后 记得输入 source /etc/profile 是配置生效
配置完后,输入java -version 查看版本信息
3.2.1 文件准备
将下载好的elasticsearch-6.2.0.tar.gz文件解压
输入
tar -xvf elasticsearch-6.2.0.tar.gz
然后移动到/opt/elk文件夹 里面,没有该文件夹则创建
输入
mv elasticsearch-6.1.0 /opt/elk
接下来创建ES数据文件夹和日志文件夹(注意:需要在数据盘下面创建)
比如数据硬盘挂载在home文件夹,则
cd /home
mkdir elastic
cd elastic
mkdir data logs
三个服务器操作一样即可
3.2.2环境配置
输入:
cd /opt/elk/ elasticsearch-6.2.0
cd config/
1、编辑jvm.options
vi jvm.options
修改为:
-Xms31g
-Xmx31g
保存文件退出,测试环境可以配置1到10G这样即可
2、编辑elasticsearch.yml
vi elasticsearch.yml
这里Master机器节点和data机器节点的配置机子的配置有点不一样
注意:每台机器的elasticsearch的配置中node.name名字都不一样
Master节点服务器的elasticsearch.yml
cluster.name:bigData-cluster
node.name:data01
#数据地址
path.data:/home/elastic/data
#日志地址
path.logs:/home/elastic/logs
network.host:0.0.0.0
network.publish_host:当前机器IP
transport.tcp.port:9300
http.port:9200
discovery.zen.ping.unicast.hosts:["IP1:9300","IP2:9300","IP3:9300"]
node.master:true
node.data:false
discovery.zen.minimum_master_nodes:1
indices.fielddata.cache.size:12gb
bootstrap.memory_lock:true
bootstrap.system_call_filter:false
Data节点服务器的elasticsearch.yml
cluster.name:bigData-cluster
node.name:data02
#数据地址
path.data:/home/elastic/data
#日志地址
path.logs:/home/elastic/logs
network.host:0.0.0.0
network.publish_host:当前机器IP
transport.tcp.port:9300
http.port:9200
discovery.zen.ping.unicast.hosts:["IP1:9300","IP2:9300","IP3:9300"]
node.master:false
node.data:true
discovery.zen.minimum_master_nodes:1
indices.fielddata.cache.size:12gb
bootstrap.memory_lock:true
bootstrap.system_call_filter:false
注意:配置中的IP1,IP2,IP3为集群中的每个服务器的实际内网IP,注意查看机器中9300端口和9200端口是否被占用
配置中的indices.fielddata.cache.size在测试的时候可以删掉,也可根据服务器内存配置
1、修改sysctl.conf
vi /etc/sysctl.conf
# 增加
vm.max_map_count= 655360
保存退出,输入以下命令执行
sysctl-p
输入 cat/etc/sysctl.conf | grep vm.max_map_count
2、修改90-nproc.conf
vi/etc/security/limits.d/90-nproc.conf
注:不同的linux服务器90-nproc.conf可能文件名不一样,有的可能是20-nproc.conf,建议先进/etc/security/limits.d/查看文件名再执行vi命令修改
修改如下内容:
* soft nproc 2048
#修改为
* soft nproc 4096
3、修改limits.conf
vi/etc/security/limits.conf
添加如下内容:
* hard nofile 65536
* soft nofile 65536
说明
cerebro只需要部署在Master节点的机器即可, ,Data节点服务器不需要部署
3.4.1 文件准备
将下载下来的cerebro 0.7.2.tar.gz进行解压
在linux上输入:
tar -xvf cerebro 0.7.2.tar.gz
然后将解压之后的文件夹移动到opt/elk文件夹下。
在linux上输入移动文件夹命令:
mv cerebro0.7.2 /opt/elk
说明
kinaba只需要部署在Master节点的机器即可, Data节点服务器不需要部署
3.5.1 文件准备
将下载下来的kibana-6.2.0-linux-x86_64.tar.gz的配置文件进行解压
在linux上输入:
tar -xvf kibana-6.2.0-linux-x86_64.tar.gz
然后移动到/opt/hbase 里面
输入
mv kibana-6.2.0-linux-x86_64 /opt/elk
注: ES必须使用非root用户启动
在root的环境下输入,三台机子必须都得这样
adduser elastic
修改文件夹用户组
chown -R elastic:elastic/opt/elk/elasticsearch-6.2.0
chown -R elastic:elastic /home/elastic/
其中/home/elastic 为安装时候创建的数据文件夹
然后切换用户
su elastic
1、先启动Master节点的机器,再依次启动data节点的机器,进入elasticsearch-6.2.0文件夹,启动命令如下
./bin/elasticsearch -d
验证是否成功,出现以下json则表示成功
在浏览器输入
http://IP:9200
进去cerebro-0.7.2文件夹
输入:
nohup ./bin/cerebro >/dev/null 2>&1 &
然后启动cerebro
在浏览器输入:
http://Master的IP:9000
按如图中操作,进入集群管理界面
其中红圈部分是数据
进入kibana-6.1.0-linux-x86_64文件夹
输入:
nohup ./bin/kibana >/dev/null 2>&1 &
浏览器输入:
http://Master的IP:5601
如果不能访问则修改kibana.yml
vi config/kibana.yml将
修改为
其中的192.169.2.98换成本机的IP地址即可
如图则是运维界面,相关具体操作可查看文档
输入
jps获取Elasticsearch进程号
然后执行
kill -9 进程号
如上面图中Elasticsearch进程为2089
kill -9 2089
注意:如果需要关闭集群需要一个节点一个节点的关闭,如果需要关闭的是Master节点时间长,需要关闭集群下的Data节点。
输入
jps获取cerebro进程号
然后执行
kill -9 进程号
如上面图中cerebro进程为11684
kill -9 11684
输入
netstat -tunlp|grep 5601
获取kinaba进程号
然后执行
kill -9 进程号
如上面图中kinaba进程为76587
kill -9 76587
集群名称.log
如我这里集群名为bigData-cluster,则查看bigData-cluster.log日志
注:/home/elastic/为你创建的数据文件夹路径
2、注意查看/home/elastic/logs用户归属组是否是elastic,不是的话会报错,改权限
3、如果报以下错,请参考第二个模块第三节Linux配置的1、2、3步
(1)maxvirtual memory areas vm.max_map_count [65530] is too low, increase to at least[262144]
参考第一个配置
(2) maxfile descriptors [65535] for elasticsearch process likely too low, increase toat least [65536]
参考第三个配置
(3)max number ofthreads [2048] for user [elastic] is too low, increase to at least [4096]
参考第二个配置
4、如果报以下这个错则去修改elasticsearch.yml文件
ERROR:bootstrap checks failed
修改elasticsearch.yml文件中的参数
bootstrap.memory_lock:true
改为
bootstrap.memory_lock:false
注:哪台机器哪台修改即可