虚拟机环境:VMware14、centos7(64位)、jdk1.8
Elasticsearch版本:elasticsearch-6.6.1
Kinaba版本:Kibana-6.6.1
安装总结:推荐centos7(64位)及以上版本,本人在centos6.4(32位)出现很多问题,最终是启动成功但还是有启动报错信息。
介绍:elasticsearch运行默认需要1G运行内存,所以设置虚拟机启动内存大于1G
es配置文件默认启动1G内存代码:
注意:其实我们可以通过修改配置文件的jvm分配内存,如果自己电脑运行内存不够可以设置为512m运行内存。
官网地址:https://www.elastic.co/products
图片介绍:
一、elasticsearch.yml配置文件修改
文件地址:/usr/local/elasticsearch-6.6.1/config (个人文件地址各不相同)
介绍:由于elasticsearch出于安全考虑设定在Linux中不能以root的方式进行启动,所以需要创建新的用户分组进行授权并启动。
Linux命令:
groupadd esyingyy //创建用户分组
useradd esyyy -g esyingyy -p 123456 //给分组添加一个用户
chown -R esyyy :esyingyy elasticsearch-6.6.1 //给用户添加操作elasticsearch-6.6.1的操作权限
su esyyy //切换用户
注意事项:给用户添加权限的时候一定要在elasticsearch的父级目录下进行操作,还有个人elasticsearch版本各不相同,所以看准自己的版本文件名进行权限赋值。
1、max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解决方法:
vi /etc/sysctl.conf 添加如下代码 vm.max_map_count=655360 执行sysctl -p命令使得刚才修改的配置生效。
2、max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
解决方法:
vi /etc/security/limits.conf 添加如下代码:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
3、No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender
问题原因:之前通过其他非root身份启动成功,后台通过root启动报错,他会修改log配置文件的用户读写权限信息,从而导致报错。
解决方法:修改该文件的root为yuyou即可正常启动
chown yuyou elasticsearch.log
感谢博客:https://blog.csdn.net/qq_20107237/article/details/88072983
1、ElasticsearchException[X-Pack is not supported and Machine Learning is not available for
解决方法:
在config/elasticsearch.yml
添加一条配置 xpack.ml.enabled: false 即可
参见博客地址:
https://blog.csdn.net/fanrenxiang/article/details/81358332
2、JVM is using the client VM [Java HotSpot(TM) Client VM] but should be using a server VM for the best performance
解决方法:
修改文件 JAVA_HOME\jre\lib\i386\jvm.cfg 第一行与第二行互换
-server KNOWN #原来是第2行
-client KNOWN #原来是第1行
3、未知错误但是能够正常启动elasticsearch
介绍:
启动成功:(还望大佬们能指正)
4、elasticsearch安装错误报告优秀博客推荐:
https://blog.csdn.net/gan_ke/article/details/79553131
关闭防火墙 systemctl stop firewalld.service
访问:
1、软件下载(linux64-BIT)
https://www.elastic.co/downloads/kibana
2、配置文件修改(kibaba/config/kibana.yml)
3、浏览器访问:
http://192.168.27.141:5601/app/kibana
安装成功!!!!!!
注意:其实该方法就是修改索引的方法,如果你的id不变,还执行之前的语句,es会重新生成一个新的数据一模一样的文档,但是该文档的version会在之前的版本加一,并且覆盖之前的版本,通过GET /yangdu/user/1?version=index(GET /yangdu/user/1)来进行访问。
操作Elasticsearch就像操作数据库一样.
org.springframework.boot
spring-boot-starter-parent
2.0.0.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-data-elasticsearch
org.projectlombok
lombok
UserEntity
// 文档的索引名称和类型
@Document(indexName = "yandu", type ="user" )
@Data
public class UserEntity {
@Id
private String id;
private String name;
private Integer sex;
private Integer age;
}
UserRepository
public interface UserRepository extends CrudRepository{
}
EsController
@RestController
public class EsController {
@Autowired
private UserRepository userRepository;
@RequestMapping("/addUser")
public UserEntity addUser(@RequestBody UserEntity userEntity){
return userRepository.save(userEntity);
}
@RequestMapping("/findUser")
public Optional findUser(String id){
return userRepository.findById(id);
}
}
application.yml
spring:
data:
elasticsearch:
####集群名称
cluster-name: myes
####地址
cluster-nodes: 192.168.27.141:9300
注意:配置文件中的cluster-name一定要和centos中的elasticsearch配置文件中的一致,否者会报None of the configured nodes are available:错误。
postman测试:
IK下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
点击elasticsearch-analysis-ik-6.6.0.zip进行下载,个人elasticsearch版本可能不一致,请注意版本一致性问题。
注意事项:IK分词器和Elasticsearch的版本一定要一致,不要说什么新版本会兼容旧版本。
1、讲下载好的Zip进行解压,新建一个ik文件夹存放解压后的文件,应该是8个文件。
2、上传到个人Linux elasticsearch文件的plugins文件夹下,个人地址是(/usr/local/elasticsearch-6.6.1/plugins)
3、关闭elaticsearch,重启elasticsearch。
4、elasticsearch启动加载IK分词器成功日志
a、在自己elasticsearch的ik分词器的config目录下新建一个custom文件上传一个自定义好的new_word.dic文件。
new_word.dic文件是自己自定义的热词。
custom文件夹是为了区别自己和系统设置的热词文件。
b、在ik的config配置文件中把自己新建的热词文件地址配置到 IKAnalyzer.cfg.xml配置中
c、重启elasticsearch,查看自己配置热词(对比第三步骤可以看出虎牙直播已经是一个热词不再拆分)