51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

ElasticSearch搭建文档

# 下载地址 {#下载地址}

https://elasticsearch.cn/download/ (opens new window)

本次安装的版本是7.6.2

# 单机版 {#单机版}

# 安装与启动 {#安装与启动}

将下载的文件放入想要安装的目录中,我放到的是/beeb/db/es下

tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz
mv` elasticsearch-7.6.2 elasticsearch
`

每个目录对应的作用:

  • bin目录存放各种启动文件
  • config目录存放配置文件
  • lib目录存放相关Jar包
  • logs目录存放日志文件
  • modules存放功能模块
  • plugins存放各类插件

最简单的方式启动ES

./bin/elasticsearch

启动成功后在新的链接窗口使用curl命令,返回如下结果表示安装完成

[root@localhost ~]# curl 127.0.0.1:9200
{
  "name" : "localhost.localdomain",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "RtEA_S2XSb64Qc8Sgy6QRg",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

后台启动命令

./bin/elasticsearch -d

# 可能会遇到的问题 {#可能会遇到的问题}

# root账号无法启动问题 {#root账号无法启动问题}

linux中ES的启动可能会遇到一些问题,如果你在Root权限下启动,你就会遇到第一个报错:

can not run elasticsearch as root

解决办法:因为ES不能在Root权限下使用,因此需要建一个新的用户:

adduser elastic
passwd elastic
#输两遍密码
#elastic:elastic 后一个elastic是密码
chown -R elastic:elastic /usr/local/elasticsearch
su elastic
./elasticsearch

# curl可以,ip:端口访问不行 {#curl可以-ip-端口访问不行}

1、首先通过ping和telnet查看网络是否通,不通的情况先关防火墙

2、修改config/elasticsearch.yml

network.host: 192.168.78.128 #改成服务器ip
cluster.initial_master_nodes: ["node-1"]  #添加初始主节点

3、重新启动,浏览器上也可访问ip:端口即为成功

# max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535] {#max-file-descriptors-4096-for-elasticsearch-process-is-too-low-increase-to-at-least-65535}

解决办法:(root账号

其中bigdata是要启动es的那个账号

vim /etc/security/limits.conf
#添加下面配置
bigdata soft nofile 65536
bigdata hard nofile 65536

接着重新登陆bigdata账号

# max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] {#max-virtual-memory-areas-vm-max-map-count-65530-is-too-low-increase-to-at-least-262144}

解决办法:(root账号)

vim /etc/sysctl.conf 
vm.max_map_count = 262144

上面的操作将使得变更永久化

同时运行:

sysctl -w vm.max_map_count=262144 

改变内核的当前状态。

# 集群版 {#集群版}

首先采用单机版部署方式给每一台机器部署ES

部署完成之后,配置 elasticsearch.yml 配置文件

vim config/elasticsearch.yml

#集群名字
cluster.name: my-es
#节点名字,三台机器分别为 node-1、node-2、node-3
node.name: node-2
#IP地址,改成对应的服务器地址
network.host: 192.168.78.130
#端口号
http.port: 9200
transport.tcp.port: 9300
#是否有资格当主节点
node.master: true
#是否存储数据
node.data: true
#节点发现,所有节点的ip地址
discovery.seed_hosts: ["192.168.78.128:9300", "192.168.78.130:9300","192.168.78.131:9300"]
#选举master
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
#允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# 数据和日志地址
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/logs

三台服务器需要修改的配置为 node.name、network.host

最后逐一启动三台机器,日志不报错之后,在Kibana通过命令查看集群

GET _cat/nodes

出现上面的结果表示集群部署完成。

赞(5)
未经允许不得转载:工具盒子 » ElasticSearch搭建文档