1 下载并安装.tar.gz
包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz.sha512
shasum -a 512 -c elasticsearch-6.5.4.tar.gz.sha512
tar -xzf elasticsearch-6.5.4.tar.gz
cd elasticsearch-6.5.4/
2 从命令行运行Elasticsearch
./bin/elasticsearch
默认情况下,Elasticsearch在前台运行,将其日志打印到标准输出(stdout
),然后按下即可停止Ctrl-C
。
3 检查Elasticsearch是否正在运行
您可以测试你的Elasticsearch节点通过发送一个HTTP请求的端口上运行9200
上localhost
:
GET /
哪个应该给你一个像这样的回复:
{
"name" : "Cp8oag6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
"version" : {
"number" : "6.5.4",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "f27399d",
"build_date" : "2016-03-30T09:51:41.449Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "1.2.3",
"minimum_index_compatibility_version" : "1.2.3"
},
"tagline" : "You Know, for Search"
}
4 作为守护程序运行
要将Elasticsearch作为守护程序运行,请-d
在命令行中指定,并使用以下-p
选项将进程ID记录在文件中
./bin/elasticsearch -d -p pid
以在$ES_HOME/logs/
目录中找到日志消息。
要关闭Elasticsearch,请终止pid
文件中记录的进程ID :
kill `cat pid`
5 配置Elasticsearch
Elasticsearch具有良好的默认值,只需要很少的配置。可以使用Cluster Update Settings API 在正在运行的群集上更改大多数设置 。
配置文件应包含特定于节点的设置(例如node.name
和paths),或节点为了能够加入群集而需要的设置,例如cluster.name
和network.host
。
Elasticsearch有三个配置文件:
elasticsearch.yml
用于配置Elasticsearchjvm.options
用于配置Elasticsearch JVM设置log4j2.properties
用于配置Elasticsearch日志记录
这些文件位于config目录中。
6 日志配置
log4j2.properties文件配置
appender.rolling.type = RollingFile appender.rolling.name = rolling appender.rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}.log appender.rolling.layout.type = PatternLayout appender.rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]%marker %.-10000m%n appender.rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}-%d{yyyy-MM-dd}-%i.log.gz appender.rolling.policies.type = Policies appender.rolling.policies.time.type = TimeBasedTriggeringPolicy appender.rolling.policies.time.interval = 1 appender.rolling.policies.time.modulate = true appender.rolling.policies.size.type = SizeBasedTriggeringPolicy appender.rolling.policies.size.size = 256MB appender.rolling.strategy.type = DefaultRolloverStrategy appender.rolling.strategy.fileIndex = nomax appender.rolling.strategy.action.type = Delete appender.rolling.strategy.action.basepath = ${sys:es.logs.base_path} appender.rolling.strategy.action.condition.type = IfFileName appender.rolling.strategy.action.condition.glob = ${sys:es.logs.cluster_name}-* appender.rolling.strategy.action.condition.nested_condition.type = IfAccumulatedFileSize appender.rolling.strategy.action.condition.nested_condition.exceeds = 2GB
配置 |
|
登录 |
|
滚动日志到 |
|
使用基于时间的滚动策略 |
|
每天滚动日志 |
|
在日界上对齐卷(而不是每隔二十四小时滚动) |
|
使用基于大小的滚动策略 |
|
256 MB后滚动日志 |
|
滚动日志时使用删除操作 |
|
仅删除与文件模式匹配的日志 |
|
该模式仅删除主日志 |
|
仅在我们累积了太多压缩日志时才删除 |
|
压缩日志的大小条件为2 GB |
appender.rolling.strategy.type = DefaultRolloverStrategy appender.rolling.strategy.action.type = Delete appender.rolling.strategy.action.basepath = ${sys:es.logs.base_path} appender.rolling.strategy.action.condition.type = IfFileName appender.rolling.strategy.action.condition.glob = ${sys:es.logs.cluster_name}-* appender.rolling.strategy.action.condition.nested_condition.type = IfLastModified appender.rolling.strategy.action.condition.nested_condition.age = 7D
配置 |
|
配置 |
|
Elasticsearch日志的基本路径 |
|
处理翻转时应用的条件 |
|
从与glob匹配的基本路径中删除文件 |
|
应用于与glob匹配的文件的嵌套条件 |
|
保留日志七天 |
配置日志记录级别
logger.<unique_identifier>.name = <name of logging hierarchy> logger.<unique_identifier>.level = <level>
7 path.data与
path.logs
path: logs: /var/log/elasticsearch data: /var/data/elasticsearch
设置为多条路径: path: data: - /mnt/elasticsearch_1 - /mnt/elasticsearch_2 - /mnt/elasticsearch_3
8 cluster.name
cluster.name: es-prod
9 node.name
node.name: ${HOSTNAME}
10 network.host
network.host: 192.168.1.10
11 发现设置
discovery.zen.ping.unicast.hosts: - 192.168.1.10:9300 - 192.168.1.11 - seeds.mydomain.com
如果未指定 ,端口将默认为 |
|
解析为多个IP地址的主机名将尝试所有已解析的地址。 |
如果有三个符合主节点的节点,则应将最小主节点设置为(3 / 2) + 1
或2
:
discovery.zen.minimum_master_nodes: 2
12 设置堆大小
以下是如何通过jvm.options文件设置堆大小的示例:
-Xms2g -Xmx2g
将最小堆大小设置为2g。 |
|
将最大堆大小设置为2g。 |