单机安装
安装准备
- 安装jdk1.8 并配置网络环境 关闭防火墙
- 准备安装文件 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
- 6886行 /contentType: "application/x-www-form-urlencoded
改成 contentType: “application/json;charset=UTF-8” - 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