ElasticSearch 简介与安装

一、介绍

二、安装

2.1、使用 docker

ip: 192.168.1.50

docker-compose.yml 内容如下:

 elasticsearch:
    image: elasticsearch:7.9.3
    container_name: elasticsearch
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - "/etc/timezone:/etc/timezone:ro"
      - "/etc/localtime:/etc/localtime:ro"
      - "/www/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml"
      - "/www/docker/elasticsearch/data:/usr/share/elasticsearch/data"
      - "/www/docker/elasticsearch/plugins/ik:/usr/share/elasticsearch/plugins/ik"
    environment:
      ES_JAVA_OPTS: "-Xms1g -Xmx1g"
    restart: "always"

elasticsearch.yml 配置如下:

# 集群名称,所有加入该集群的名称都必须一致
cluster.name: "docker-cluster"

# 绑定 host,这里绑定所有
network.host: 0

network.publish_host: 192.168.1.50

#集群节点名
node.name: node-1

# http 服务端口,默认 9200
http.port: 9200

cluster.initial_master_nodes: ["node-1"]

# minimum_master_nodes need to be explicitly set when bound on a public IP
# # # set to 1 to allow single node clusters
# # # Details: https://github.com/elastic/elasticsearch/pull/17288

# 配置集群主机地址,单节点不需要配置
# discovery.zen.ping.unicast.hosts: ["192.168.1.100","192.168.1.101","192.168.1.102"]

# 
# discovery.zen.minimum_master_nodes: 2

使用 root 账号修改 linux 参数,添加如下内容,并执行 sysctl -p 使配置生效:

[root@huangkai50 ~]# vim /etc/sysctl.conf
vm.max_map_count=655360
[root@huangkai50 ~]# sysctl -p

创建data目录并配置权限

[huangkai@huangkai50 ~]# mkdir -p /www/docker/elasticsearch/data
[huangkai@huangkai50 ~]# cd /www/docker/elasticsearch
[huangkai@huangkai50 ~]# chmod g+rwx data

启动服务:

[huangkai@huangkai50 docker]$ docker-compose up -d elasticsearch

启动后,使用浏览器访问 http://192.168.1.50:9200/ ,如果能正常响应,elasticsearch 启动成功 。

ElasticSearch 详细文档:
https://www.elastic.co
https://es.xiaoleilu.com/010_Intro/10_Installing_ES.html

使用 RPM 安装

宿主机安装首先要安装 JDK ,至少1.8版本,这里省略,

下载RPM 包

## wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-x86_64.rpm
## 我这里下载的是 7.9.3的版本
[root@www ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-x86_64.rpm

安装

[root@www ~]# rpm --install elasticsearch-7.9.3-x86_64.rpm

安装完成后,会创建 elasticsearch 用户,安装目录如下:

  • /etc/elasticsearch/ elasticsearch 配置文件
  • /var/lib/elasticsearch/ elasticsearch数据目录
  • /var/log/elasticsearch elasticsearch 日志目录

配置linux 内核参数,同上面docker安装方式一样,这里略过。

配置es参数(这里使用单节点),

## [root@www ~]# vim /etc/elasticsearch/elasticsearch.yml

#集群名称,所有加入该集群的名称都必须一致
cluster.name: my-elasticsearch
#集群节点名
node.name: www.kevin.com
#数据存储目录,保持默认即可,如果指定其它目录,需要注意赋予elasticsearch用户权限
path.data: /var/lib/elasticsearch
#日志存储目录,保持默认即可,如果指定其它目录,需要注意赋予elasticsearch用户权限
path.logs: /var/log/elasticsearch
#在启动时就锁定内存,防止其它应用和elasticsearch抢占内存,默认为false
bootstrap.memory_lock: false
#network host,配置为当前服务器的ip
network.host: 192.168.1.100
# 端口号,保持默认即可
http.port: 9200

配置 JVM 参数

## [root@www ~]# vim /etc/elasticsearch/jvm.options
## 配置内存,在生产环境,最多给 32g 足够了,一般给物理机的内存的一半
-Xms512m
-Xmx512m

启动服务

[root@www ~]# systemctl start elasticsearch.service

## 检查是否启动成功,启用用户为ealsticsearch
[root@www ~]# ps -ef|grep elasticsearch
elastic+   43232       1 44 16:28 ?        00:00:19 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -XX:+ShowCodeDetailsInExceptionMessages -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.locale.providers=SPI,COMPAT -Xms512m -Xmx512m -XX:+UseG1GC -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -Djava.io.tmpdir=/tmp/elasticsearch-2710966491420791215 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/lib/elasticsearch -XX:ErrorFile=/var/log/elasticsearch/hs_err_pid%p.log -Xlog:gc*,gc+age=trace,safepoint:file=/var/log/elasticsearch/gc.log:utctime,pid,tags:filecount=32,filesize=64m -XX:MaxDirectMemorySize=268435456 -Des.path.home=/usr/share/elasticsearch -Des.path.conf=/etc/elasticsearch -Des.distribution.flavor=default -Des.distribution.type=rpm -Des.bundled_jdk=true -cp /usr/share/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch -p /var/run/elasticsearch/elasticsearch.pid --quiet
elastic+   43422   43232  0 16:28 ?        00:00:00 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
root       43483    5808  0 16:29 pts/0    00:00:00 grep --color=auto elasticsearch
[root@www ~]# 

使用浏览器访问: http://www.kevin.com:9200/ 如果能正常返回信息,启动成功。注意: www.kevin.com 域名对应的服务器为 192.168.1.100。使用DNS 解析,DNS 的配置请参考 DNS安装配置

添加开机启动

[root@www ~]# systemctl enable elasticsearch.service

你可能感兴趣的:(Ealstic,elasticsearch,docker,大数据)