安裝環境:centos7
elasticsearch版本:6.7.2
kibana版本:6.7.2
安裝es
下載
centos根據官方文檔進行下載:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.tar.gz.sha512
shasum -a 512 -c elasticsearch-6.7.2.tar.gz.sha512
tar -xzf elasticsearch-6.7.2.tar.gz
cd elasticsearch-6.7.2/
啓動
下載後進入elasticsearch-6.7.2
目錄,執行./bin/elasticsearch
error1:can not run elasticsearch as root
打印如下:
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-6.7.2.jar:6.7.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-6.7.2.jar:6.7.2]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.7.2.jar:6.7.2]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.7.2.jar:6.7.2]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.7.2.jar:6.7.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) ~[elasticsearch-6.7.2.jar:6.7.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.7.2.jar:6.7.2]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.7.2.jar:6.7.2]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.7.2.jar:6.7.2]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.7.2.jar:6.7.2]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-6.7.2.jar:6.7.2]
... 6 more
在 Linux 環境中,elasticsearch 不允許以 root 權限來運行!所以需要創建一個非root用戶,以非root用戶來起es,這裏我直接有創建好的非root用戶。
或者也可以通過網上方法:
- 創建elsearch用戶組及elsearch用戶
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
2.更改文件夾及內部文件的所屬用戶及組爲elsearch:elsearch
chown -R elsearch:elsearch <ElasticSearch>
error2:錯誤: 找不到或無法加載主類
錯誤: 找不到或無法加載主類 org.elasticsearch.tools.java_version_checker.JavaVersionChecker
我出現這個問題的原因是因爲:我是使用root用戶登錄的開發機,ES默認安裝在了root目錄下。使用su命令切換用戶後,執行./elasticsearch時找不到啓動類導致。 解決方案:使用elastic用戶,將安裝包copy到elastic用戶的home目錄下,然後去home目錄下執行啓動操作。
這裏我在root用戶下將elasticsearch目錄copy到home下的新建用戶目錄下。
cp -r elasticsearch-6.7.2/ /home/zhangpk
cd /
cd home/zhangpk
./bin/elasticsearch
error3
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
每個進程最大同時打開文件數太小,可通過下面2個命令查看當前數量
ulimit -Hn
ulimit -Sn
打開/etc/security/limits.conf,在裏面添加如下內容:
* soft nofile 65536
* hard nofile 65536
其中*表示所有用戶 nofile表示最大文件句柄數,表示能夠打開的最大文件數目。
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
最大虛擬內存給的太低,修改/etc/sysctl.conf
文件,增加配置vm.max_map_count=262144
,執行命令sysctl -p生效
vi /etc/sysctl.conf
sysctl -p
訪問
curl 'http://localhost:9200/?pretty'
響應成功:
{
"name" : "X8URP-P",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "4U0eyT4CSXmPNSc_aww0IA",
"version" : {
"number" : "6.7.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "56c6e48",
"build_date" : "2019-04-29T09:05:50.290371Z",
"build_snapshot" : false,
"lucene_version" : "7.7.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
ip 端口訪問不通
我是在centos系統內安裝的,但是在windows通過ip端口號訪問es怎麼都不通,最後是通過修改config/elasticsearch.yml
,找到network.host配置項,放開註釋,後面寫上服務器IP,也可以是0.0.0.0就可以了。
安裝kibana
kibana比較好裝,找到官方文檔,如下:
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.2-linux-x86_64.tar.gz
tar -xzf kibana-6.7.2-linux-x86_64.tar.gz
安裝解壓後,通過./bin/kibana
來進行啓動。
kibana通過ip端口無法訪問
解決辦法:通過修改config/kibana.yml
,將連接的es鏈接放開(設置爲你本地已經啓動的es地址),然後設置server.port
,server.host
,server.host要設置爲服務器本身的ip地址,這樣別的環境也可以訪問。
下節更新es集羣搭建。