CentOS7 安装Elasticsearch详细教程

19 篇文章 1 订阅
15 篇文章 0 订阅

单机安装
安装准备
  1. 安装jdk1.8 并配置网络环境 关闭防火墙
  2. 准备安装文件 elasticsearch-6.5.4.tar.gz
创建用户
#创建elsearch用户,Elasticsearch不支持root用户运行
useradd elsearch
文件解压

用root解压安装文件并修改配置
tar -xvf elasticsearch-6.5.4.tar.gz
解压后修改 文件目录所有者为 elsearch
chown elsearch:elsearch elasticsearch-6.5.4 -R
目录结构如下

[root@localhost ~]# cd /opt/apps/
[root@localhost apps]# ll
总用量 297928
drwxr-xr-x. 9 elsearch elsearch       155 6月  23 15:43 elasticsearch-6.5.4
-rw-r--r--. 1 root     root     113322649 6月  23 15:24 elasticsearch-6.5.4.tar.gz
lrwxrwxrwx. 1 elsearch elsearch        19 6月  23 15:32 elsearch -> elasticsearch-6.5.4
lrwxrwxrwx. 1 root     root            13 6月  23 14:50 jdk -> jdk1.8.0_191/
drwxr-xr-x. 7       10      143       245 10月  6 2018 jdk1.8.0_191
-rw-r--r--. 1 root     root     191753373 12月 25 2018 jdk-8u191-linux-x64.tar.gz
配置修改

#修改配置文件
vim conf/elasticsearch.yml
network.host: 0.0.0.0 #设置ip地址,任意网络均可访问
#说明:在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的话,就会认为是生产环境,
会对环境的要求比较高,我们的测试环境不一定能够满足,一般情况下需要修改2处配置,如下:
#1:修改jvm启动参数
vim conf/jvm.options
-Xms128m #根据自己机器情况修改
-Xmx128m
#2:一个进程在VMAs(虚拟内存区域)创建内存映射最大数量
vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p #配置生效

启动服务

su elsearch 切换到 elsearch 用户启动服务

cd bin
./elasticsearch 或 ./elasticsearch -d #后台启动
服务验证

在这里插入图片描述

问题解决

如果启动后 无法访问到上述页面,可能是服务启动过程出了问题,查看 。logs目下的日志文件,根据报错内容进行配置修改
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to atleast [65536]
#解决:切换到root用户,编辑limits.conf 添加类似如下内容
vi /etc/security/limits.conf
添加如下内容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
安装elasticsearch-head

ES官方并没有为ES提供界面管理工具,仅仅是提供了后台的服务。elasticsearch-head是一个为ES开发的一个页面客户端工具。可以方便的对ES进行操作

安装docker环境

在 linunx或者windows环境下 安装好docker,并配置好镜像加速器
win7环境配置镜像加速 如下:

docker-machine ssh default
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://uq95oor2.mirror.aliyuncs.com |g" /var/lib/boot2docker/profile
exit
docker-machine restart default
下载镜像
docker@default:~$ docker pull mobz/elasticsearch-head:5
5: Pulling from mobz/elasticsearch-head
75a822cd7888: Pull complete 
57de64c72267: Pull complete 
4306be1e8943: Pull complete 
871436ab7225: Pull complete 
0110c26a367a: Pull complete 
1f04fe713f1b: Pull complete 
723bac39028e: Pull complete 
7d8cb47f1c60: Pull complete 
7328dcf65c42: Pull complete 
b451f2ccfb9a: Pull complete 
304d5c28a4cf: Pull complete 
4cf804850db1: Pull complete 
Digest: sha256:55a3c82dd4ba776e304b09308411edd85de0dc9719f9d97a2f33baa320223f34
Status: Downloaded newer image for mobz/elasticsearch-head:5
docker.io/mobz/elasticsearch-head:5
启动容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
docker@default:~$ docker ps                                                    
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
docker@default:~$ docker ps -a                                                 
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS               NAMES
535141c53cf7        mobz/elasticsearch-head:5   "/bin/sh -c 'grunt s鈥   12 seconds ago      Created                                 elasticsearch-head
docker@default:~$ docker start elasticsearch-head                              
elasticsearch-head
docker@default:~$ docker ps                                                    
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                    NAMES
535141c53cf7        mobz/elasticsearch-head:5   "/bin/sh -c 'grunt s鈥   35 seconds ago      Up 5 seconds        0.0.0.0:9100->9100/tcp   elasticsearch-head

编辑配置文件 elasticsearch.yml 增加如下内容,并重启 es

[root@localhost config]# vi elasticsearch.yml 
...
http.cors.enabled: true
http.cors.allow-origin: "*"
"elasticsearch.yml" 90L, 2900C written
连接测试

浏览器输入ip:9100 工具可以正常使用
在这里插入图片描述

问题解决

ElasticSearch-Head创建索引无响应,F12查看发现406错误,
修改head的 Content-Type 设置.
docker exex -it 容器id /bin/bash
root@b93fa4e29ba2:/usr/src/app# vim _site/vendor.js

  1. 6886行 /contentType: "application/x-www-form-urlencoded
    改成 contentType: “application/json;charset=UTF-8”
  2. 7574行 var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
    改成 var inspectData = s.contentType === “application/json;charset=UTF-8” &&
    root@b93fa4e29ba2:/usr/src/app/_site# exit
    exit
    [root@localhost ~]# docker restart 容器id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

catch that elf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值