Elasticsearch不能在 root
用户下启动,我们需要在机器上创建一个普通用户
-
useradd elastic
-
passwd elastic
-
在机器上的
/home/elastic/
目录下创建elasticsearch文件夹,然后在elasticsearch文件夹下分别创建data、logs文件夹。 用的elastic用户登陆创建
data:存储Elasticsearch索引文件数据
logs:存储日志文件
4.下载 Elastic 产品 | Elastic下载elasticsearch-xxx-linux-x86_64.tar.gz 移动 /home/elastic/下
5. vi config/elasticsearch.yml
cluster.name: my-application
node.name: node-1
path.data: /home/elastic/elasticsearch/data
path.logs: /home/elastic/elasticsearch/logs
network.host: ip1
http.port: 9200
discovery.seed_hosts: ["ip1", "ip2", "ip3"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
- cluster.name:集群的名称,集群中所有节点的
cluster.name
的值必须要相同。 - node.name:集群中每个Elasticsearch的节点名称,不可以重复。
- path.data:设置存放Elasticsearch索引文件数据的路径。
- path.logs:设置存放日志文件的路径。
- network.host:Elasticsearch绑定的IP,外界可以通过这个IP访问到当前Elasticsearch节点,一般配配置当前系统的IP,或者
0.0.0.0
(任何地址都能访问到)。 - http.port:当前启动Elasticsearch的端口号,一般默认
9200
即可,当然你也可以修改 - discovery.seed_hosts:配置所有Elasticsearch节点绑定的IP地址。
- cluster.initial_master_nodes:配置那些节点可以有资格被选为主节点。node.master=true的
6.启动报错(没有权限就用root用户chmod -R 777 xxx增加权限)
bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /home/elastic/logs/xxxxx
root用户vi /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
elastic soft memlock unlimited
elastic hard memlock unlimited
vi /etc/security/limits.d/20-nproc.conf
* soft nproc 65535
root soft nproc unlimited
vi /etc/sysctl.conf
vm.max_map_count = 655360
vm.swappiness=1
kernel.pid_max = 65535
保存后执行:sysctl -p 生效
7.启动
./bin/elasticsearch
后台启动: ./bin/elasticsearch -d -p pid
8.浏览器访问ip:9200 帐号密码在启动日志里