目錄java
1. 準備安裝包... 1node
2. 安裝jdk7. 1linux
3. 安裝ElasticSearch. 2git
4. 安裝maven. 3github
5. 集成IK. 3apache
6. 安裝head插件... 3vim
7. 安裝kibana及marvel插件... 4安全
8. 啓動ES及kibana. 5bash
9. 關閉ES及kibana. 5服務器
10. 簡單的索引及查詢... 5
l jdk-7u79-linux-x64.tar.gz 官網-Oracle
l elasticsearch-2.1.1.zip 官網-Elastic
l kibana-4.3.1-linux-x64.tar.gz 官網-Elastic
l apache-maven-3.3.9-bin.zip 官網-Apache
l elasticsearch-analysis-ik-master.zip github(亦可在服務器上直接使用git clone)
服務器上的安裝包均位於/opt/search
如下操做均在CentOS的root用戶下進行,且以上面的安裝包版本爲準。
若是安裝包版本不一致,或要調整安裝目錄,需修改相應的命令。
l 刪除老的jdk6
cd /usr/java/
rm -Rf jdk1.6.$VERSION 紅色字體表明主要的可變部分,視具體狀況而定,下同
l 將jdk-7u79-linux-x64.tar.gz在/usr/java中解壓
tar xvf /opt/search/jdk-7u79-linux-x64.tar.gz
l 修改/etc/profile(生效須要logout再登錄,或使用source命令,下同)
export JAVA_HOME=/usr/java/jdk1.7.0_79 在文件末尾加入或替換原來的設置
PATH在安裝maven後一併修改
l 將elasticsearch-2.1.1.zip在/opt中解壓
unzip /opt/search/elasticsearch-2.1.1.zip –d /opt/
l 修改/etc/profile
export ES_HOME=/opt/elasticsearch-2.1.1
l 修改elasticsearch.yml
vi $ES_HOME/config/elasticsearch.yml
查看當前有效的配置:grep -v "#" $ES_HOME/config/elasticsearch.yml
l 修改ES佔用內存
vi $ES_HOME/bin/elasticsearch.in.sh
l 配置快捷啓動命令
根據官方資料,爲保證ES的安全性,不能夠root身份啓動ES,可考慮使用代理(或負載均衡器),對外開放非9200端口,轉發至內網的9200端口,可有效防止惡意端口掃描。
useradd $user
passwd $user 輸入密碼 / 重複輸入
chown -R $user.$user /opt/elasticsearch-2.1.1
mkdir /root/scripts
cd /root/scripts/
vim start_es.sh
#!/bin/bash
su - $user <<EOF
$ES_HOME/bin/elasticsearch -d &
exit
EOF
tail -f $ES_HOME/logs/mysearch.log
vim kill_es.sh
#!/bin/bash
kill -9 `ps -ef | grep elasticsearch | grep -v "grep" | awk '{print $2 }'`
chmod 755 *sh
alias startes='/root/scripts/start_es.sh'
alias killes='/root/scripts/kill_es.sh'
alias pses='ps -ef | grep elasticsearch'
l 將apache-maven-3.3.9-bin.zip在/opt中解壓
cd /opt/
unzip search/apache-maven-3.3.9-bin.zip
l 修改/etc/profile
export MAVEN_HOME=/opt/apache-maven-3.3.9
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
l 將elasticsearch-analysis-ik-master.zip在/opt/search/中解壓
cd /opt/search/
unzip elasticsearch-analysis-ik-master.zip
亦可執行如下命令直接下載ik,但不是master版本,與ES2.1.1不是最佳匹配
git clone https://github.com/medcl/elasticsearch-analysis-ik
l 將源碼打包
cd elasticsearch-analysis-ik-master/
mvn package
下載依賴jar包、編譯,整個過程需等待幾分鐘。如有現成的插件能夠考慮scp:
scp -P 22 root@192.168.0.54:/opt/search/ik.tar .
l 建立ES的插件目錄
mkdir $ES_HOME/plugins
mkdir $ES_HOME/plugins/ik
l 將壓縮包解壓至ES的插件目錄
unzip target/releases/*zip -d $ES_HOME/plugins/ik/
l 修改plugin-descriptor.properties
vi $ES_HOME/plugins/ik/plugin-descriptor.properties
elasticsearch.version=2.1.1
l 拷貝IK詞庫及配置文件
cp -R /opt/search/elasticsearch-analysis-ik-master/config/ik $ES_HOME/config/
l 修改elasticsearch.yml
vi $ES_HOME/config/elasticsearch.yml
index.analysis.analyzer.default.type: ik
$ES_HOME/bin/plugin install mobz/elasticsearch-head
控制檯:http://$IP:9200/_plugin/head/
l 將kibana-4.3.1-linux-x64.tar.gz在/opt/中解壓
cd /opt/
tar xvf search/kibana-4.3.1-linux-x64.tar.gz
chown -R root.root kibana-4.3.1-linux-x64/
l 安裝kibana的marvel插件
kibana-4.3.1-linux-x64/bin/kibana plugin --install elasticsearch/marvel/latest
l 配置快捷啓動命令
cd /root/scripts/
vim start_kb.sh
#!/bin/bash
/opt/kibana-4.3.1-linux-x64/bin/kibana &
vim kill_kb.sh
#!/bin/bash
kill -9 `ps -ef | grep kibana-4.3.1-linux-x64 | grep -v "grep" | awk '{print $2 }'`
chmod 755 *sh
alias startkb='/root/scripts/start_kb.sh'
alias killkb='/root/scripts/kill_kb.sh'
alias pskb='ps -ef | grep kibana'
l 修改kibana.yml
vi /opt/kibana-4.3.1-linux-x64/config/kibana.yml
查看當前有效的配置:
grep -v "#" /opt/kibana-4.3.1-linux-x64/config/kibana.yml
l 安裝ES的marvel插件(2.1中marvel和sense是分開的,且都要先裝kibana)
$ES_HOME/bin/plugin install license
$ES_HOME/bin/plugin install marvel-agent
/opt/kibana-4.3.1-linux-x64/bin/kibana plugin --install elastic/sense
startes 第一次啓動前沒有腳本中tail的log,會報log文件找不到,後面就行了
startkb
驗證:
pses
pskb
curl "http://$IP:9200/?pretty"
killes
killkb
驗證:
pses
pskb
ES另外一種關閉方式:
curl -XPOST 'http://$IP:9200/_shutdown'
詳細演示es.sh
l Getting started…
kibana控制檯: http://$IP:5601/app/kibana
marvel控制檯: http://$IP:5601/app/marvel
sense控制檯: http://$IP:5601/app/sense
l Go further…
詳細演示java代碼
Java中使用TransportClient必定要加這條配置:transport.tcp.port: 9300
不然鏈接不上,在這卡了一天……