最近接手了一个老项目,需要部署一套测试环境,下面把在CentOS6上部署Elasticsearch2.2.1.0的过程记录一下
下载并上传到服务器
scp elasticsearch-jdbc-2.2.1.0-dist.zip elasticsearch-2.2.1.tar.gz jdk-8u361-linux-x64.tar.gz 118:/opt/soft_packages
安装jdk
cd /opt/soft_packages
tar -xzvf jdk-8u361-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
ln -s jdk1.8.0_361 jdk
vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
配置
cluster.name: my-application
node.name: node-44-9200
node.rack: r9200
action.auto_create_index: true
node.master: true
node.data: true
bootstrap.mlockall: true
network.host: 172.30.222.31
http.cors.enabled: true
http.cors.allow-origin: "*"
#http.basic.enabled: true
#http.basic.user: "admin"
#http.basic.password: "admin"
#http.basic.ipwhitelist: ["172.18.51.104","172.18.51.105"]
http.port: 9200
index.translog.flush_threshold_period: 60s
index.refresh_interval: 30s
indices.memory.index_buffer_size: 50%
indices.memory.min_index_buffer_size: 500m
index.translog.flush_threshold: 30000
index.store.type: mmapfs
index.merge.policy.use_compound_file: false
discovery.zen.ping.unicast.hosts: ["172.30.222.31"]
index:
analysis:
tokenizer:
my_pinyin:
type: pinyin
first_letter: prefix
padding_char: ''
pinyin_first_letter:
type: pinyin
first_letter: only
mmseg_maxword:
type: mmseg
seg_type: max_word
mmseg_complex:
type: mmseg
seg_type: complex
mmseg_simple:
type: mmseg
seg_type: simple
semicolon_spliter:
type: pattern
pattern: ";"
pct_spliter:
type: pattern
pattern: "[%]+"
ngram_1_to_2:
type: nGram
min_gram: 1
max_gram: 2
ngram_1_to_3:
type: nGram
min_gram: 1
max_gram: 3
filter:
ngram_min_3:
max_gram: 10
min_gram: 3
type: nGram
ngram_min_2:
max_gram: 10
min_gram: 2
type: nGram
ngram_min_1:
max_gram: 10
min_gram: 1
type: nGram
min2_length:
min: 2
max: 4
type: length
min3_length:
min: 3
max: 4
type: length
pinyin_first_letter:
type: pinyin
first_letter: only
analyzer:
lowercase_keyword:
type: custom
filter:
- lowercase
tokenizer: standard
lowercase_keyword_ngram_min_size1:
type: custom
filter:
- lowercase
- stop
- trim
- unique
tokenizer: nGram
lowercase_keyword_ngram_min_size2:
type: custom
filter:
- lowercase
- min2_length
- stop
- trim
- unique
tokenizer: nGram
lowercase_keyword_ngram_min_size3:
type: custom
filter:
- lowercase
- min3_length
- stop
- trim
- unique
tokenizer: ngram_1_to_3
lowercase_keyword_ngram:
type: custom
filter:
- lowercase
- stop
- trim
- unique
tokenizer: ngram_1_to_3
lowercase_keyword_without_standard:
type: custom
filter:
- lowercase
tokenizer: keyword
lowercase_whitespace:
type: custom
filter:
- lowercase
tokenizer: whitespace
ik:
alias:
- ik_analyzer
type: ik
ik_max_word:
type: ik
use_smart: false
ik_smart:
type: ik
use_smart: true
mmseg:
alias:
- mmseg_analyzer
type: mmseg
mmseg_maxword:
type: custom
filter:
- lowercase
tokenizer: mmseg_maxword
mmseg_complex:
type: custom
filter:
- lowercase
tokenizer: mmseg_complex
mmseg_simple:
type: custom
filter:
- lowercase
tokenizer: mmseg_simple
comma_spliter:
type: pattern
pattern: "[,|\\s]+"
pct_spliter:
type: pattern
pattern: "[%]+"
custom_snowball_analyzer:
type: snowball
language: English
simple_english_analyzer:
type: custom
tokenizer: whitespace
filter:
- standard
- lowercase
- snowball
edge_ngram:
type: custom
tokenizer: edgeNGram
filter:
- lowercase
pinyin_ngram_analyzer:
type: custom
tokenizer: my_pinyin
filter:
- lowercase
- nGram
- trim
- unique
pinyin_first_letter_analyzer:
type: custom
tokenizer: pinyin_first_letter
filter:
- standard
- lowercase
pinyin_first_letter_keyword_analyzer:
alias:
- pinyin_first_letter_analyzer_keyword
type: custom
tokenizer: keyword
filter:
- pinyin_first_letter
- lowercase
type: custom
tokenizer: path_hierarchy
index.analysis.analyzer.default.type: ik
遇到的问题
解决方法:
因为CentOS6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动,解决方法:修改elasticsearch.yml添加如下内容:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false