Elasticsearch-6.5.4集群安装部署
ES集群安装部署
硬件选择
- 环境选择
集群名称:phone_his_log
ElasticSearch安装需要JDK,本文的ElasticSearch版本为6.5.4,JDK为1.8.
服务器ip | 节点属性 | 分配JVM内存 | 节点名称 | 节点端口 |
---|---|---|---|---|
192.169.0.23 | Data1节点 | 8GB | data1 | 9200/9300 |
Master1节点 | 2GB | master1 | 9201/9301 | |
192.169.0.24 | Data2节点 | 8GB | data2 | 9200/9300 |
Master3节点 | 2GB | master2 | 9201/9301 | |
192.169.0.25 | Data3节点 | 8GB | data1 | 9200/9300 |
Master4节点 | 2GB | master2 | 9201/9301 |
相关配置见下文,这个表格以下ES配置的地方会会使用到
下载地址:
ElasticSearch-6.5.4: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
Kibana-6.5.4:https://artifacts.elastic.co/downloads/kibana/kibana-6.5.4-linux-x86_64.tar.gz
JDK1.8 : http://www.oracle.com/technetwork/java/javase/downloads
Linux配置
-
修改最大内存限制
修改sysctl.conf文件
vim /etc/sysctl.conf
在末尾增加如下配置:vm.max_map_count = 655360 //硬件内存大小 vm.swappiness=1
然后保存退出,输入以下命令使其生效
sysctl -p
使用命令查看:
tail -3 /etc/sysctl.conf
-
修改最大线程个数
修改90-nproc.conf文件
vim /etc/security/limits.d/90-nproc.conf
注:不同的linux服务器90-nproc.conf可能文件名不一样,建议先在/etc/security/limits.d/查看文件名确 认之后再来进行更改
将下述的内容
soft nproc 2048
修改为以下内容
soft nproc 4096
使用命令查看
tail -3 /etc/security/limits.d/90-nproc.conf
-
修改最大打开文件个数
修改limits.conf
vim /etc/security/limits.conf
在末尾添加如下内容:hard nofile 65536 soft nofile 65536 elastic soft memlock unlimited elastic hard memlock unlimited
-
防火墙关闭
关闭防火墙的命令 -
CentOS 6
查询防火墙状态:
[root@localhost ~]# service iptables status
停止防火墙:
[root@localhost ~]# service iptables stop
启动防火墙:
[root@localhost ~]# service iptables start
重启防火墙:
[root@localhost ~]# service iptables restart
永久关闭防火墙:
[root@localhost ~]# chkconfig iptables off
永久关闭后启用:
[root@localhost ~]# chkconfig iptables on -
CentOS 7
关闭防火墙
systemctl stop firewalld.service
JDK安装
- 文件准备
解压下载下来的JDK
tar -xvf jdk-8u144-linux-x64.tar.gz
移动到opt/java文件夹中,没有就新建,然后将文件夹重命名为jdk1.8mv jdk1.8.0_144 /opt/java mv jdk1.8.0_144 jdk1.8
- 环境配置
用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
确认没有了之后,解压下载下来的JDK
然后编辑 profile 文件,添加如下配置
输入:vim /etc/profile
添加下列信息
export JAVA_HOME=/opt/java/jdk1.8 export JRE_HOME=/opt/java/jdk1.8/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=.:${JAVA_HOME}/bin:$PATH
输入:
source /etc/profile
使其生效
ElasticSearch安装
-
文件准备
将下载好的elasticsearch文件解压
输入tar -xvf elasticsearch-6.5.4.tar.gz
然后移动到/opt/elk文件夹 里面,没有该文件夹则创建,然后将文件夹重命名为masternode
在/opt/elk输入mv elasticsearch-6.5.4 /opt/elk mv elasticsearch-6.5.4 masternode
-
配置修改
因为elasticsearch需要在非root的用户下面操作,并且elasticsearch的文件夹的权限也为非root权限, 因此我们需要创建一个用户进行操作,我们创建一个elastic用户,并赋予该目录的权限。
命令如下:adduser elastic chown -R elastic:elastic /opt/elk/masternode
创建ElasticSearch数据和日志的文件夹,先切换到elastic用户下面
su elastic mkdir /home/elk mkdir /home/elk/masternode mkdir /home/elk/masternode/data mkdir /home/elk/masternode/logs mkdir /home/elk/datanode1 mkdir /home/elk/datanode1/data mkdir /home/elk/datanode1/logs
创建成功之后,修改各个节点elasticsearch.yml和jvm.options文件的配置
注意这里使用的是elastic用户cd /opt/elk/ vim masternode/config/elasticsearch.yml vim masternode/config/jvm.options
masternode的elasticsearch.yml文件配置如下:
elasticsearch.yml文件参数配置说明:
cluster.name:
集群名称,同一集群的节点配置应该一致。es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。 - node.name: 该节点的名称。
- path.data: 数据存放的路径。
- path.logs: 日志存放的路径。
- network.host: 设置ip地址,可以是ipv4或ipv6的,默认为0.0.0.0。
- network.publish_host: 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址。
- transport.tcp.port:设置节点间交互的tcp端口,默认是9300。
- http.port:设置对外服务的http端口,默认为9200。
- discovery.zen.ping.unicast.hosts: 设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
- node.master: 指定该节点是否有资格被选举成为node,默认是true。 node.data: 指定该节点是否存储索引数据,默认为true。
- node.ingest: 指定该节点是否使用管道,默认为true。
- index.number_of_shards: 设置默认索引分片个数,默认为5片。
- index.number_of_replicas:设置默认索引副本个数,默认为1个副本
- discovery.zen.minimum_master_nodes:设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
- bootstrap.memory_lock: 设置为true来锁住内存。因为当jvm开始swapping时es的效率会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。同时也要允许elasticsearch的进程可以锁住内存,Linux下可以通过
ulimit -l unlimited
命令。 - http.max_content_length: 设置内容的最大容量,默认100mb
将jvm.options配置Xms和Xmx改成4G,配置如下:
在配置完masternode节点的ElasticSearch之后,我们再来配置datanode节点的,我们将masternode节点copy一份并重命名为datanode1,然后根据上述示例图中红色框出来简单更改一下即可。
命令如下:
cd /opt/elk/ cp -r masternode/ datanode1 vim datanode1/config/elasticsearch.yml vim datanode1/config/jvm.options
datanode的elasticsearch.yml文件配置如下:
将jvm.options配置Xms和Xmx改成8G,配置如下
注:配置完成之后需要使用ll命令检查一下masternode和datanode1权限是否属于elastic用户的,若不属于,可以使用chown -R elastic:elastic +路径 命令进行赋予权限
上述配置完成之后,可以使用相同的方法在其他的机器在操作一次,或者使用ftp工具进行传输,又或者使用scp命令进行远程传输文件然后根据不同的机器进行不同的修改。
scp命令示例:
jdk环境传输:
scp -r /opt/java root@slave1:/opt scp -r /opt/java root@slave2:/opt
ElasticSearch环境传输:
scp -r /opt/elk root@slave1:/opt scp -r /home/elk root@slave1:/opt scp -r /opt/elk root@slave2:/opt scp -r /home/elk root@slave2:/opt
- 启动ElasticSearch
这里还是需要使用elastic用户来进行启动,每台机器的每个节点都需要进行操作!
在/opt/elk的目录下输入:su elastic cd /opt/elk ./masternode/bin/elasticsearch -d ./datanode1/bin/elasticsearch -d
启动成功之后,可以输入jps命令进行查看或者在浏览器上输入 ip+9200或ip+9201进行查看。
出现以下界面表示成功!
kibana 安装
kinaba只需要部署一台即可,直接通过root用户进行操作,需要注意的是kinaba需要和ElasticSearch服务器网络ping通即可
- 文件准备
将下载下来的kibana-6.5.4-linux-x86_64.tar.gz的配置文件进行解压
在linux上输入:
tar -xvf kibana-6.5.4-linux-x86_64.tar.gz
然后移动到/opt/elk 里面,然后将文件夹重命名为 kibana6.5.4
输入mv kibana-6.5.4-linux-x86_64 /opt/elk mv kibana-6.5.4-linux-x86_64 kibana6.5.4
- 配置修改
进入文件夹并修改kibana.yml配置文件:cd /opt/elk/kibana6.5.4 vim config/kibana.yml
将配置文件中的
server.host: "localhost"
修改为
server.host: "192.169.6.183"
然后一行新增,这行的意思是不使用帐号密码登录
xpack.security.enabled: false
- Kinaba 启动
root用户下启动
在kibana6.5.4文件夹输入:
nohup ./bin/kibana >/dev/null 2>&1 &
浏览器输入:
http://IP:5601
程序关闭
- Elasticsearch进程关闭
输入
jps获取Elasticsearch进程号
然后执行
kill -9 进程号
注意:如果需要关闭集群需要一个节点一个节点的关闭,如果需要关闭的是Master节点时间长,需要关闭集群下的Data节点 - Kinaba程序关闭
输入
netstat -tunlp|grep 5601
获取kinaba进程号
然后执行
kill -9 进程号
例如:kill -9 309449
- 点赞
- 收藏
- 分享
- 文章举报
- Elasticsearch 集群安装部署
- Elasticsearch5.4集群(一)安装部署
- elasticSearch集群安装部署
- elasticsearch 集群的安装部署
- Elasticsearch集群的安装部署以及IK分词的安装
- ElasticSearch 5.1.1 安装开发部署总结 集群配置
- elasticsearch2.3安装以及集群部署
- elasticsearch2.3安装以及集群部署
- ElasticSearch2.2 集群安装部署
- elasticsearch6.2.3安装以及单机集群部署
- Elasticsearch5.4集群(一)安装部署
- elasticsearch2.3安装以及集群部署
- elasticsearch集群安装部署、监控以及架设sql引擎
- ElasticSearch学习笔记-集群安装部署
- centos7 部署Elasticsearch单机/集群并安装head插件实现ES集群的可视化管理
- Elasticsearch 集群安装部署
- ElasticSearch集群部署与head插件安装
- Ubuntu 18.04.2上安装部署ElasticSearch 6.6.0集群
- elasticsearch集群一键部署安装
- Elasticsearch5.1.1集群安装部署