elasticsearch的特点
- 分布式,无需人工搭建集群
- Restful风格,一切API都遵循Rest原则,容易上手
- 近实时搜索,数据更新在Elasticsearch中几乎是完全同步
elasticsearch的安装
elasticsearch 不允许以root用户运行
- 新建用户并且上传文件
useradd leyou #添加用户
passwd leyou #修改密码
mv elasticsearch-* /home/leyou/ #将上传的文件放到leyou用户的根目录
chown leyou:leyou elasticsearch-* #更换上传文件的所有者
su - leyou #切换用户
tar -zxvf elasticsearch-6.3.0.tar.gz #解压文件
用到的文件路径
链接:https://pan.baidu.com/s/1TjDp7iIDCnLmEgEWYM8hNw
提取码:3kgf
复制这段内容后打开百度网盘手机App,操作更方便哦
2. 修改elasticsearch 配置
修改/home/leyou/elasticsearch-6.3.0/config/elasticsearch.yml下的配置
path.data: /home/leyou/elasticsearch/data # 数据目录位置
path.logs: /home/leyou/elasticsearch/logs # 日志目录位置
network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问
3. 启动elasticsearch
cd /home/leyou/elasticsearch-6.3.0/bin/ #切入到启动目录
./elasticsearch
4 启动报错
缺少jdk
安装jdk 参考<<卸载原有jdk,并且安装新的jdk>>
centos 6 内核版本太低不支持syscall filter
/home/leyou/elasticsearch-6.3.0/config/elasticsearch.yml下追加配置
bootstrap.system_call_filter: false
[1]: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
leyou用户文件权限不足。
如果配置了sudo权限,可用下部操作,没有配置的话需要用root用户修改.
然后修改配置文件:
sudo vim /etc/security/limits.conf #以管理员权限修改limits配置文件
修改内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
[2]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]
线程数不够,修改配置文件
sudo vim /etc/security/limits.d/90-nproc.conf
修改内容为:
* soft nproc 4096
[3]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,继续修改配置文件:
#修改的内容
sudo vim /etc/sysctl.conf
#追加的内容
vm.max_map_count=655360
#执行命令
sudo sysctl -p
重启服务然后在重启.很重要!!!!!!!!!!!!!!!!!!!!!!!
重启后root直接启动报错
切换用户在启动
成功了
elasticsearch的安装kibana
解压kibana到任意指定目录
修改安装路径下的conf/kibana.yml
修改elasticsearch的服务目录:
启动启动类
GET _search
{
"query": {
"match_all": {}
}
}
测试成功了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
elasticsearch的安装IK分词器
unzip elasticsearch-analysis-ik-6.3.0.zip -d ik-analyzer
mv ik-analyzer/ elasticsearch-6.3.0/plugins/
重启elasticsearch
POST _analyze
{
"analyzer": "ik_max_word",
"text": "为全世界祈福"
}