基础准备
Jdk
Elasticsearch6.6.2
解压文件
tar -vxf elasticsearch-6.6.2.tar.gz
查看目录文件
启动elasticsearch
can not run elasticsearch as root elasticsearch不能用root用户启动,需切换到普通用户
sh ./bin/elasticsearch
Elasticsaerch启动报错:Exception in thread "main" java.nio.file.AccessDeniedException:
错误原因:使用非 root用户启动ES,而该用户的文件权限不足而被拒绝执行。
解决方法: chown -R 用户名:用户名 文件(目录)名
Ctrl+C 停止服务
切换到root用户下面
vim /etc/security/limits.conf
在最后添加
* hard nofile 65536
* hard nofile 65536
也就是:
sysctl -w vm.max_map_count=262144设置elasticsearch用户拥有的内存权限
* soft nproc 4096
* hard nproc 4096
CentOS 7.0默认使用的是firewall作为防火墙
查看防火墙状态:firewall-cmd --state
停止firewall:systemctl stop firewalld.service
禁止firewall开机启动:systemctl disable firewalld.service
解决办法:
1、切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
然后,重新启动elasticsearch,即可启动成功。
启动成功
安装head插件
安装nodejs 添加环境变量命令行:vi /etc/profile (执行这条数据前必须是root用户才可以)
再执行一条命令:source /etc/profile 环境变量就修改好了
查看版本 node -v
Npm install
Npm run start
/usr/local/elasticsearch6/elasticsearch-6.6.2/config/elasticsearch.yml新增
http.cors.enabled: true
http.cors.allow-origin: "*"
./bin/elasticsearch -d
cd /usr/local/elasticsearch6/elasticsearch-head
分布式安装
Vim config/elasticsearch.yml
添加
Cluster.name: wali
Node.name: master
Node.master: true
Network.host: 127.0.0.1
保存退出
创建新目录es_slave 解压新的es包
分别修改 config/elasticsearch.yml
Cluster.name: wali
Node.name: slave1
Network.host: 127.0.0.1
http.port:8200
Discovery.zen.ping.unicast.hosts: [“127.0.0.1”]
常见概念
索引(Index)相当于数据库的数据库
类型(Type)相当于数据库中的表
文档(Document)相当于数据库中的单条数据
基本用法
API基本格式::
常用http动词:get/put/post/delete
创建索引(非结构化和结构化)127.0.0.1:9200
索引必须小写