环境
CentOS 7.3 root 用户 JDK 版本:1.8(最低要求),主推:JDK 1.8.0_121 以上 关闭 firewall systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 关闭selinux
安装 Elasticsearch
elasticsearch运行需要使用普通用户
修改 /etc/security/limits.conf
* soft nofile 600000 * hard nofile 600000 * soft nproc 60000 * hard nproc 60000 jt_app soft memlock unlimited jt_app hard memlock unlimited
修改/etc/sysctl.conf
net.ipv4.ip_forward = 1 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 vm.swappiness = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 net.core.somaxconn = 16384 vm.max_map_count = 262144
修改配置文件:
生产环境主要配置:
#grep -v '^#' elasticsearch.yml|grep -v '^$' cluster.name: prod_es_cluster node.name: elk-log-srv01 node.master: true node.data: true path.data: /opt/es_data/data path.logs: /opt/elasticsearch/logs bootstrap.memory_lock: false network.host: elk-log-srv01 http.port: 9200 transport.tcp.port: 9300 discovery.zen.ping_timeout: 3s discovery.zen.fd.ping_timeout: 60s discovery.zen.fd.ping_interval: 10s discovery.zen.ping.unicast.hosts: ["elk-log-srv01", "elk-log-srv02","elk-log-srv03"] discovery.zen.minimum_master_nodes: 2 gateway.recover_after_nodes: 3 gateway.expected_nodes: 3 gateway.recover_after_time: 5m indices.query.bool.max_clause_count: 10240 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-credentials: true search.max_buckets: 1000000
启动:
./bin/elasticsearch -d
启动脚本:
[root@elk-log-srv01 elasticsearch]# cat /usr/lib/systemd/system/elasticsearch.service [Unit] Description=Elasticsearch Documentation=http://www.elastic.co Wants=network-online.target After=network-online.target [Service] RuntimeDirectory=elasticsearch Environment=ES_HOME=/opt/elasticsearch Environment=ES_PATH_CONF=/opt/elasticsearch/config Environment=PID_DIR=/opt/elasticsearch #EnvironmentFile=-/etc/sysconfig/elasticsearch #Environment=JAVA_HOME=/opt/jdk WorkingDirectory=/opt/elasticsearch User=jt_app Group=jt_app ExecStart=/opt/elasticsearch/bin/elasticsearch -p ${PID_DIR}/elasticsearch.pid --quiet # StandardOutput is configured to redirect to journalctl since # some error messages may be logged in standard output before # elasticsearch logging system is initialized. Elasticsearch # stores its logs in /var/log/elasticsearch and does not use # journalctl by default. If you also want to enable journalctl # logging, you can simply remove the "quiet" option from ExecStart. StandardOutput=journal StandardError=inherit # Specifies the maximum file descriptor number that can be opened by this process LimitNOFILE=65536 # Specifies the maximum number of processes LimitNPROC=4096 # Specifies the maximum size of virtual memory LimitAS=infinity # Specifies the maximum file size LimitFSIZE=infinity # LimitMEMLOCK=infinity # Disable timeout logic and wait until process is stopped TimeoutStopSec=0 # SIGTERM signal is used to stop the Java process KillSignal=SIGTERM # Send the signal only to the JVM rather than its control group KillMode=process # Java process is never killed SendSIGKILL=no # When a JVM receives a SIGTERM signal it exits with code 143 SuccessExitStatus=143 [Install] WantedBy=multi-user.target # Built for packages-6.3.2 (packages) [root@elk-log-srv01 elasticsearch]#
安装 Kibana
选择一台节点安装即可
进入安装目录修改配置文件: config/kibana.yml server.port: 5601 #端口 server.host: "elk-log-srv01" #访问ip地址 elasticsearch.url: "http://elk-log-srv01:9200" #连接elastic kibana.index: ".kibana" #在elastic中添加.kibana索引 pid.file: /opt/kibana/kibana.pid logging.dest: /opt/kibana/kibana.log
启动:
nohup ./bin/kibana &
logstash安装
elasticsearch 常用插件安装
只是版本不一样,方法是一样的,替换成自己的版本即可
采用离线安装插件的方法
1、sql插件
### 项目地址 https://github.com/NLPchina/elasticsearch-sql 历史版本: https://github.com/NLPchina/elasticsearch-sql/releases ### 下载sql插件 下载 wget https://github.com/NLPchina/elasticsearch-sql/releases/download/5.5.1.0/elasticsearch-sql-5.5.1.0.zip 安装 ./bin/elasticsearch-plugin install file:///opt/elasticsearch-sql-5.5.1.0.zip 安装web访问 wget https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.1.0/es-sql-site-standalone.zip unzip ./es-sql-site-standalone.zip cd site-server npm install express --save node node-server.js & #后台启动 默认端口:8080 cd _site vim controllers.js 修改链接es地址 url = "http://localhost:9200"
2 分词器
项目地址: https://github.com/medcl/elasticsearch-analysis-ik/ 下载地址: wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.1/elasticsearch-analysis-ik-5.5.1.zip 安装插件 ./bin/elasticsearch-plugin install file:///opt/elasticsearch-analysis-ik-5.5.1.zip
elasticsearch5.x安装head插件
5.0以上版本中不支持直接安装head插件,需要启动一个服务。 由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm可以理解为maven) #安装git yum -y install git #下载源码 git clone git://github.com/mobz/elasticsearch-head.git 安装 nodejs,修改环境变量 node -v 2、安装npm 3、使用npm安装grunt 由于 npm 是国外的源,下载速度比较慢,推荐使用国内淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 下面开始修改 head 插件的配置 地址: https://github.com/mobz/elasticsearch-head
cerebro插件安装
以单独进程启动 下载 wget https://github.com/lmenezes/cerebro/releases/download/v0.6.6/cerebro-0.6.6.zip 解压 unzip cerebro-0.6.6.zip 启动: bin/cerebro -Dhttp.port=1234 -Dhttp.address=0.0.0.0 & ------------------------------------------------ 其他配置 -Dconfig.file=/some/other/dir/alternate.conf ##项目地址 https://github.com/lmenezes/cerebro
kibana安装x-pack插件
先下载x-pack-5.5.1.zip https://artifacts.elastic.co/downloads/packs 在线安装 bin/kibana-plugin install x-pack 离线安装 ./bin/kibana-plugin install file:///opt/x-pack-5.5.1.zip elasticsearch安装此插件一样