文章目录
- 简介
- Solr、ES区别
- 安装环境
- linux基本配置
简介
Elasticsearch是一个基于Apache Lucene™的开源搜索引擎,
特点:
分布式的实时文件存储,每个字段都被索引并可被搜索
分布式的实时分析搜索引擎–做不规则查询
可以扩展到上百台服务器,处理PB级结构化或非结构化数据
应用:
全文检索(全部字段)、模糊查询(搜索)、数据分析(提供分析语法,例如聚合)
Solr、ES区别
- Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;
- Solr 支持更多格式的数据,而 Elasticsearch 仅支持json文件格式;
- Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供;
- Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch(比如:探探与陌陌查询附近的人)
安装环境
安装Centos7、建议内存2G以上、安装java1.8环境
touch /.autorelabel
linux基本配置
设置IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
设置为自己的ip
TAYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="fa046a85-f4a7-42bd-9ac2-77dee036ef01"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.18.88"
PREFIX="24"
GATEWAY="192.168.18.1"
DNS1="8.8.8.8"
IPV6_PRIVACY="no"
linux 7 解决烦人的蜂鸣声
vi /etc/inputrc
打开 set bell-style none 的注释
重启网络
service network restart
添加用户
adduser elk
passwd elk
以下授权步骤可省略
whereis sudoers
ls -l /etc/sudoers
vi /etc/sudoers
root ALL=(ALL) ALL
linuxidc ALL=(ALL) ALL #这个是新增的用户
chmod -v u-w /etc/sudoers
su elk
退出用root用户
解压
tar -zxvf elasticsearch-6.3.1.tar.gz
赋权
chown -R elk:elk /home/elk/es
es只能非root用户启动
cd elasticsearch-6.3.1/bin
./elasticsearch
复制会话,输入
curl 127.0.0.1:9200
显示
cd /home/elk/es/elasticsearch-6.3.1/config
vi elasticsearch.yml
修改并打开注释
network.host: 192.168.18.88
出现两个问题:
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
vi /etc/security/limits.conf
shift + g 跳转到最后,添加
* hard nofile 65536
* soft nofile 131072
* hard nproc 4096
* soft nproc 2048
elk soft memlock unlimited
elk hard memlock unlimited
含义为
nofile - 打开文件的最大数目
noproc - 进程的最大数目
soft 指的是当前系统生效的设置值
hard 表明系统中所能设定的最大值
vi /etc/sysctl.conf
在末尾添加
vm.max_map_count=655360
fs.file-max=655360
使配置文件生效
[root@localhost ~]# sysctl -p
vm.max_map_count = 655360
fs.file-max = 655360
vm.max_map_count=65530,因此缺省配置下,单个jvm能开启的最大线程数为其一半
file-max是设置 系统所有进程一共可以打开的文件数量
ulimit -n和-u可以查看linux的最大进程数和最大文件打开数
重启机器,重新到es的目录下启动es
后台启动
./elasticsearch -d