Elasticsearch 就不过多介绍了,可以自行百度或者查看上一篇文章《windows10安装ElasticSearch》
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz
根据需求自行替换版本号1、cd 到安装目录,执行解压命令
tar -zxvf elasticsearch-5.6.3.tar.gz
1、进入 elasticsearch 安装目录,使用vi编辑器
vi config/elasticsearch.yml
2、取消如下注释,并修改为当前主机地址:
network.host: 192.168.0.3
discovery.zen.ping.unicast.hosts: ["192.168.0.3"]
3、使用vi编辑器,修改 /etc/sysctl.conf 文件,添加如下代码(若无将会出现下面常见问题2):
vm.max_map_count=262144
4、退出保存后执行如下命令:
sysctl -p
[root@localhost ~]## groupadd elsearch
[root@localhost ~]## useradd elsearch -g elsearch -p elasticsearch
[root@localhost ~]## passwd elsearch ## 设置密码
[root@localhost ~]## cd /usr/local/ ## 进入 elsearch 安装目录
[root@localhost /usr/local]## chown -R elsearch:elsearch elasticsearch-5.5.2/ ## 授权
使用vi编辑器,修改 /etc/security/limits.conf 文件,在文件末尾添加如下代码(若无将会出现下面常见问题3):
elsearch soft nofile 65536
elsearch hard nofile 65536
elsearch soft nproc 4096
elsearch hard nproc 4096
baoshan soft memlock unlimited
baoshan hard memlock unlimited
修改 90-nproc.conf 配置:
vim /etc/security/limits.d/90-nproc.conf
elsearch soft nproc 2048
注意: elsearch 为登录的用户名,因为 root 在 5.0.0 之后是不能启动 elasticsearch。需要退出重新登录,配置才能生效
启动ElasticSearch服务的命令,显示启动的log:
su elsearch
cd elsearch安装目录
./bin/elasticsearch
加上-d参数表示后台启动,一般我们都采用后台启动的方式:
su elsearch
cd elsearch安装目录
./bin/elasticsearch -d
ElasticSearch服务启动成功后,可看到如下进程信息:
ps -es |grep elasticsearch
查看ElasticSearch服务所监听的端口:
netstat -lntp |grep java
设置防火墙规则,开放 ElasticSearch 服务所监听的端口:
[elsearch@localhost elasticsearch-5.6.3]$ sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent success [elsearch@localhost elasticsearch-5.6.3]$ sudo firewall-cmd --zone=public --add-port=9300/tcp --permanent success [elsearch@localhost elasticsearch-5.6.3]$ sudo firewall-cmd --reload success
开放了相应的端口(9200)后,从浏览器中访问,看看能否访问成功,如下则是访问成功的:
1、can not run elasticsearch as root
Elasticsearch版本> = 5.0.0时,是不可用超级管理员运行Elasticsearch的,退出管理员账号即可
2、max virutal memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方案,请看上面修改配置文件
3、max number of threads [3750] for user [xxx] is too low, increase to at least [4096]
解决方案,请看上面修改新建用户及用户组
4、memory locking requested for elasticsearch process but memory is not locked
解决办法如下:需要修改/etc/security/limits.conf 添加以下命令:
elsearch soft memlock unlimited
elsearch hard memlock unlimited
elsearch 为启动 elasticsearch 的用户名
修改:/etc/sysctl.conf 添加 -> vm.swappiness=0
5、Native controller process has stopped - no new native processes can be started 解决办法:
vi /etc/security/limits.conf
在文件的末尾加上
esyonghu soft nofile 65536
esyonghu hard nofile 65536
esyonghu soft nproc 4096
esyonghu hard nproc 4096
进入到下面文件夹
[root@localhost ~]## cd /etc/security/limits.d
[root@localhost limits.d]## ll
total 4
-rw-r--r--. 1 root root 191 Nov 6 2016 20-nproc.conf
[root@localhost limits.d]## vi 20-nproc.conf
## Default limit for number of user's processes to prevent
## accidental fork bombs.
## See rhbz #432903 for reasoning.
* soft nproc 4096
root soft nproc unlimited
~
~
将上面内容的*号改成用户名
## See rhbz #432903 for reasoning.
elsearch soft nproc 4096
root soft nproc unlimited
修改下面文件加上内容
[root@localhost security]## vi /etc/sysctl.conf
vm.max_map_count = 655360
对于上面的内容让其生效
[root@localhost security]## sysctl -p
vm.max_map_count = 655360