安装环境: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集群搭建。