0. 关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
# vi /etc/selinux/config
设置 SELINUX=disabled
# reboot
1. 安装系统组件
# yum install gcc gcc-c++ lrzsz telnet pcre pcre-devel zlib zlib-devel openssl openssl-devel net-tools unzip -y
2. 安装JDK
# tar -xzf /usr/jdk-11.0.13.0.2_linux-x64_bin.tar.gz
# rm -f jdk-11.0.13.0.2_linux-x64_bin.tar.gz
# chmod -R 755 ./jdk-11.0.13.0.2/
为root用户配置环境变量
# vi ~/.bash_profile
JAVA_HOME=/usr/jdk-11.0.13.0.2
export JAVA_HOME
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export CLASSPATH
PATH=$JAVA_HOME/bin:$PATH:/usr/local/bin:$HOME/bin
export PATH
保存退出
# source .bash_profile
# java -version
3. 修改系统内核参数
# vi /etc/security/limits.conf,在# End of file 前面加上下面四行
* soft nofile 65535
* hard nofile 131072
* soft nproc 65535
* hard nproc 65535
# vi /etc/sysctl.conf,在文档末尾增加下面一行
vm.max_map_count=262145
# sysctl -p
# ulimit -n
备注:执行结果如果还是1024,则需要重启(reboot)虚拟机
4. 创建普通用户和组
# groupadd elastic
# useradd -d /data -g elastic es
# passwd es
# chown -R es:elastic /data
# su - es
为es用户配置环境变量
# vi ~/.bash_profile
JAVA_HOME=/usr/jdk-11.0.13.0.2
export JAVA_HOME
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export CLASSPATH
PATH=$JAVA_HOME/bin:$PATH:/usr/local/bin:$HOME/bin
export PATH
保存退出
# source .bash_profile
# java -version
5. 安装elasticsearch
# tar -xzf /root/elastic/elasticsearch-7.15.2-linux-x86_64.tar.gz
# rm -f elasticsearch-7.15.2-linux-x86_64.tar.gz
# mv elasticsearch-7.15.2 elasticsearch
# mv elasticsearch /data/
# chown -R es:elastic /data/
# su - es
# cd elasticsearch/config/jvm.options.d && vi jvm
-Xms512m
-Xmx512m
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
--------------------------
# cd elasticsearch/config && vi elasticsearch.yml
cluster.name: my-application
node.name: node-1
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
network.host: 192.168.223.101
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
# cd elasticsearch/bin && vi ./elasticsearch
---------------------添加中间6行JDK环境变量--------------------
#ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch
JAVA_HOME=/usr/jdk-11.0.13.0.2
export JAVA_HOME
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export CLASSPATH
PATH=$JAVA_HOME/bin:$PATH:/usr/local/bin:$HOME/bin
export PATH
source "`dirname "$0"`"/elasticsearch-env
--------------------------------------------------------------
安装分词插件
# cd /data/elasticsearch/plugins && unzip elasticsearch-analysis-ik-7.15.2.zip -d /data/elasticsearch/plugins/elasticsearch-analysis-ik-7.15.2
# rm -f elasticsearch-analysis-ik-7.15.2.zip
启动Elastic
# /data/elasticsearch/bin/elasticsearch -d
# ps -ef| grep elasticsearch
es 1988 1 99 10:53 pts/0 00:00:17 /usr/jdk-11.0.13.0.2/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.locale.providers=SPI,COMPAT --add-opens=java.base/java.io=ALL-UNNAMED -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.io.tmpdir=/tmp/elasticsearch-17929521249222752146 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m -Xms1024m -Xmx1024m -XX:MaxDirectMemorySize=536870912 -Des.path.home=/data/elasticsearch -Des.path.conf=/data/elasticsearch/config -Des.distribution.flavor=default -Des.distribution.type=tar -Des.bundled_jdk=true -cp /data/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch -d
es 2003 1988 0 10:53 pts/0 00:00:00 /data/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
# /usr/jdk-11.0.13.0.2/bin/jstat -gcutil 1988 1000 10
S0 S1 E O M CCS YGC YGCT FGC FGCT CGC CGCT GCT
17.16 0.00 24.04 10.80 92.19 78.62 26 0.504 0 0.000 6 0.084 0.588
17.16 0.00 24.29 10.80 92.19 78.62 26 0.504 0 0.000 6 0.084 0.588
17.16 0.00 24.33 10.80 92.19 78.62 26 0.504 0 0.000 6 0.084 0.588
17.16 0.00 26.60 10.80 92.19 78.62 26 0.504 0 0.000 6 0.084 0.588
17.16 0.00 26.60 10.80 92.19 78.62 26 0.504 0 0.000 6 0.084 0.588
17.16 0.00 26.60 10.80 92.19 78.62 26 0.504 0 0.000 6 0.084 0.588
17.16 0.00 26.60 10.80 92.19 78.62 26 0.504 0 0.000 6 0.084 0.588
17.16 0.00 26.60 10.80 92.19 78.62 26 0.504 0 0.000 6 0.084 0.588
17.16 0.00 28.87 10.80 92.19 78.62 26 0.504 0 0.000 6 0.084 0.588
17.16 0.00 28.87 10.80 92.19 78.62 26 0.504 0 0.000 6 0.084 0.588
访问测试:http://192.168.223.101:9200/
---------------------------------------------------------------------------
{
"name" : "node-1",
"cluster_name" : "my-application",
"cluster_uuid" : "71_N-WUrR4GUFa9gtso-5g",
"version" : {
"number" : "7.15.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "93d5a7f6192e8a1a12e154a2b81bf6fa7309da0c",
"build_date" : "2021-11-04T14:04:42.515624022Z",
"build_snapshot" : false,
"lucene_version" : "8.9.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
---------------------------------------------------------------------------
6. 安装kibana
# cd /data
# tar -xzf kibana-7.15.2-linux-x86_64.tar.gz
# rm -f kibana-7.15.2-linux-x86_64.tar.gz
# mv kibana-7.15.2-linux-x86_64 kibana
# cd /data/kibana/config && vi kibana.yml
-----------------------------------------------------
server.port: 5601
server.host: "192.168.223.101"
server.publicBaseUrl: "http://192.168.223.101:5601"
elasticsearch.hosts: ["http://localhost:9200"]
i18n.locale: "zh-CN"
----------------------------------------------------
# cd /data/kibana
# nohup /data/kibana/bin/kibana &
# ps -ef| grep kibana| grep -v grep
es 2268 2223 66 11:16 pts/0 00:00:15 /data/kibana/bin/../node/bin/node /data/kibana/bin/../src/cli/dist
访问测试
http://192.168.223.101:5601/app/home#/
7. 安装logstash
# cd /data
# tar -xzf logstash-7.15.2-linux-x86_64.tar.gz
# rm -f logstash-7.15.2-linux-x86_64.tar.gz
# mv logstash-7.15.2/ logstash
# cd logstash/conf && cp logstash-sample.conf logstash.conf
# cd /data/logstash
# nohup /data/logstash/bin/logstash -f /data/logstash/config/logstash.conf &
# ps -ef| grep logstash
es 12908 2223 16 11:50 pts/0 00:00:48 /data/logstash/jdk/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.compile.invokedynamic=true -Djruby.jit.threshold=0 -Djruby.regexp.interruptible=true -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/urandom -Dlog4j2.isThreadContextMapInheritable=true -cp /data/logstash/logstash-core/lib/jars/animal-sniffer-annotations-1.14.jar:/data/logstash/logstash-core/lib/jars/checker-compat-qual-2.0.0.jar:/data/logstash/logstash-core/lib/jars/commons-codec-1.14.jar:/data/logstash/logstash-core/lib/jars/commons-compiler-3.1.0.jar:/data/logstash/logstash-core/lib/jars/commons-logging-1.2.jar:/data/logstash/logstash-core/lib/jars/error_prone_annotations-2.1.3.jar:/data/logstash/logstash-core/lib/jars/google-java-format-1.1.jar:/data/logstash/logstash-core/lib/jars/gradle-license-report-0.7.1.jar:/data/logstash/logstash-core/lib/jars/guava-24.1.1-jre.jar:/data/logstash/logstash-core/lib/jars/j2objc-annotations-1.1.jar:/data/logstash/logstash-core/lib/jars/jackson-annotations-2.9.10.jar:/data/logstash/logstash-core/lib/jars/jackson-core-2.9.10.jar:/data/logstash/logstash-core/lib/jars/jackson-databind-2.9.10.8.jar:/data/logstash/logstash-core/lib/jars/jackson-dataformat-cbor-2.9.10.jar:/data/logstash/logstash-core/lib/jars/jackson-dataformat-yaml-2.9.10.jar:/data/logstash/logstash-core/lib/jars/janino-3.1.0.jar:/data/logstash/logstash-core/lib/jars/javassist-3.26.0-GA.jar:/data/logstash/logstash-core/lib/jars/jruby-complete-9.2.19.0.jar:/data/logstash/logstash-core/lib/jars/jsr305-1.3.9.jar:/data/logstash/logstash-core/lib/jars/log4j-1.2-api-2.14.0.jar:/data/logstash/logstash-core/lib/jars/log4j-api-2.14.0.jar:/data/logstash/logstash-core/lib/jars/log4j-core-2.14.0.jar:/data/logstashlogstash-core/lib/jars/log4j-jcl-2.14.0.jar:/data/logstash/logstash-core/lib/jars/log4j-slf4j-impl-2.14.0.jar:/data/logstash/logstash-core/lib/jars/logstash-core.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.core.commands-3.6.0.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.core.contenttype-3.4.100.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.core.expressions-3.4.300.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.core.filesystem-1.3.100.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.core.jobs-3.5.100.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.core.resources-3.7.100.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.core.runtime-3.7.0.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.equinox.app-1.3.100.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.equinox.common-3.6.0.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.equinox.preferences-3.4.1.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.equinox.registry-3.5.101.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.jdt.core-3.10.0.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.osgi-3.7.1.jar:/data/logstash/logstash-core/lib/jars/org.eclipse.text-3.5.101.jar:/data/logstash/logstash-core/lib/jars/reflections-0.9.11.jar:/data/logstash/logstash-core/lib/jars/slf4j-api-1.7.30.jar:/data/logstash/logstash-core/lib/jars/snakeyaml-1.23.jar org.logstash.Logstash -f /datalogstash/config/logstash.conf
参考:
ElasticSearch 之 Linux 安装 ElasticSearch-7.15.2(ELK、IK)_vihem的博客-优快云博客