原文 ELK-7.3安装部署java
ELK是由Elasticsearch、Logstash、Kibana 三个开源软件的组成的一个组合体 不懂自行查阅 https://www.elastic.co/node
因为Elasticsearch、Kibana均不能以root帐号运行。 不然报错bootstrap
vi /etc/security/limits.conf 增长的内容 * hard nofile 65536 * soft nproc 2048 * hard nproc 4096 * soft memlock unlimited * hard memlock unlimited
vi /etc/security/limits.d/20-nproc.conf 调整成如下配置 * soft nproc 4096 root soft nproc unlimited
vi /etc/sysctl.conf 增长的内容 vm.max_map_count=655360 fs.file-max=655360
reboot
firewall-cmd --add-port=9200/tcp --permanent firewall-cmd --add-port=9300/tcp --permanent 从新加载防火墙规则 firewall-cmd --reload
建立用户 useradd elk 建立ELK APP目录 mkdir /ext/elasticsearch 建立ELK data目录 mkdir /ext/elasticsearch/data 建立ELK logs目录 mkdir /ext/elasticsearch/logs
赋权 chown -R elk:elk /ext/elasticsearch
https://download.oracle.com/otn/java/jdk/11.0.4+10/cf1bbcbf431a474eb9fc550051f4ee78/jdk-11.0.4_linux-x64_bin.tar.gz
mkdir /ext/java
sudo tar zvxf jdk-11.0.4_linux-x64_bin.tar.gz -C /ext/java
cd /ext/java
vi /etc/profile
export JAVA_HOME=/ext/java/jdk-11.0.4 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile
java -version
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz
sudo tar zvxf elasticsearch-7.3.0-linux-x86_64.tar.gz -C /ext/elasticsearch
打开目录 cd /ext/elasticsearch/elasticsearch-7.3.0
修改配置 vi config/elasticsearch.yml浏览器
主节点配置(192.168.0.201)
#ES集群名称,同一个集群内的全部节点集群名称必须保持一致 cluster.name: ES-Cluster #ES集群内的节点名称,同一个集群内的节点名称要具有惟一性 node.name: ES-master-192.168.0.201 #容许节点是否能够成为一个master节点,ES是默认集群中的第一台机器成为master,若是这台机器中止就会从新选举 node.master: true #容许该节点存储索引数据(默认开启) node.data: false #path能够指定多个存储位置 path.data: /ext/elasticsearch/data #elasticsearch专门的日志存储位置,生产环境中建议elasticsearch配置文件与elasticsearch日志分开存储 path.logs: /ext/elasticsearch/logs #在ES运行起来后锁定ES所能使用的堆内存大小,锁定内存大小通常为可用内存的一半左右;锁定内存后就不会使用交换分区 #若是不打开此项,当系统物理内存空间不足,ES将使用交换分区,ES若是使用交换分区,那么ES的性能将会变得不好 bootstrap.memory_lock: true #es绑定地址,支持IPv4及IPv6,默认绑定127.0.0.1;es的HTTP端口和集群通讯端口就会监听在此地址上 network.host: 192.168.0.201 #是否启用tcp无延迟,true为启用tcp不延迟,默认为false启用tcp延迟 network.tcp.no_delay: true #是否启用TCP保持活动状态,默认为true network.tcp.keep_alive: true #是否应该重复使用地址。默认true,在Windows机器上默认为false network.tcp.reuse_address: true #tcp发送缓冲区大小,默认不设置 network.tcp.send_buffer_size: 128mb #tcp接收缓冲区大小,默认不设置 network.tcp.receive_buffer_size: 128mb #设置集群节点通讯的TCP端口,默认就是9300 transport.tcp.port: 9300 #设置是否压缩TCP传输时的数据,默认为false transport.tcp.compress: true #设置http请求内容的最大容量,默认是100mb http.max_content_length: 200mb #是否开启跨域访问 http.cors.enabled: true #开启跨域访问后的地址限制,表示无限制 http.cors.allow-origin: "" #定义ES对外调用的http端口,默认是9200 http.port: 9200 #Elasticsearch7新增参数,写入候选主节点的设备地址,来开启服务时就能够被选为主节点,由discovery.zen.ping.unicast.hosts:参数改变而来 discovery.seed_hosts: ["192.168.0.201:9300"] #Elasticsearch7新增参数,写入候选主节点的设备地址,来开启服务时就能够被选为主节点 cluster.initial_master_nodes: ["192.168.0.201:9300"] #Elasticsearch7新增参数,设置每一个节点在选中的主节点的检查之间等待的时间。默认为1秒 cluster.fault_detection.leader_check.interval: 15s #Elasticsearch7新增参数,启动后30秒内,若是集群未造成,那么将会记录一条警告信息,警告信息未master not fount开始,默认为10秒 discovery.cluster_formation_warning_timeout: 30s #Elasticsearch7新增参数,节点发送请求加入集群后,在认为请求失败后,再次发送请求的等待时间,默认为60秒 cluster.join.timeout: 120s #Elasticsearch7新增参数,设置主节点等待每一个集群状态彻底更新后发布到全部节点的时间,默认为30秒 cluster.publish.timeout: 90s #集群内同时启动的数据任务个数,默认是2个 cluster.routing.allocation.cluster_concurrent_rebalance: 32 #添加或删除节点及负载均衡时并发恢复的线程个数,默认4个 cluster.routing.allocation.node_concurrent_recoveries: 32 #初始化数据恢复时,并发恢复线程的个数,默认4个 cluster.routing.allocation.node_initial_primaries_recoveries: 32服务器
#ES集群名称,同一个集群内的全部节点集群名称必须保持一致 cluster.name: ES-Cluster #ES集群内的节点名称,同一个集群内的节点名称要具有惟一性 node.name: ES-Data-192.168.0.202 #容许节点是否能够成为一个master节点,ES是默认集群中的第一台机器成为master,若是这台机器中止就会从新选举 node.master: false #容许该节点存储索引数据(默认开启) node.data: true #path能够指定多个存储位置 path.data: /ext/elasticsearch/data #elasticsearch专门的日志存储位置,生产环境中建议elasticsearch配置文件与elasticsearch日志分开存储 path.logs: /ext/elasticsearch/logs #在ES运行起来后锁定ES所能使用的堆内存大小,锁定内存大小通常为可用内存的一半左右;锁定内存后就不会使用交换分区 #若是不打开此项,当系统物理内存空间不足,ES将使用交换分区,ES若是使用交换分区,那么ES的性能将会变得不好 bootstrap.memory_lock: true #es绑定地址,支持IPv4及IPv6,默认绑定127.0.0.1;es的HTTP端口和集群通讯端口就会监听在此地址上 network.host: 192.168.0.202 #是否启用tcp无延迟,true为启用tcp不延迟,默认为false启用tcp延迟 network.tcp.no_delay: true #是否启用TCP保持活动状态,默认为true network.tcp.keep_alive: true #是否应该重复使用地址。默认true,在Windows机器上默认为false network.tcp.reuse_address: true #tcp发送缓冲区大小,默认不设置 network.tcp.send_buffer_size: 128mb #tcp接收缓冲区大小,默认不设置 network.tcp.receive_buffer_size: 128mb #设置集群节点通讯的TCP端口,默认就是9300 transport.tcp.port: 9300 #设置是否压缩TCP传输时的数据,默认为false transport.tcp.compress: true #设置http请求内容的最大容量,默认是100mb http.max_content_length: 200mb #是否开启跨域访问 http.cors.enabled: true #开启跨域访问后的地址限制,*表示无限制 http.cors.allow-origin: "*" #定义ES对外调用的http端口,默认是9200 http.port: 9200 #Elasticsearch7新增参数,写入候选主节点的设备地址,来开启服务时就能够被选为主节点,由discovery.zen.ping.unicast.hosts:参数改变而来 discovery.seed_hosts: ["192.168.0.201:9300"] #Elasticsearch7新增参数,写入候选主节点的设备地址,来开启服务时就能够被选为主节点 cluster.initial_master_nodes: ["192.168.0.201:9300"] #Elasticsearch7新增参数,设置每一个节点在选中的主节点的检查之间等待的时间。默认为1秒 cluster.fault_detection.leader_check.interval: 15s #Elasticsearch7新增参数,启动后30秒内,若是集群未造成,那么将会记录一条警告信息,警告信息未master not fount开始,默认为10秒 discovery.cluster_formation_warning_timeout: 30s #Elasticsearch7新增参数,节点发送请求加入集群后,在认为请求失败后,再次发送请求的等待时间,默认为60秒 cluster.join.timeout: 120s #Elasticsearch7新增参数,设置主节点等待每一个集群状态彻底更新后发布到全部节点的时间,默认为30秒 cluster.publish.timeout: 90s #集群内同时启动的数据任务个数,默认是2个 cluster.routing.allocation.cluster_concurrent_rebalance: 32 #添加或删除节点及负载均衡时并发恢复的线程个数,默认4个 cluster.routing.allocation.node_concurrent_recoveries: 32 #初始化数据恢复时,并发恢复线程的个数,默认4个 cluster.routing.allocation.node_initial_primaries_recoveries: 32
注意:主从集群名要一致 cluster.name: es 不然会报错
打开目录 cd /ext/elasticsearch/elasticsearch-7.3.0 修改配置 vi config/jvm.options 把 -Xms1g -Xmx1g
切换以前先用root受权 赋权 chown -R elk:elk /ext/elasticsearch 不然启动报没有权限
su elk 必定要切换用户不然启动报错
进入elasticsearch根目录 cd /ext/elasticsearch/elasticsearch-7.3.0 启动 ./bin/elasticsearch ./bin/elasticsearch -d 后台启动
浏览器访问 http://192.168.0.201:9200/ 出现下面信息说明部署成功