ELK初學搭建(elasticsearch)
ELK初學搭建 elasticsearch
1.環境准備
centos6.8_64 mini
IP:192.168.10.78
tar包:
logstash-2.4.0.tar.gz
elasticsearch-2.4.0.tar.gz
kibana-4.6.1-linux-x86_64.tar.gz
JDK環境
elasticsearch | logstach | kibana | java |
---|---|---|---|
V2.4 | V2.4 | V4.6.1 | V1.8.0_111 |
1.1環境准備
- [root@localhost ~]# yum install java-1.8.0-openjdk* -y
- [root@localhost ~]# export JAVA_HOME=/usr/lib/jvm/java-1.8.0
- [root@localhost ~]# export PATH=$JAVA_HOME/bin:$PATH
- [root@localhost ~]# export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- [root@localhost ~]# java -version
- openjdk version "1.8.0_111"
- OpenJDK Runtime Environment (build 1.8.0_111-b15)
- OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
此時jdk環境已經正常可用。
2.軟件上傳之服務器並解壓到/usr/local目錄下
解壓,並重新命名文件夾:
[root@localhost ~]# xvf elasticsearch-2.4.0.tar.gz
[root@localhost ~]# mv elasticsearch-2.4.0 /usr/local/elasticsearch
同理 將這三個軟件解壓...
3. 運行軟件
- [root@localhost elasticsearch]# ./bin/elasticsearch
- Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
- at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:94)
- at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:160)
- at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
- at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
- Refer to the log for complete error details.
- [root@localhost elasticsearch]#
運行報錯,發現elasticsearch不允許在root下運行,解決:
- [root@localhost elasticsearch]# groupadd es
- [root@localhost elasticsearch]# useradd -g es es
- [root@localhost elasticsearch]# useradd -g es es
- [root@localhost elasticsearch]# passwd es
- Changing password for user es.
- New password:
- BAD PASSWORD: it is based on a dictionary word
- Retype new password:
- passwd: all authentication tokens updated successfully.
- [root@localhost elasticsearch]# chown -R root .
- [root@localhost elasticsearch]# chown -R es .
- [root@localhost elasticsearch]# chgrp -R es .
- [root@localhost elasticsearch]# ls -l
- total 56
- drwxr-xr-x 2 es es 4096 Nov 7 17:25 bin
- drwxr-xr-x 3 es es 4096 Nov 7 19:37 config
- drwxrwxr-x 3 es es 4096 Nov 7 17:34 data
- drwxr-xr-x 2 es es 4096 Nov 7 17:25 lib
- -rw-rw-r-- 1 es es 11358 Aug 24 00:46 LICENSE.txt
- drwxrwxr-x 2 es es 4096 Nov 7 17:34 logs
- drwxrwxr-x 5 es es 4096 Aug 29 17:23 modules
- -rw-rw-r-- 1 es es 150 Aug 24 00:46 NOTICE.txt
- drwxrwxr-x 4 es es 4096 Nov 7 17:50 plugins
- -rw-rw-r-- 1 es es 8700 Aug 24 00:46 README.textile
此時,ES 不能通過IP訪問,最好修改 config/elasticsearch.yml,配置一下 ES。
首先,找到“network.host”行,添加一行:
network.host: 192.168.10.78
再找到“http.port”行,添加一行:
http.port: 9200
否則,ES 每次啟動時,端口可能會變(端口被占用,ES 自己會改端口)~
如果還不能正常啟動 ES,並提示端口被占用,就查看一下什么程序占用 9200 端口,kill 掉,重啟 ES 就行。
就能通過IP,或瀏覽器訪問。
切換至es用戶先運行elasticsearch
- [root@localhost ~]# su es
- [es@localhost root]$ cd /usr/local/elasticsearch/
- [es@localhost elasticsearch]$ ls
- bin config data lib LICENSE.txt logs modules NOTICE.txt plugins README.textile
- [es@localhost elasticsearch]$ ./bin/elasticsearch
- [2016-11-07 21:50:45,580][WARN ][bootstrap ] unable to install syscall filter: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
- [2016-11-07 21:50:45,824][INFO ][node ] [Man-Eater] version[2.4.0], pid[1880], build[ce9f0c7/2016-08-29T09:14:17Z]
- [2016-11-07 21:50:45,824][INFO ][node ] [Man-Eater] initializing ...
- [2016-11-07 21:50:46,521][INFO ][plugins ] [Man-Eater] modules [reindex, lang-expression, lang-groovy], plugins [head, kopf], sites [head, kopf]
- [2016-11-07 21:50:46,548][INFO ][env ] [Man-Eater] using [1] data paths, mounts [[/ (/dev/mapper/VolGroup-lv_root)]], net usable_space [5gb], net total_space [8.2gb], spins? [possibly], types [ext4]
- [2016-11-07 21:50:46,548][INFO ][env ] [Man-Eater] heap size [1007.3mb], compressed ordinary object pointers [true]
- [2016-11-07 21:50:46,548][WARN ][env ] [Man-Eater] max file descriptors [4096] for elasticsearch process likely too low, consider increasing to at least [65536]
- [2016-11-07 21:50:49,052][INFO ][node ] [Man-Eater] initialized
- [2016-11-07 21:50:49,053][INFO ][node ] [Man-Eater] starting ...
- [2016-11-07 21:50:49,124][INFO ][transport ] [Man-Eater] publish_address {192.168.10.78:9300}, bound_addresses {192.168.10.78:9300}
- [2016-11-07 21:50:49,130][INFO ][discovery ] [Man-Eater] elasticsearch/kAMEcJDUQ_2jK0jm7fVWeQ
- [2016-11-07 21:50:52,210][INFO ][cluster.service ] [Man-Eater] new_master {Man-Eater}{kAMEcJDUQ_2jK0jm7fVWeQ}{192.168.10.78}{192.168.10.78:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)
- [2016-11-07 21:50:52,289][INFO ][http ] [Man-Eater] publish_address {192.168.10.78:9200}, bound_addresses {192.168.10.78:9200}
- [2016-11-07 21:50:52,290][INFO ][node ] [Man-Eater] started
- [2016-11-07 21:50:52,385][INFO ][gateway ] [Man-Eater] recovered [2] indices into cluster_state
- [2016-11-07 21:50:53,045][INFO ][cluster.routing.allocation] [Man-Eater] Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[logstash-%{type}-2016.11.07][1], [.kibana][0]] ...]).
此時,在另一個終端,訪問 elasticsearch:
- [root@localhost ~]# curl -X GET http://192.168.10.78:9200
- {
- "name" : "Egghead",
- "cluster_name" : "elasticsearch",
- "version" : {
- "number" : "2.4.0",
- "build_hash" : "ce9f0c7394dee074091dd1bc4e9469251181fc55",
- "build_timestamp" : "2016-08-29T09:14:17Z",
- "build_snapshot" : false,
- "lucene_version" : "5.5.2"
- }
- "tagline" : "You Know, for Search"
- }
到這一不,ES 已經安裝成功。可用瀏覽器測試是都正常即可。
Head 插件
Head 是一個用來監控 ES 狀態的客戶端插件,可以為初學用戶提供很多便利,例如,使用 Head 提供的 HTTP 客戶端,通過 HTTP 方式來操作 ES。
ES 支持在線和本地安裝 Head。本地安裝時,從 Github 上下載 Head 插件,然后上傳到你的 ES 服務器,比如,Elasticsearch/plugins 目錄。
下面是在線安裝:
- [root@localhost elasticsearch]# ./bin/plugin install mobz/elasticsearch-head
- -> Installing mobz/elasticsearch-head...
- Trying https://github.com/mobz/elasticsearch-head/archive/master.zip ...
- Downloading ...................................................................................................................................................................................................................................................................................................................................................................................................................................DONE
- Verifying https://github.com/mobz/elasticsearch-head/archive/master.zip checksums if available ...
- NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
- Installed head into /usr/local/elasticsearch/plugins/head
用瀏覽器訪問 http://192.168.10.78:9200/_plugin/head
logstash-%{type}-2016.11.07是我自己創建的,后續介紹。
至此Elasticsearch Head 就成功安裝了。
Marvel 圖形化監控插件收費,安裝方法同上,本免費黨不測試了 哈哈~
安裝 kopf 網絡插件
[root@localhost elasticsearch]# ./bin/plugin install mobz/elasticsearch-kopf
-> Installing lmenezes/elasticsearch-kopf...
Trying https://github.com/lmenezes/elasticsearch-kopf/archive/master.zip...
Downloading ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................DONE
Installed lmenezes/elasticsearch-kopf into /usr/local/elasticsearch/plugins/kopf

至此elasticsearch准備就緒,下一章安裝losstach.