大数据学习[07]:elasticsearch5.6.1集群与问题
来源:互联网 发布:物联网域名交易平台 编辑:程序博客网 时间:2024/06/05 02:21
摘要:elasticsearch5.6.1集群与问题总结
前置
接着上一篇:大数据学习[06]:elasticsearch5.6.1初探
前面只是感性地看了一眼elasticsearch,还未知道方向,今天学习了一下集群的内容,并把一些数据加入其中,进行了搜索。
配置
# ---------------------------------- Cluster -----------------------------------## Use a descriptive name for your cluster:# 集群名cluster.name: es-app## ------------------------------------ Node ------------------------------------## Use a descriptive name for the node:# 节点名node.name: node-40# ----------------------------------- Memory -----------------------------------## Lock the memory on startup:# 内存/这个跟系统有关的,如果系统底会出现版本太底的错误bootstrap.memory_lock: falsebootstrap.system_call_filter: false# ---------------------------------- Network -----------------------------------## Set the bind address to a specific IP (IPv4 or IPv6):# 绑定地址network.host: 主机IP## Set a custom port for HTTP:# http端口,外部通这个来请求数据;tcp:端口; 当在一台主机上配置多个节点时,这个一定要配置的。http.port: 9200transport.tcp.port: 9300# --------------------------------- Discovery ----------------------------------## Pass an initial list of hosts to perform discovery when new node is started:# The default list of hosts is ["127.0.0.1", "[::1]"]# 这个节点的IP:port;默认的是这个端口,在一台机器配置多节点一定要加上portdiscovery.zen.ping.unicast.hosts: ["192.168.7.38:9300", "192.168.7.39:9300","192.168.7.40:9300"]## Prevent the "split brain" by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):# 防止脑裂discovery.zen.minimum_master_nodes: 1
配置好之后,向其它节点复制过去就可以了,然后在各个节点把node.name与IP修改就可以了。
启动
每个节点都要手动去开启:启动顺序node-38>node-39>node-40; 每增加一台,前面启动的就会显示增加一台主机的信息:
[2017-09-22T09:56:26,479][INFO ][o.e.c.s.ClusterService ] [node-38] added {{node-39}{x0yI1A95Rem8YPN-W78OQA}{dz54jd_tT3GZ_9briOFjHA}{192.168.137.38}{192.168.137.39:9300}{ml.max_open_jobs=10, ml.enabled=true},}, reason: zen-disco-node-join[{node-39}{x0yI1A95Rem8YPN-W78OQA}{dz54jd_tT3GZ_9briOFjHA}{192.168.137.38}{192.168.137.39:9300}{ml.max_open_jobs=10, ml.enabled=true}]
启动问题
问题1
ERROR: [4] bootstrap checks failed[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决在linux系统:vim /etc/security/limits.conf
编辑该文件,后面加上[最前面的hadoop是用户名]:
hadoop soft nofile 65536hadoop hard nofile 65536
问题2
[2]: max number of threads [1024] for user [hadoop] is too low, increase to at least [2048]
vim /etc/security/limits.d/90-nproc.conf * soft nproc 2048root soft nproc unlimited
问题3
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法:
修改sysctl文件:vi /etc/sysctl.conf ,增加下面配置项:
增加改行配置:vm.max_map_count=655360
保存退出后,执行:
sysctl -p
问题4
[4]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
原因:这是在因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。解决:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:bootstrap.memory_lock: falsebootstrap.system_call_filter: false
这个设置好,连系统版提示也好了。
问题5
[5] IK加载卡死
有时候会卡死在这里:
[2017-09-22T09:55:19,443][INFO ][o.w.a.d.Monitor ] try load config from /home/hadoop/elasticsearch-5.6.1/config/analysis-ik/IKAnalyzer.cfg.xml
这个重启一下就好。
问题6
[6]JDK问题,要求1.8以上
机器可能会抛出JDK版本不够的异常,在[${elasticsearch_home}/bin/elasticsearch]增加:
export JAVA_HOME={dk1.8.0_101[HOME]}export PATH=$JAVA_HOME/bin:$PATHif [ -x "$JAVA_HOME/bin/java" ]; then JAVA="/opt/jdk1.8.0_101/bin/java"else JAVA=`which java`fi
问题7
要创建一个非root用户,root用户不行。
问题8
IP与端口问题
配置文件里面写的端口与IP是什么样,访问的时间就用什么样来访问。host配置的好像对这个不喜作用,调用curl时就很显示出现这个问题。例如,配置了主机192.168.137.3:9200在本机用localhost:9200访问是有问题的。
问题9
python API有密码与用户的错误:
这个是因为X-PACK的安全模块引起的。
elasticsearch.exceptions.AuthenticationException: TransportError(401, 'security_exception', 'missing authentication token for REST request [/index]')
解决:
user:secret@ip:port 这样来请求就可以了。
python 操作Elasticsearch 的详情:
http://elasticsearch-py.readthedocs.io/en/master/api.html
演示
来一批量文本,1.5万笔记录,took:36ms;还是挺快的
【作者:happyprince,http://blog.csdn.net/ld326/article/details/78066952】
- 大数据学习[07]:elasticsearch5.6.1集群与问题
- 大数据学习[06]:elasticsearch5.6.1初探
- 大数据学习[11]:JAVA连接elasticsearch5.6.1操作|问题|分析
- 大数据学习--问题集锦(hadoop篇)--集群搭建
- elasticsearch5.0集群大数据量迁移方法及注意事项
- 机器学习与大数据面试问题与答题思路
- 大数据学习[09]:presto0.184集群|多数据源|问题
- spark2.x写入数据到ElasticSearch5.X集群
- Elasticsearch5.0学习与理解翻译(一)
- Elasticsearch5.6.1导入数据并通过Kibana5.6.1展示和查询数据案例学习(上篇)
- ElasticSearch5.1.1集群部署
- elasticsearch5.3linux集群
- elasticsearch5.2 集群
- Elasticsearch5.2.2集群搭建
- elasticsearch5.2集群部署
- elasticsearch5.5.2 配置 集群
- elasticsearch5.4集群超时
- ElasticSearch5.4集群搭建
- Math.random() 随机数
- faster RCNN详解
- 解决oracle数据库删除sql语句出现^H字样
- Mac环境下,搭建基于Eclipse的J2EE开发环境
- 学习Java最好的电子书(PDF)
- 大数据学习[07]:elasticsearch5.6.1集群与问题
- 1015. 德才论 (25)
- 【c++】vector的用法详解
- python感知机实现
- QString类的详细用法
- PHP代码优化的53个细节
- 维度建模的10大基本原则
- 1. Two Sum。
- Java面试笔试指南(七)---海量数据处理