ElasticSearch部署
下载软件包
#Elasticsearch: https://www.elastic.co/cn/downloads/elasticsearch
#kibana: https://artifacts.elastic.co/downloads/kibana/
部署JDK
#所有设备均安装
#解压至/usr/local/
$tar xf jdk1.8.0_171.tar.gz -C /usr/local/
#创建环境变量
$vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
$source /etc/profile
部署ElasticSearch
解压
$tar xf elasticsearch-6.8.2.tar.gz -C /usr/local/
$tar xf kibana-6.8.2-linux-x86_64.tar.gz -C /usr/local
创建用户以及目录等
$groupadd elsearch
$useradd elsearch -g elsearch
$mkdir -pv /data/elasticsearch
$mkdir -pv /data/logs/elasticsearch
$mkdir -pv /home/logs
$ln -sf /data/logs/elasticsearch /home/logs/elasticsearch
$chown -R elsearch:elsearch /data/elasticsearch
$chown -R elsearch:elsearch /home/logs/elasticsearch
$chown -R elsearch:elsearch /data/logs/elasticsearch
$cd /usr/local
$mv elasticsearch-5.6.2 elasticsearch
$chown -R elsearch:elsearch elasticsearch
修改配置文件
$vim config/elasticsearch.yml
#ES集群名称,同一个集群内的所有节点集群名称必须保持一致
cluster.name: test-cluster
#ES集群内的节点名称
node.name: es-test-node116
#允许节点是否可以成为一个master节点,ES是默认集群中的第一台机器成为master,如果这台机器停止就会重新选举
node.master: true
#允许该节点存储索引数据(默认开启)
node.data: true
#数据存储路径(path可以指定多个存储位置,分散存储,有助于性能提升)
#目录还要对elasticsearch的运行用户有写入权限
path.data: /data/elasticsearch
path.logs: /home/logs/elasticsearch
#在ES运行起来后锁定ES所能使用的堆内存大小,锁定内存大小一般为可用内存的一半左右;锁定内存后就不会使用交换分区
#如果不打开此项,当系统物理内存空间不足,ES将使用交换分区,ES如果使用交换分区,那么ES的性能将会变得很差
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
#es绑定地址,支持IPv4及IPv6,默认绑定127.0.0.1;es的HTTP端口和集群通信端口就会监听在此地址上
network.host: 172.16.2.116
#定义ES对外调用的http端口,默认是9200
http.port: 9200
#是否开启跨域访问
http.cors.enabled: true
#开启跨域访问后的地址限制,*表示无限制
http.cors.allow-origin: "*"
#设置集群节点通信的TCP端口,默认是9300
transport.tcp.port: 9300
#设置是否压缩TCP传输时的数据,默认为false
transport.tcp.compress: true
#设置新节点被启动时能够发现的主节点列表(主要用于不同网段机器连接)
discovery.zen.ping.unicast.hosts: ["172.16.2.116:9300", "172.16.2.117:9300", "172.16.2.118:9300"]
#设置一个集群中主节点的数量
discovery.zen.minimum_master_nodes: 1
vim config/jvm.options
#jvm内存设置(根据个人设置,一半左右)
-Xms512m
-Xmx512m
cat /etc/security/limits.d/es.conf
#修改文件描述符
# End of file
* soft nproc 1024000
* hard nproc 1024000
* soft nofile 1024000
* hard nofile 1024000
* hard core 0
#调整内核参数
$sysctl -w vm.max_map_count=262144
$vim /etc/sysctl.conf #在末尾添加
vm.max_map_count=655360
fs.suid_dumpable = 0
kernel.randomize_va_space = 2
#查看是否修改成功
$sysctl -p
启动服务
#登录用户
$su - elsearch
#开启服务
/usr/local/elasticsearch-6.8.2/bin/elasticsearch -d
#查看:9200端口是否开启
$ss -lntp
#查看节点是否全部启动(其他节点安装完成后)
$curl http://172.16.2.116:9200/_cat/nodes?v
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.16.2.117 31 48 0 0.00 0.01 0.05 mdi - es-test-node117
172.16.2.118 47 47 0 0.00 0.01 0.05 mdi - es-test-node118
172.16.2.116 5 93 0 0.00 0.01 0.05 mdi * es-test-node116
部署Kibana(仅安装至主节点)
#进入目录
$cd /usr/local/kibana-6.8.2-linux-x86_64/config/
#修改配置文件
$vi kibana.yml
server.host: "172.16.2.116" #配置本机ip
elasticsearch.hosts: ["http://172.16.2.116:9200"] #elasticsearch端口
#启动kibana
#登录用户
$su - elsearch
#开启服务
/usr/local/kibana-6.8.2-linux-x86_64/bin/kibana -d
#查看:5601端口是否开启
$ss -lntp
使用浏览器登录查看是否成功部署