Java运行环境
Elasticsearch基于JVM运行,且仅支持Oracle的java和OpenJDK。
Java版本不对,则Elasticsearch无法运行。
Elasticsearch默认使用64位jvm运行,如果环境为32位jvm,需要调整jvm.options配置文件,删除-server配置,调整thread stack的大小Xss1m到-Xss320k。
配置文件
1、elasticsearch.yml Elasticsearch配置文件
两种配置格式
普通properties模式
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
YAML模式
path: data: /var/lib/elasticsearch logs: /var/log/elasticsearch
2、log4j2.properties Elasticsearch日志配置文件;日志系统使用log4j2插件,
配置文件格式(注意不要有多余空格)
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] %.10000m%n
appender.rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}-%d{yyyy-MM-dd}.log
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
动态获取参数值
${sys:es.logs.base_path} 日志路径
${sys:es.logs.cluster_name} 集群名称
${sys:es.logs.node_name} 节点名称
${sys:file.separator} 路径分隔符
指定参数
指定filepattern文件后缀 .gz 或 .zip,则日志会别自定压缩成指定格式。
配置日志文件的保存时间,过期自动删除。
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 = IfLastModified
# 7D,表示保存时间为7天。
appender.rolling.strategy.action.condition.age = 7D
appender.rolling.strategy.action.PathConditions.type = IfFileName
appender.rolling.strategy.action.PathConditions.glob = ${sys:es.logs.cluster_name}-*
指定日志级别四种方式
1、命令行指定,格式 -E <name of logging hierarchy>=<level>
使用场景:Elasticsearch启动问题处理。
-E logger.org.elasticsearch.transport=trace
2、elasticsearch.yml指定,格式<name of logging hierarchy>: <level>
logger.org.elasticsearch.transport: trace
3、curl语句指定,格式
PUT /_cluster/settings
{
"transient": {
"<name of logging hierarchy>": "<level>"
}
}
使用场景:单独为某一集群指定日志级别。
PUT /_cluster/settings
{
"transient": {
"logger.org.elasticsearch.transport": "trace"
}
}
4、log4j2.properties文件指定,格式
logger.<unique_identifier>.name = <name of logging hierarchy>
logger.<unique_identifier>.level = <level>
logger.transport.name = org.elasticsearch.transport
logger.transport.level = trace
指定弃用日志级别,默认为warn级别
logger.deprecation.level = warn
自定义启动
1、指定配置文件路径启动
./bin/elasticsearch -Epath.conf=/path/to/my/config/
2、指定配置参数启动
配置文件书写格式
node.name: ${HOSTNAME}
network.host: ${ES_NETWORK_HOST}
前台启动时,可预先指定参数,也可启动时手动输入。
后台启动时,则需要在环境变量中指定相关参数。