es集群
准备三台干净的虚拟机
内存尽量大点
主机名解析: [root@es1 ~]# hostnamectl hostname es1 退出在进:exit vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.67.131 es1 192.168.67.130 es2 192.168.67.132 es3 ~
es包里面有自带的jdk环境,但是之前要是按照了jdk尽量卸载了,或者在环境变量配置文件中,把指定路径给注释了
创建普通用户: useradd es [root@elk ~]# echo "******" | passwd --stdin "es" 设置密码
上传安装包,解包 [root@elk ~]# tar zxvf /usr/local/package/elasticsearch-7.13.2-linux-x86_64.tar.gz -C /usr/local/ [root@elk ~]# mv /usr/local/elasticsearch-7.13.2 /usr/local/es 改配置文件内容: cluster.name: bjbpe01-elki cluster.initial_master_nodes: ["192.168.67.131","192.168.67.130","192.168.67.132"] node.name: es1 集群的所有ip node.master: true node.data: true path.data: /data/elasticsearch/data path.logs: /data/elasticsearch/logs bootstrap.memory_lock: false bootstrap.system_call_filter: false network.host: 0.0.0.0 http.port: 9200 transport.tcp.port: 9300 discovery.seed_hosts: ["192.168.67.130","192.168.67.132"] --其余的Ip discovery.zen.minimum_master_nodes: 2 discovery.zen.ping_timeout: 150s discovery.zen.fd.ping_retries: 10 client.transport.ping_timeout: 60s http.cors.enabled: true --支持跨域 http.cors.allow-origin: "*" --支持所有用户跨域 ------------------------- # 由于我们的笔记本性能有限,如果要使用单节点多实例的话,添加在原有配置中添加 node.max_local_storage_nodes: 这个配置限制了单节点上可以开启的ES存储实例的个数
设置JVM堆大小 #7.0默认为4G [root@elk ~]# sed -i 's/## -Xms4g/-Xms4g/' /usr/local/es/config/jvm.options [root@elk ~]# sed -i 's/## -Xmx4g/-Xmx4g/' /usr/local/es/config/jvm.options 看时机情况,如果内存不够,换成3g的 创建存放日志和数据的目录: [root@elk ~]# mkdir -p /data/elasticsearch/{data,logs} 修改安装目录及存储目录权限: [root@elk ~]# chown -R es.es /data/elasticsearch [root@elk ~]# chown -R es.es /usr/local/es
系统优化
增加最大文件打开数:
永久生效方法: [root@elk ~]# echo "* soft nofile 65536" >> /etc/security/limits.conf (2)增加最大进程数 [root@elk ~]# echo "* soft nproc 65536" >> /etc/security/limits.conf 增加最大内存映射数 [root@elk ~]# echo "vm.max_map_count=262144" >> /etc/sysctl.conf [root@elk ~]# sysctl -p --让刚才的优化命令生效 如果报错,用普通用户登录,执行 启动ES /usr/local/es/bin/elasticsearch & --放到后台 用本机ip直接在浏览器访问
安装配置head监控插件,(只在第一台es部署)
[root@elk ~]# wget https://npm.taobao.org/mirrors/node/latest-v10.x/node-v10.0.0-linux-x64.tar.gz 这个打不开了,用发的包 [root@elk ~]# tar -zxf node-v10.0.0-linux-x64.tar.gz –C /usr/local [root@elk ~]# echo " NODE_HOME=/usr/local/node-v10.0.0-linux-x64 PATH=\$NODE_HOME/bin:\$PATH export NODE_HOME PATH " >>/etc/profile [root@elk ~]# source /etc/profile [root@elk ~]# node --version #检查node版本号 2)下载head插件 [root@elk ~]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip (3)安装grunt [root@elk ~]# cd /usr/local/elasticsearch-head-master [root@elk elasticsearch-head-master]# npm install -g grunt-cli [root@elk elasticsearch-head-master]# grunt -version #检查grunt版本号 (4)修改head源码 [root@elk ~]# vi /usr/local/elasticsearch-head-master/Gruntfile.js +99 ` 在keepalive:true, hostname:'*' -------------- vim $ES_HOME$/config/elasticsearch.yml # 增加如下字段 http.cors.enabled: true --跨域访问 http.cors.allow-origin: "*" --支持所有用户跨域访问
[root@elk ~]# vim /usr/local/elasticsearch-head-master/_site/app.js +4388 把访问的ip改成自己本机的IP,全改
(5)下载head必要的文件 [root@elk ~]# wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2 [root@elk ~]# yum -y install bzip2 [root@elk ~]# mkdir /tmp/phantomjs [root@elk ~]# mv phantomjs-2.1.1-linux-x86_64.tar.bz2 /tmp/phantomjs/ [root@elk ~]# chmod 777 /tmp/phantomjs -R
运行
[root@elk ~]# cd /usr/local/elasticsearch-head-master/ [root@elk elasticsearch-head-master]# npm install [root@elk elasticsearch-head-master]# nohup grunt server & 解决: [root@elk elasticsearch-head-master]# npm install phantomjs-prebuilt@2.1.16 --ignore-scripts # 具体的版本按照上述报错修改 问题跳过在执行:[root@elk elasticsearch-head-master]# npm install 用本机测试访问浏览器登录
2、 Kibana部署
在第一台机器上安装 [root@elk ~]# tar zxf kibana-7.13.2-linux-x86_64.tar.gz -C /usr/local/ (2) [root@elk ~]# echo ' server.port: 5601 server.host: "10.3.145.14" -改自己的ip elasticsearch.hosts: ["http://10.3.145.14:9200"] --改自己的Ip kibana.index: ".kibana" i18n.locale: "zh-CN" '>>/usr/local/kibana-7.13.2-linux-x86_64/config/kibana.yml