营销策划好的网站,广州市手机网站建设服务机构,商务网站建设推荐,wordpress more分隔标签前言 之前使用的ES集群是其他公司维护#xff0c;没有机会安装#xff0c;后来做其他项目#xff0c;终于有机会安装ES集群#xff0c;简单记录一下备用
一、安装jdk 安装jdk1.8就可以#xff0c;可以参考另一篇文章#xff0c;这里就不细说了
二、修改系统参数 如果在…前言 之前使用的ES集群是其他公司维护没有机会安装后来做其他项目终于有机会安装ES集群简单记录一下备用
一、安装jdk 安装jdk1.8就可以可以参考另一篇文章这里就不细说了
二、修改系统参数 如果在一台服务器安装集群则下面的操作在一台服务器执行即可如果要在多台服务器搭建ES集群那么下面的操作要在所有的服务器上执行
2.1、内核参数优化 vim /etc/sysctl.conf 添加以下内容 vm.max_map_count 262144 vm.swappiness 0 vm.dirty_background_ratio 3 vm.dirty_ratio 5 vm.zone_reclaim_mode 0 vm.min_free_kbytes 2097152 net.ipv4.tcp_keepalive_time 600 net.ipv4.tcp_keepalive_intvl 60 net.ipv4.tcp_keepalive_probes 3 使用以下命令校验相关配置 sudo sysctl -p 执行完之后没有报错。 sysctl -a | grep vm.max_map_count 可以看到以下配置 vm.max_map_count 262144 sysctl -a | grep dirty 可以看到以下配置 vm.dirty_background_ratio 3 vm.dirty_ratio 5 2.2、设置资源数 vim /etc/profile 添加以下内容 ulimit -SHl unlimited ulimit -SHu 409600 ulimit -SHn 409600 使配置生效 source /etc/profile vim /etc/security/limits.conf 添加以下内容 root soft core unlimited root hard core unlimited * - nofile 500000 * soft nproc 500000 * soft nofile 655350 * hard nofile 655350 在profile配置生效后输入如下命令查看配置输出信息 ulimit -Hn输出409600 ulimit -Sn输出409600 注意如果输出的不是该值请检查vim /etc/bashrc中是否配置了ulimit -n 65535如果有则注释掉该配置
2.3、修改线程数 vim /etc/security/limits.d/20-nproc.conf 添加以下内容 * soft nproc 500000 root soft nproc unlimited 2.4、修改开机启动项并执行 vim /etc/rc.d/rc.local 增加下列内容直接复制粘贴 if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never /sys/kernel/mm/transparent_hugepage/defrag fi 保存并退出并给rc.local添加可执行权限。 chmod x /etc/rc.d/rc.local 三、安装ES
3.1、新建ES用户 adduser esuser 3.2、创建ES数据目录 es的数据目录需要选用数据盘来存放数据切忌不可存选用系统盘作为存放es的数据。 一台服务器安装三个ES节点 软件和数据都放在/home/es目录下masterslave1slave2目录存放三个节点的程序maste_dataslave1_dataslave2_data目录存放对应节点的数据 mkdir -p /home/es/master mkdir -p /home/es/master_data mkdir -p /home/es/slave1_data mkdir -p /home/es/slave2_data 赋权给ES用户 chown -R esuser:esuser /home/es 上传安装包到 /home/es目录下解压到master目录 tar -zxf elasticsearch-7.x-linux-x86_64.tar.gz -C /home/es mv /home/es/elasticsearch-7.x /home/es/master 3.3、配置jvm.options es节点的最大可使用内存为32g因此在更改jvm.options配置文件的时候不要设置超过32g如果所在服务器可使用内存远超32g为不浪费剩余资源可考虑在该服务器上多部署几个es节点。 cd /apps/elasticsearch-7.2.0 vim config/jvm.options -Xms10g -Xmx10g 3.4、配置elasticsearch.yml cd master vim config/elasticsearch.yml cluster.name: my_cluster node.name: node-101-1 path.data: /home/es/master_data node.master: true node.data: true network.host: 0.0.0.0 http.port: 9200 transport.tcp.port: 9300 cluster.initial_master_nodes:[node-101-1,node-101-2,node-101-3] discovery.seed_hosts:[192.168.0.101:9300,192.168.0.101:9301,192.168.0.101:9302] gateway.recover_after_nodes: 3 http.cors.enabled: true http.cors.allow-origin: * cluster.routing.allocation.cluster_concurrent_rebalance: 10 cluster.routing.allocation.node_concurrent_recoveries: 10 cluster.routing.allocation.node_initial_primaries_recoveries: 4 配置说明 cluster.name: es集群的名称可以自定义但要保证集群中每一个node的cluster.name名称一致。 node.name: 节点的名称可以自定义。 path.data: 存储数据目录如果有多个磁盘用”,”进行分隔。 node.master: true表示是否为master节点true为是false为否。 node.data: true表示是否为数据节点true为是false为否。 network.host: 0.0.0.0表示绑定的ip地址 0.0.0.0表示绑定本机ip。 http.port: HTTP请求的端口号默认9200~9299端口之间。 transport.tcp.port: nodes节点之前通信端口号默认9300~9400端口之间。 cluster.initial_master_nodes:是es7.x 之后新增的配置表示初始化一个新的集群时需要此配置来选举master必须和node.name保持一致。 discovery.seed_hosts: 是es7.x 之后新增的配置表示写入候选主节点的设备地址在开启服务后可以被选为主节点。 gateway.recover_after_nodes: 2表示只要满足该数值的数据或主节点已加入集群即可恢复。 http.cors.enabled: true表示是否支持跨域是true在使用head插件时需要此配置。 http.cors.allow-origin: * “*” 表示支持所有域名。 cluster.routing.allocation.cluster_concurrent_rebalance: 10表示集群内同时启动的数据任务个数默认是2个。 cluster.routing.allocation.node_concurrent_recoveries: 10表示添加或删除节点及负载均衡时并发恢复的线程个数默认4个。 cluster.routing.allocation.node_initial_primaries_recoveries: 4表示初始化数据恢复时并发恢复线程的个数默认4个。 3.5、启动脚本
编辑简单的启动脚本启动ES cd master vim start.sh #!/bin/sh cd dirname $0 su esuser -c sh ./bin/elasticsearch -d -p pid 添加执行权限 chmod x start.sh 3.6、配置其他节点
复制master到其他节点修改对应的elasticsearch.yml配置即可主要修改红色的配置 cp -r /home/es/master /home/es/slave1 cp -r /home/es/master /home/es/slave2 其他服务器使用scp命令 scp -r /home/es/master rootip:/home/es/master 四、启用集群安全认证
4.1、停止服务 jps -l kill pid 4.2、 生成证书
注意不需要设置密码直接回车后面如果有需要输入密码也是直接回车。 ./bin/elasticsearch-certutil ca ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 执行完之后会生成两个文件elastic-certificates.p12和elastic-stack-ca.p12
拷贝到master的config目录下和其他节点的congfig目录下
4.3、修改配置
master节点的elasticsearch.yml添加以下配置其他节点添加对应的配置注意证书文件的路径 xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path:/home/es/master/config/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path:/home/es/master/config/elastic-certificates.p12 4.4、启动服务 ./start.sh 4.4、设置密码 ./bin/elasticsearch-setup-passwords interactive 要输入12次密码都输入一样的就可以了
五、安装Kibana
上传并解压 tar -zxf kibana-7.x-linux-x86_64.tar.gz 赋权给esuser chown -R esuser:esuser kibana-7.x-linux-x86_64 备份配置文件 mv kibana.yml kibana.yml_bak 编辑配置文件 vim config/kibana.yml 添加一下配置按照具体的配置修改如果es集群没有配置密码则不用配置 i18n.locale: zh-CN server.port: 5601 server.host: 0.0.0.0 elasticsearch.hosts: http://ip:9200 elasticsearch.username: kibana-system elasticsearch.password: 123456 kibana.index: .kibana 编辑启动脚本 vim start.sh #!/bin/bash su esuser -c nohup bin/kibana ./stdout.log 21 启动 ./start.sh 浏览器访问ip:5601输入es的用户名和密码即可
写在最后的话 集群安装也可以编写脚本完成一键安装通过scp把安装包拷贝到其他节点。启用安全认证可以在3.3步骤后执行就不用多配置了一次配置就好了。