Tag: elasticsearch

cadvisor,elasticsearch,docker:没有Elasticsearch节点可用

我试图连接cadvisor与docker的elasticsearch,我得到的错误: cadvisor.go:113] Failed to initialize storage driver: failed to create the elasticsearch client – no Elasticsearch node available 泊坞窗,compose.yml version: '2' services: elasticsearch: image: "elasticsearch:2.3.3" container_name: "elasticsearch" ports: – "9200:9200" kibana: image: "kibana:4.5.1" container_name: "kibana" ports: – "5601:5601" links: – elasticsearch cadvisor: image: "google/cadvisor:latest" container_name: "cadvisor" ports: – "8080:8080" volumes: – /:/rootfs:ro – /var/run:/var/run:rw – […]

你如何设置一个有多个主节点的Docker组成的弹性search集群?

我有docker撰写工作做一个具有1个主节点和2个数据节点的弹性search节点集群,但是我想知道如何扩展这个以添加更多的主节点,因为这个设置仍然存在单点故障如果主节点停机。 更具体地说,第二个主节点如何与正在使用它的主机和应用程序进行交互? 你必须绑定到第二个主节点的主机上的不同端口? 然后,应用程序必须通过一个负载平衡器来处理任何一个主要的noes掉下来的情况? elasticsearch_master: image: elasticsearch:latest command: "elasticsearch -Des.cluster.name=vi -Des.node.master=true -Des.node.data=false" ports: – "9200:9200" – "9300:9300" elasticsearch1: image: elasticsearch:latest command: "elasticsearch -Des.cluster.name=vi -Des.discovery.zen.ping.unicast.hosts=elasticsearch_master" links: – elasticsearch_master volumes: – "~/esdata:/usr/share/elasticsearch/data" elasticsearch2: image: elasticsearch:latest command: "elasticsearch -Des.cluster.name=vi -Des.discovery.zen.ping.unicast.hosts=elasticsearch_master" links: – elasticsearch_master volumes: – "~/esdata:/usr/share/elasticsearch/data"

Docker Swarm:如何在同一个卷上设置多个容器

我使用Docker 1.12.2 build bb80604并启用swarm 我有 一个拥有2个leader和3个slave节点的群集。 在slave和leader节点上的每个命名卷上。 运行在2台主服务器上的Elistacsearch 卷创build命令 docker volume create -d local-persist -o mountpoint = / data / docker / swarm / elasticsearch –name esvolume 现在,当我运行docker服务创build命令创buildElasticsearch的5个副本,3个节点启动(每个从属服务器上1),而其余2副本失败 docker service create –replicas 5 –name esdata \ –restart-max-attempts 5 –network myesnetwork \ -e CLUSTER_NAME=swarmescluster \ -e MASTER_NODES=esmaster \ –mount type=volume,src=esvolume,dst=/var/lib/elasticsearch \ –mount type=volume,src=esvolume,dst=/var/log/elasticsearch \ myimagename 失败的错误是 […]

Docker与ElasticSearch无根权限问题

我正试图通过docker-compose在Docker上运行ElasticSearch。 每当我尝试启动我的容器,我得到这个错误: Running as non-root… elasticsearch | 2017-01-06 00:08:23,861 main ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register") elasticsearch | at java.security.AccessControlContext.checkPermission(AccessControlContext.jav a:472) elasticsearch | at java.lang.SecurityManager.checkPermission(SecurityManager.java:585) elasticsearch | at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.checkMBeanTrustPermission(DefaultMBeanServerInterceptor.java:1848) elasticsearch | at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Default MBeanServerInterceptor.java:322) elasticsearch | at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) elasticsearch | at org.apache.logging.log4j.core.jmx.Server.register(Server.java:389) elasticsearch | at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:167) elasticsearch | at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:140) elasticsearch […]

如何用CLI标志configurationelasticsearch 5.0的发布地址?

我用elasticsearch 2.0启动标志来configurationpublish_addres。 我需要configuration发布地址,因为我想在Docker容器中启动elasticsearch并从外部访问它。 所以发布地址必须是docker主机的IP,这在我的情况下是192.168.99.100。 我想访问端口9201上的elasticsearch。 docker run -d -p 9201:9201 –name elasticsearch_test elasticsearch:5.2-alpine elasticsearch -Enetwork.publish_host="192.168.99.100" -Ehttp.port="9201" 这就像旧命令一样 docker run -d -p 9201:9201 –name elasticsearch_test elasticsearch:2.4.1 elasticsearch -Des.network.publish_host="192.168.99.100" -Des.http.port="9201" 但是,当我启动容器,并查看日志我没有得到发布地址192.168.99.100:9201,但192.168.99.100:9300和172.17.0.2:9201。 如何强制elasticsearch使用我的地址和端口的组合? 提前致谢 docker logs elasticsearch_test输出docker logs elasticsearch_test [2017-02-13T09:17:03,095][INFO ][oenNode ] [] initializing … [2017-02-13T09:17:03,252][INFO ][oeeNodeEnvironment ] [ntIFoHQ] using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/sda1)]], net usable_space […]

无法发送join请求到主?

我是一个更新的docker ,我想使用docker部署elasticsearch 。 我按照文档一步一步。我可以启动一个es实例成功,如docker run -p 9208:9200 -p 9300:9300 -v /data/es1/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.elastic.co/elasticsearch/elasticsearch:5.2.2 。 但是当我想要添加节点到一个存在的集群,并添加一个configuration文件discovery.zen.ping.unicast.hosts: ["xxx1:9300","xxx2:9300","xxx3:9300"] /data/es1/elasticsearch.yml ,但是会引发exception: failed to send join request to master [{es130-data}{FwWjvb52RzGRP2IRa15DeA}{owS9GmMXTAqn0kioUtGmtw}{xxx}{xxx:9301}{box_type=warm, master=false}], reason [RemoteTransportException[[es130-data][xxx:9301][internal:discovery/zen/join]]; nested: ConnectTransportException[[ddFr9ut][172.17.0.2:9300] connect_timeout[30s]]; nested: IOException[No route to host: 172.17.0.2/172.17.0.2:9300]; ] 这里是我所有的configuration: cluster.name: skynet cluster.routing.allocation.same_shard.host: true node.attr.box_type: warm node.attr.master: true node.data: true discovery.zen.ping.unicast.hosts: ["xxx1:9300","xxx2:9300","xxx3:9300"] network.host: [_site_,_local_]

正则expression式string似乎不能在ELK堆栈中工作

我是新来的ELK堆栈,并遇到一些问题,我觉得应该很简单。 我有如下所示的日志数据(从elasticsearch API中检索): { "_index": "filebeat-2017.06.02", "_type": "log", "_id": "AVxqBHFg2ZHUP62Y4ofK", "_version": 1, "found": true, "_source": { SNIPPING stuff I don't think is important here }, "host": "LYNCHC", "source": "C:\\PathToTheFile.log", "message": "\"INFO\",\"mc-1\",\"04\/26\/2017\",\"02:26:55\",\"\",\";Error invoking external process **SNIPPING for brevity**", "type": "log", "tags": [ "beats_input_codec_plain_applied" ] } } 和其他日志,看起来像这样: { "_index": "filebeat-2017.06.02", "_type": "log", "_id": "AVxqBHhd2ZHUP62Y4ofR", "_version": 1, […]

对于基于Docker容器的实现,在同一个容器中运行一对Kafka服务器和Zookeeper服务器是否有意义?

我试图实现一个由kafka服务器的三个节点组成的kafka集群和使用docker容器的zookeeper服务器的三个节点,以下哪一个是首选的?或者两者都不是,首选方法是什么? 三个docker集装箱每个托pipe一个卡夫卡/动物园pipe理员服务器对 六个docker集装箱,其中三个用于卡夫卡服务器,另外三个用于动物园pipe理员服务器 我这样问,因为在我看来,像三节点Zookeeper集群只能存在单节点故障,而三节点Kafka集群可能存在双节点故障(您可能必须将主题复制因子设置为3)。 那么在不同的容器中运行它们是否更好呢? 说起来,启动一个新的Docker容器的代价是多less? 如果我build议为每个容器运行一个服务器,是否更倾向于为每种服务器构build一个定制的Docker镜像(在这种情况下,一个用于kafka的另一个Docker镜像,另一个用于zookeeper),或者为所有不同的统一镜像服务器? 我猜测为kafka和zookeeper创build两个单独的图像是没有意义的,但是如果我拥有所有不同种类的集群和服务器,则认为elasticsearch要模拟? 在什么时候开始有意义地创build不同的docker图像以便在单个项目中使用?

坚持dynamicElasticsearch集群节点数据的策略

对不起,这可能是一个广泛的问题,但我没有find解决schemeforms这个问题呢。 我尝试通过使用Docker容器的Marathon在Mesos上运行Elasticsearch集群。 因此,我构build了一个可以在Marathon上启动的Docker镜像 ,并通过前端或APIdynamic扩展。 这对testing设置非常有用,但问题仍然是如何保持数据,以便如果集群缩小(我知道这也是关于索引configuration本身)或停止,并且希望稍后重新启动(或者按比例放大)与相同的数据。 问题是,马拉松决定运行节点的位置(在哪个Mesos Slave上),所以从我的angular度来看,如果所有的数据在重新启动的时候都可用于“新”节点, Docker主机通过Docker卷。 我唯一想到的是: 使用像HDFS或NFS这样的分布式文件系统,在Docker主机或Docker映像上装载已安装的卷。 但是,如果“旧”群集有8个节点,新群集只有4个,那么在新的群集启动过程中,如何加载所有数据就成了问题。 使用Elasticsearch的Snapshot API将其保存到networking中的某个公共驱动器。 我认为这将有性能惩罚… 有没有其他办法来解决这个问题? 有什么build议吗? 不幸的是,我没有find关于这种话题的好资源。 非常感谢。

无法连接到使用Java API在本地虚拟机上运行的ElasticSearch Docker群集

我使用Oracle VM将Unbuntu作为虚拟机运行。 在这个虚拟机中使用这个命令运行elasticsreach docker: sudo docker运行-d –name elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch 在Oracle VM机器networking设置中,我添加了这个端口转发: 主持嘉宾 127.0.0.1:9200 – > 127.0.0.1:9200 127.0.0.1:9300 – > 127.0.0.1:9300 当我尝试发送http请求使用铬到地址127.0.0.1:9200和127.0.0.1:9300我得到一个没有问题的答复。 当我尝试使用Java客户端API进行连接时,出现以下exception: [DEBUG] org.elasticsearch.client.transport – [Rattler]添加地址[[#transport#-1] [ran-pc] [inet [/127.0.0.1:9300]]] [DEBUG] org.elasticsearch.transport。 netty – [Rattler]连接到节点[[#transport#-1] [ran-pc] [inet [/127.0.0.1:9300]]] [DEBUG] org.elasticsearch.client.transport – [Rattler]无法连接发现节点[[Ringmaster]] [LB14-DlsS-2XIDwduUj5sA] [c367b60225b2] [inet [/172.17.0.2:9300]]] org.elasticsearch.transport.ConnectTransportException:[Ringmaster] [inet [/172.17.0.2:9300] ] org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:825)〜[elasticsearch-1.6.0.jar:na]的connect_timeout [30s] […]