Elasticsearch 安装
环境需要
1、安装jdk环境
2、安装Elasticsearch
注意事项:ES非常占内存,默认启动是1g内存,可以修改512m
3.Kibana可视化界面
第一步
将 es、kibana 安装包分别上传到linux服务器上,存放在 /usr/local 目录下。
第二步
解压 es,解压命令:tar -zxvf elasticsearch-6.4.3.tar.gz
解压成功之后,如下图,多出一个es安装目录。
第三步
查看 jvm 初始内存,在/conf/jvm.options 文件中可以查询jvm 内存,也可以根据自己需要进行修改配置。
第四步
设置ip地址与通讯端口号,进入到/usr/local/es/conf 目录。注意:这里我的es 安装在 /usr/local/es 目录下,这个可根据自己的需求选择安装目录。
编辑 jvm.options 文件,vi jvm.options ,如下图。
修改ip地址、端口号
第五步
配置好之后,启动es。进入到 /bin 目录下,启动es。
启动命令:./elasticsearch
es启动失败,can not run elasticsearch as root。
解决方案:
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户。
第一步:liunx创建新用户 adduser XXX 然后给创建的用户加密码 passwd XXX 输入两次密码。
第二步:切换刚才创建的用户 su XXX 然后执行elasticsearch 会显示Permission denied 权限不足。
第三步:给新建的XXX赋权限,chmod 777 * 这个不行,因为这个用户本身就没有权限,肯定自己不能给自己付权限。所以要用root用户登录付权限。
第四步:root给XXX赋权限,chown -R XXX /你的elasticsearch安装目录。
然后执行成功。
创建一个分组
groupadd esgroup
useradd esmingtian -g esgroup -p 123456
chown -R esmingtianelasticsearch-6.4.3
su esmingtian 切换用户
切换过用户之后,使用新建的用户继续启动,如下图。
es 启动依然失败,需要修改 /etc/sysct.l.conf 文件。需切换到 root 账号进行修改,不然没有权限进行修改。
sysctl -p
切换为 esmingtiian 继续启动项目,如下。
启动依然出错,需要 再修改一个i配置文件。修改文件使用 root 账户修改。
vi /etc/security/limits.conf
保存之后,继续启动,如果这一步启动失败,需要重启linux 服务器。
第六步
访问之前需要关闭服务器的防火墙,否则外部无法访问,出现如下图则表示 es 启动成功。
浏览器访问地址:http://192.168.0.110:9200/
9300 与 9200区别
9300端口: ES节点之间通讯使用
9200端口: ES节点 和 外部 通讯使用
9300是TCP协议端口号,ES集群之间通讯端口号
9200端口号,暴露ES RESTful接口端口号
Elasticsearch版本控制
1.为什么要进行版本控制
为了保证数据再多线程操作下的准确性
2.悲观锁和乐观锁
悲观锁:假设会发生并发冲突,屏蔽一切可能违反数据准确性的操作
乐观锁:假设不会发生并发冲突,只在提交操作是检查是否违反数据完整性。
3.内部版本控制和外部版本控制
内部版本控制:_version自增长,修改数据后,_version会自动的加1
外部版本控制:为了保持_version与外部版本控制的数值一致
使用version_type=external检查数据当前的version值是否小于请求中的version值
##### 创建一个文档 /索引/类型/id
PUT /myindex/user/1
{
"name":"mingtian",
"age":24,
"sex":"男"
}