elasticsearch单机版安装
如果需要安装包可以私信我
1.创建elsearch用户
需要注意Elasticsearch是不支持root用户运行的
useradd elsearch
2.创建目录解压安装包
创建目录
mkdir /elsearch/es
改变目录为elsearch所有
chown elsearch:elsearch elsearch/ -R
切换用户到elsearch,将文件解压到es中。
tar -xvf elasticsearch-6.5.4.tar.gz -C /elsearch/es/
3.修改配置文件
进入到es里的文件目录,修改config里的elasticsearch.yml
vim elasticsearch.yml
将network.host: 修改为 0.0.0.0,设置ip地址,任意网络均可访问
network.host: 0.0.0.0
说明:在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的话,就会认为是生产环境,
会对环境的要求比较高,我们的测试环境不一定能够满足,一般情况下需要修改2处配置,如下:
修改jvm启动参数
vim jvm.options
修改内容为
-Xms128m #根据自己机器情况修改
-Xmx128m
Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true
vim config/elasticsearch.yml
添加:
bootstrap.system_call_filter: false
切换root用户
一个进程在VMAs(虚拟内存区域)创建内存映射最大数量
vim /etc/sysctl.conf
添加内容为
vm.max_map_count=655360
使用如下指令生效
sysctl -p
接着修改
vi /etc/security/limits.conf
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
centos7修改到这里就可以了
接下来修改是其他系统会报错所以修改的,这里需要注意20-nproc.conf名字可能不同,所以得到目录下看
vi /etc/security/limits.d/20-nproc.conf
#修改如下内容:
* soft nproc 1024
#修改为
* soft nproc 4096
4.启动
直接启动
./elasticsearch
后台启动
./elasticsearch -d
jps命令查看进程
elasticsearch-head使用docker安装配置
1.拉取镜像
docker pull mobz/elasticsearch-head:5
2.创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
3.启动容器
docker start elasticsearch-head
elasticsearch-head连接elasticsearch
在elasticsearch-head和elasticsearch都正常启动之后打开elasticsearch-head网页ip:9100连接elasticsearch。如果出现一直连接不上,由于前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置,断开elasticsearch
编辑配置文件
vim /etc/elasticsearch/elasticsearch.yml
增加下面两项
http.cors.enabled: true
http.cors.allow-origin: "*"
这样就可以正常连接了
连接上之后如果出现新建索引无响应,
Docker容器ElasticSearch-Head创建索引无响应406,ElasticSearch-Head创建索引无响应,F12查看发现406错误,修改head的 Content-Type 设置,步骤如下:
首先进入容器:
docker exex -it elasticsearch-head /bin/bash
修改文件vendor.js
vim _site/vendor.js
一般docker拉取的镜像会出现 bash: vi: command not found 问题 需要自己安装vim
apt-get update
apt-get install vim
如果不能apt-get update 解决方法
首先使用命令查找宿主机的DNS server,命令:
nmcli dev show | grep 'IP4.DNS'或者nmcli dev list | grep DNS
然后create一个文件,使用命令:
vim /etc/docker/daemon.json
编辑信息:
{
"dns": ["你的域名","8.8.8.8"]
}
重启Docker服务,命令:
service docker restart
修改内容如下:
- 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" &&
退出并重启容器就可以正常使用了