sifeimeng 2019-10-19
Elasticsearch是一个开源的,基于Apache Lucene库构建的全文搜索引擎,有着广泛的使用场景,学习这一技术是很有必要的。在学习之前我们首先需要安装Elasticsearch,这里就简单记录一下在linux环境下的安装步骤以及遇到的问题的解决方法。
java -version
进行检查tar -xzf elasticsearch-7.2.0-linux-x86_64.tar.gz
### 创建用户组elk groupadd elk ### 创建新用户elk并且把elk用户放到elk用户组 useradd -m -g elk elk ### 为elk用户设置密码 passwd elk
elk
用户sudo chown -R elk:elk elasticsearch-7.2.0
/etc/security/limits.conf
在末尾添加如下内容elk soft nofile 65536 elk hard nofile 131072 elk soft nproc 4096 elk hard nproc 4096
/etc/sysctl.conf
在末尾添加如下内容vm.max_map_count=655360
elk
用户,进入解压出来的安装目录里面的bin
目录,执行脚本启动elasticsearch。### 切换用户 su elk ### 执行启动脚本 ./elasticsearch ### 以守护进程的方式 ./bin/elasticsearch -d -p pid
curl http://localhost:9200
验证是否安装成功,如果有如下响应则说明安装成功。{ "name" : "node-1", "cluster_name" : "elasticsearch", "cluster_uuid" : "ecIk6VqORx-Vjg7DVaI7fA", "version" : { "number" : "7.2.0", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "508c38a", "build_date" : "2019-06-20T15:54:18.811730Z", "build_snapshot" : false, "lucene_version" : "8.0.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
以上就是elasticsearch的安装步骤,建议多去官方文档找找自己需要的知识,官方文档的地址https://www.elastic.co/guide/en/elasticsearch/reference/index.html 。
直接安装还是比较麻烦的,可以使用docker去安装elasticsearch的环境,直接docker hub拉相应的镜像启动即可,简单方便。
进入安装目录的logs目录,排差 elasticsearch.log日志,找到相关的报错信息。
修改文件/etc/security/limits.conf
这一步骤。[2] bootstrap checks failed [1]: max number of threads [3698] for user [elk] is too low, increase to at least [4096]
config
目录的elasticsearch.yml
文件,设置node.name
这一设置项,并且将设置项cluster.initial_master_nodes
设置为node.name
设置项的值。[1] bootstrap checks failed [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
进入安装目录的config
目录,修改其中的elasticsearch.yml
文件,绑定ip,将network.host
设置为0.0.0.0或者其他具体的ip。
另外一部分,则需要先做聚类、分类处理,将聚合出的分类结果存入ES集群的聚类索引中。数据处理层的聚合结果存入ES中的指定索引,同时将每个聚合主题相关的数据存入每个document下面的某个field下。