为什么 elasticsearch 获取节点信息失败?

在 spring boot 项目中即成集成 elasticsearch(dao层数据与es交互使用的的是 spring-data-elasticsearch)首先安装了服务器端的 es 服务,和 head 插件,es 服务启动正常,node-1 为默认主节点,my-cluster 为集群名,如图:

图片说明

在程序中,使用嵌入式node启动节点正常,方式如下:

 Node node = NodeBuilder.nodeBuilder().node();
 node.start();

但是,如果使用 TransportClient 建立 es 的 Client,方式如下:

TransportClient client = new TransportClient(settings);
client.addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9300));

这是 ES 2.3 官网上面提供的 TransportClient 方式:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html

使用 TransportClient 方式,启动程序后,程序可以正常启动,但是控制台一直不停报错,貌似是在一直监测节点,而节点一直没有被发现,所以不停报错,错误信息如下,应用程序控制台错误信息:

2016-05-23 19:40:15.823  INFO 27655 --- [           main] org.elasticsearch.client.transport       : [Aliyah Bishop] failed to get node info for [#transport#-1][XXX-MBP.lan][inet[/127.0.0.1:9300]], disconnecting...

org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream
Caused by: org.elasticsearch.transport.TransportSerializationException: Failed to deserialize exception response from stream
    at org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:173)
    at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:125)
    at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:296)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
    at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
    at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)
    at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)
    at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
    at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
    at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
    at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.StreamCorruptedException: Unsupported version: 1
    at org.elasticsearch.common.io.ThrowableObjectInputStream.readStreamHeader(ThrowableObjectInputStream.java:46)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
    at org.elasticsearch.common.io.ThrowableObjectInputStream.<init>(ThrowableObjectInputStream.java:38)
    at org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:170)
    ... 23 common frames omitted

………….

failed to load elasticsearch nodes : org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: []

es 控制台报错信息:

[2016-05-23 21:45:56,807][WARN ][transport.netty          ] [node-1] exception caught on transport layer [[id: 0x8e4b89bc, /127.0.0.1:62566 => /127.0.0.1:9300]], closing connection
java.lang.IllegalStateException: Message not fully read (request) for requestId [233], action [cluster/nodes/info], readerIndex [39] vs expected [57]; resetting
    at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:121)
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
    at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
    at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
    at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:75)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
    at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
    at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
    at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

而且,当我使用嵌入式node启动节点后,系统会自动启动一个node节点,node.name 也是随机的,并且并没有将该节点加入启动的es集群中,我加入的索引和数据也不能出现在 my-cluster 集群中

所以有两个问题:
1、为什么我使用嵌入式node启动节点,启动后的节点不会加入到集群中?
2、使用 TransportClient 方式建立 Client,启动程序后,程序的控制台,和服务器端的es一直报错,获取节点信息失败,是什么原因?即上面的错误信息

下面是环境版本信息:
服务器端 es 版本:2.3.3
jdk 版本:1.7.0_79
spring-data-elasticsearch 版本:1.2.0.RELEASE(即:elasticsearch-1.4.4.jar)

服务器端 es 配置,elasticsearch.yml:
cluster.name: my-cluster
node.name: node-1

http 端口为:9200
节点间的通信端口为:9300

关于第二个问题尝试了很多解决方案,比如:
1、应用 和 es 的 jdk 环境版本不一致。已检查过一致
https://github.com/elastic/elasticsearch/issues/3835

2、es 多个节点之间的JDK版本不一致。我使用的只是单节点,并且都在我本地机器上
http://jontai.me/blog/2013/06/elasticsearch-remotetransportexception-failed-to-deserialize-exception-response-from-stream/

3、idk 版本过低,建议1.7+。已是1.7+

最后附上两种启动节点方式的完整代码
1、嵌入式 node 启动

import org.elasticsearch.client.Client;
import org.elasticsearch.node.Node;
import org.elasticsearch.node.NodeBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;

@Configuration
@EnableElasticsearchRepositories(basePackages = "xx.xxx.domain.repository.elastic")
public class ElasticsearchConfiguration {

    @Bean
    public Client client() {
        Node node = NodeBuilder.nodeBuilder().node();
        node.start();
        return node.client();
    }
}

2、TransportClient 方式

import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.ImmutableSettings;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;

@Configuration
@EnableElasticsearchRepositories(basePackages = "xx.xxx.domain.repository.elastic")
public class ElasticsearchConfiguration {

    @Bean
    public Client client() {

        TransportClient client = new TransportClient();
        client.addTransportAddress(new
                InetSocketTransportAddress("127.0.0.1", 9300));

        return client;
    }

    @Bean
    public ElasticsearchOperations elasticsearchTemplate() {
        return new ElasticsearchTemplate(client());
    }
}
0

2个回答

问题已经解决。最后确定原因为:ES-2.x 与 spring-boot 1.x.x 两者版本是不兼容的,将 ES 版本降为 1.7.3 后,节点能正常加入集群,并且服务启动后也正常工作。

请参考:http://frustrateddevelopers.com/2015/11/none-of-the-configured-nodes-are-available/

1

我用的spring boot 2.0.2,es版本5.6.9,x_pack版本5.6.9,启动报错,
failed to get node info for {#transport#-1}{dWtGlrvWRda5tNDziiQodg}{127.0.0.1}{127.0.0.1:9300}, disconnecting...

org.elasticsearch.transport.RemoteTransportException: [node-1][127.0.0.1:9300][cluster:monitor/nodes/liveness]
Caused by: org.elasticsearch.ElasticsearchSecurityException: missing authentication token for action [cluster:monitor/nodes/liveness]
作者写的我都验证过了,都不行,请教下作者怎么解决

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
elasticsearch 获取索引信息
use LWP::UserAgent; use Encode; use Data::Dumper; use JSON; use POSIX; sub check_es { my $SDATE = strftime("%Y.%m.%d",localtime()); my $ua = LWP::UserAgent->new; $ua->timeout(10); $ua->env_
获取节点信息
本课程使用Python3作为编程语言,主要内容包括Python爬虫的基本原理,编写简单的爬虫,使用爬虫从百度下载比基尼美女图片、beautiful soup的详细使用方法,如何使用beautiful soup分析html代码,基于队列的爬虫、数据存储、数据拆分、爬虫限速、网页跟踪等技术。本课程也是《Python爬虫实战》套餐的重要课程。rn任务作业:rn请在当当网上抓取《Python从菜鸟到高手》一书的相关信息,图书地址:http://product.dangdang.com/25333314.html 。需要通过Beautiful Soup分析图书页面的代码。并解析出图书排名、图书作者、图书评论数和图书的ISBN,然后将这些信息输出的Python控制台。rn(注意: 作业需写在CSDN博客中,请把作业链接贴在评论区,老师会定期逐个批改~~)
获取文件信息失败
bool mydlg::LoadImageBuffer(HDC memdc,char *szFileName)rnrnrn BITMAPFILEHEADER bitmapfileheader;rn BITMAPINFOHEADER bitmapinfoheader;rn BITMAPINFO bitmapinfo;rnrn int file_hand;rnrn OFSTRUCT file_data; rnrn file_hand = OpenFile(szFileName,&file_data,OF_READ);rnrnrn if (file_hand==-1)rn return 0;rnrnrn _lread(file_hand, &bitmapfileheader,sizeof(BITMAPFILEHEADER));rnrn // test if this is a bitmap filern if (bitmapfileheader.bfType != ((WORD) ('M' << 8) | 'B')) rn rn // close the filern _lclose(file_hand);rn // return errorrn return 0;rn // end ifrnrn // now we know this is a bitmap, so read in all the sectionsrnrn // first the bitmap infoheaderrnrn // now load the bitmap file headerrn _lread(file_hand, &bitmapinfoheader, sizeof(BITMAPINFOHEADER));rnrn if (bitmapinfoheader.biWidth%4 != 0) // 宽度不是4的倍数rn rn MessageBox("文件宽度不是4的倍数");rn _lclose(file_hand);rn return 0;rn rnrn if(g_pImgBuffer) // clear it if not nullrn delete[] g_pImgBuffer;rn g_pImgBuffer = new RGB[g_nMapHeight * g_nMapWidth]; // make spacern rn // now load the color palette if there is onern if (bitmapinfoheader.biBitCount != 24)rn rn // set bitmapinforn bitmapinfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);rn bitmapinfo.bmiHeader.biWidth = g_nMapWidth;rn bitmapinfo.bmiHeader.biHeight = g_nMapHeight;rn bitmapinfo.bmiHeader.biPlanes = 1;rn bitmapinfo.bmiHeader.biBitCount = 24;rn bitmapinfo.bmiHeader.biCompression = BI_RGB;rn GetDIBits(memdc, g_hBitmap, 0, g_nMapHeight, NULL,rn &bitmapinfo, DIB_RGB_COLORS);rn GetDIBits(memdc, g_hBitmap, 0, g_nMapHeight, g_pImgBuffer,rn &bitmapinfo, DIB_RGB_COLORS);rn rn elsern rn _llseek(file_hand, bitmapfileheader.bfOffBits,FILE_BEGIN);rn _lread(file_hand, g_pImgBuffer, 3*g_nMapHeight*g_nMapWidth);rn rnrnrnrnrn // close the filern _lclose(file_hand);rnrn // return successrn return 1;rnrnrn图片已经加载,即szFileName获取正确,可是调试发现bitmapfileheader总是错误的,求教错误原因
获取进程信息失败
void CGameModifyDlg::OnBnClickedButtonSearchprocess()rnrn // TODO: 在此添加控件通知处理程序代码rn PROCESSENTRY32 m_PSvaule;rn m_PSvaule.dwSize=sizeof(PROCESSENTRY32);rn TCHAR FilePath[MAX_PATH];rn HANDLE OpenProcessHandle;rn CString sVaule;rn int i=0;rn m_process=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);rn do rn rn if (TRUE==::Process32First(m_process,&m_PSvaule))rn rn //进程名称rn sVaule=m_PSvaule.szExeFile;rn m_ClistCtrl_Process.InsertItem(i,sVaule,1);rn //进程IDrn sVaule.Format(_T("%d"),m_PSvaule.th32ProcessID );rn m_ClistCtrl_Process.SetItemText(i,2,sVaule);rn //进程路径rn OpenProcessHandle=OpenProcess(PROCESS_VM_READ|PROCESS_SET_INFORMATION,FALSE,m_PSvaule.th32ProcessID);rn if (OpenProcessHandle!=NULL)rn rn GetModuleFileNameEx(OpenProcessHandle,NULL,FilePath,sizeof(FilePath));rn m_ClistCtrl_Process.SetItemText(i,1,FilePath);rn rn elsern rn continue;rn rnrn rn elsern rn MessageBox(_T("进程打开失败"));rn rn i++;rnrnrn while (TRUE==Process32Next(m_process,&m_PSvaule));rn
获取权限信息失败
读的是sdk 提供的ApiDemos程序。但结果却是输出“PERMISSION IS NULL”。rn请问这是怎么回事呢?谢谢...rnrnrn[code=Java] public void showPkgPermission_Zengyang(Context context) rn String customPkg = "com.example.android.apis";rn PackageManager pkgMag = context.getPackageManager();rn try rn PackageInfo pkgInfo = pkgMag.getPackageInfo(customPkg, PackageManager.GET_PERMISSIONS);rn if (pkgInfo.permissions != null) rn for (PermissionInfo perInfo : pkgInfo.permissions) rn Log.d("ANDROID_INFO", perInfo.name);rn rn else rn Log.d("ANDROID_INFO", "PERMISSION IS NULL");rn rn catch (NameNotFoundException e) rn e.printStackTrace();rn rn [/code]
如何获取一个节点的信息
有一个节点如下:rnrn现在已经得到了当前节点,怎样获得MaxLen和Desc?急
如何获取treeview的节点信息
假设我在winform里拖了个treeviewrn格式如下rnRoot1rn root1-1rn root1-1-1rn root1-1-2rn root1-2rnRoot2rn root2-1rn root2-2rnRoot3rn root3-1rn我该如何获取用户选择的节点的ID啊rn我用treeview.selectednode.index好像是能获得子节点的ID,比如root1-1-1的ID,rn那我该如何获取root1-2, root2-1,Root1,Root2,Root3之类的ID啊rn这样才能判断用户选择的到底是哪个节点
怎样获取特定的节点信息
在jtree生成的树中有个节点为“我的好友”rnrn我在程序中怎么获取到这个这个节点,然后把其他用户统统加到“我的好友”节点下面哦?
如何获取treeview的节点信息??
假设treeview已经建好,如下:rnROOTrn ROOT1rn ROOT1-1rn ROOT2rn ROOT2-1rn ROOT2-2rn ROOT2-3rn ROOT3rn ROOT3-1rnrn问题:我点击了root2-1,我如何得到root2-1,以及root2(root2-1的父节点)的信息??rn 因为只有同时取得这两个信息我才能确定是去哪张表里面寻找数据rnrnrn
activiti获取下一个节点信息
      在实际的工作流业务开发中, 当用户完成当前用户任务时, 需要指定下一个用户任务的审核人。此时我们需要获取下一个节点的一些信息, 来确定下一个用户任务的审核人有哪些。              在实际工作流程中, 当前用户任务后的节点可能为用户任务, 也可能为网关。如果下一个节点为网关我们需要判断流程线路。          /** * 获取下一个用户任务用户组信息 ...
activiti&flowable获取下一个节点信息
直接贴代码,不懂可说明: /** * 获取下一个节点的信息测试 */ @Test public void testNextTasks() { //流程实例id String processInstanceId = "5b945750-81db-11e9-a576-1a73f8e23adc"; //当前任务信息 Task task = taskServic...
七 获取流程节点信息
@ApiOperation(value = &amp;quot;获取申请、报销联合节点&amp;quot;) @GetMapping(path = &amp;quot;/def/nodes/union&amp;quot;) public Response auditNodeList(@RequestParam String creator, @RequestParam String agyCode, @RequestParam Integer fisc...
activiti获取下一个节点信息
在实际的工作流业务开发中, 当用户完成当前用户任务时, 需要指定下一个用户任务的审核人。此时我们需要获取下一个节点的一些信息, 来确定下一个用户任务的审核人有哪些。 在实际工作流程中, 当前用户任务后的节点可能为用户任务, 也可能为网关。如果下一个节点为网关我们需要判断流程线路。 [code=&quot;java&quot;]/** * 获取下一个用户任务用户组信息 ...
获取发送失败邮件的信息
现在遇到一个难解决的问题,我想获取发送失败邮件的信息,一般情况下邮件发送出去以后我只能确认我的邮件通过邮件程序发送出去成功,但是现在如果我写了一个不存在的邮件地址我本地获得的是发送成功,但是我还想知道这个邮件是发送失败状态也就是这个邮件地址不存在,我应该如何获得错误信息呢!请高手指点一下这个问题应该怎么解决!!
获取窗口坐标信息失败
程序的功能是 安装全局钩子 当键盘按下F1键时获取当前鼠标位置信息,全局钩子代码写在Dll中,rn程序出现的问题:只有在Windows窗口或者当前程序是前景窗口的时候能获取鼠标位置信息,rn如果当前窗口是别的应用程序获取位置信息,调用 GetCursorPos())的时候返回值都是0,也就是失败了,该怎么解决?rnrn钩子和回调函数的代码rn[code=c]rnLRESULT CALLBACK KeyboardProc(rn _In_ int code,rn _In_ WPARAM wParam,rn _In_ LPARAM lParamrn )rnrnrn //HWND currentW = GetForegroundWindow();rnrn //HWND c = GetForegroundWindow();rn#pragma region F1-F4按键处理rn if (VK_F1 == wParam)//如果两个判断都放在一起 那么VK_F2按键弹起的时候还是会调用CallNextHookExrn rn //MessageBox(dllHWND, TEXT("哈哈"), TEXT("测试"), 0);rn if ((lParam >> 31 & 1))rn rn KeyType = 1;rn //Condition = ClientToScreen(currentW, &(mouseP->F1));rn Condition = GetCursorPos(&(mouseP->F1));[color=#FF0000]在这里如果当前窗口是别的应用程序获取位置信息的返回值总是0,是什么原因呢?[/color]rn ::SendMessage(dllHWND, WM_MYMSG, WPARAM(KeyType), LPARAM(Condition));rn rn return 1;rn rn rn#pragma endregionrnrn return CallNextHookEx(G_keyboard, code, wParam, lParam);rnrnrnrnvoid HookProc(HWND winhandle, PointStruct* MousePoint)rnrn dllHWND = winhandle; mouseP = MousePoint;rn G_keyboard = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, GetModuleHandle(TEXT("HookProcDll")), 0);rn[/code]
jquery获取页面信息失败?
用jquery获取远程页面信息。rn以下是范例代码:rn[code=JScript]rn $.ajax(rn type: "GET",rn url: "http://www.baidu.com",rn dataType:"html",rn beforeSend: function(XMLHttpRequest)rn $("#area").html("sending request...");rn ,rn success: function(data, textStatus)rn $("#ajax").html(data);rn ,rn complete: function(XMLHttpRequest, textStatus)rn $("#area").html("complete request...");rn ,rn error: function()rn $("#area").html("error occurs...");rn rn );rn[/code]rn[code=HTML]rn rn rn[/code]rn在运行时什么也不显示,那就是说请求失败了,请问这是为什么啊?rn如果这样的写法是错误的,请问正确的写法是什么啊?(例如我想获取"www.baidu.com"的title)rn感谢!
elasticsearch 指定节点存放
修改 elasticsearch.yml node.attr.box_type: &quot;type&quot; # type为该node类型 自定义 通过Kibana 配置index属性 # test-*索引命名的, 都将其数据放到 type 节点上 PUT _template/test { &quot;index_patterns&quot;: &quot;test-*&quot;, &quot;settings&quot;: { ...
ElasticSearch 单个节点监控
首发地址:http://www.54tianzhisheng.cn/2017/10/18/ElasticSearch-nodes-metrics/,转载请注明地址!集群健康监控是对集群信息进行高度的概括,节点统计值 API 提供了集群中每个节点的统计值。节点统计值很多,在监控的时候仍需要我们清楚哪些指标是最值得关注的。集群健康监控可以参考这篇文章:ElasticSearch 集群监控 节点信息
elasticsearch节点数据迁移
最近笔者的es集群有一个节点的机器有硬件问题,准备置换新机器,所以想把这台机器上的所有es数据都迁移到别的节点上面(一台机器5T左右的数据,生产网段不考虑物理迁移)。 下面讲一下迁移的步骤及方法: 首先我的集群的所有index是没有副本的,所以靠副本来做,是不行的,只能通过es官网提供的https://www.elastic.co/guide/en/elasticsearch/referenc...
Elasticsearch 6.6 官方文档 之「节点」
每次启动 Elasticsearch 实例时,都会启动一个节点。连接节点的集合称之为「集群」。如果你运行的是单个 Elasticsearch 节点,那么你也就拥有一个由一个节点组成的集群。
Elasticsearch节点磁盘空间耗尽
最近遇到了一个特殊的情况,我们所使用的一个Elasticsearch集群的数据节点磁盘空间耗尽,啥事会发生呢? 当然你的RED。下面是相关的日志信息,其中ES-Data_11是当时的Master节点,ES-Data_12是出现的磁盘耗尽的数据节点,出事儿的index名字为raw_v3.2017_03_22。 [2017-03-22 11:57:30,503][WARN ][index
elasticsearch集群各个节点
文章目录相关参数配置介绍:不同节点1、master节点(Master-eligible node):2、data节点(Data node):3、proxy节点:4、预处理节点(Ingest Node)5、tribe节点(Tribe node): 相关参数配置介绍: 单播:discovery.zen.ping.unicast.hosts 设置:discovery.zen.ping.unicast.h...
Elasticsearch三节点安装
elasticsearch 安装
elasticsearch之模块【节点】
环境虚拟机:centos7 操作系统:win7 elasticsearch:5.4.3node任何时候 你要启动一个elasticsearch实例,你得先启动一个节点。 连接节点的集合叫做集群。如果你运行一个节点,那么你将拥有一个单节点集群。集群中的每个节点都可以在默认的情况下处理HTTP和传输流量。 传输层是专门为Java 传输客户端(TransportClient)和节点进行通信的。
备份失败信息( VNI-2015 : 目标节点的节点首选身份证明无效 )
xp系统,oracle 9i数据库,使用企业管理器进行备份,备份之后,在作业(历史记录)中查看到如下失败信息:rnrnVNI-2015 : 目标节点的节点首选身份证明无效rn或具有的权限不足以完成该操作。rn在 Windows 平台上, 为 Windows 目标指定的节点身份证明rn应具有 "登录为批处理作业" 的权限。rnrn我已经这样配置:rnrn 1.以SYSMAN登陆OEMC rn 2.配置-》首选项-》首选身份证明,设置节点和数据库的身份证明为sysman和sys rn 3.打开计算机管理-》新建一用户sysman和SYS,密码与ORACLE一样,让它隶属于Administrator,ORA_DBA 和backup operatorsrn 4.管理工具-》本地安全策略-》本地策略-》用户权利指派-》在作为批处理指派登陆里加上sysman和SYS rnrn结果还是一样的失败信息.rn
centos7 elasticsearch开机自启动失败
我是通过自定义服务调用脚本来启es,执行systemctl start后,通过日志发现调完start后马上又调了stop,查看status还是 Active: inactive (dead)。rn找了一下午没找到 求大神赐教啊~~~[img=https://img-bbs.csdn.net/upload/201606/14/1465916719_324442.jpg][/img][img=https://img-bbs.csdn.net/upload/201606/14/1465916736_529225.jpg][/img]
VB获取注册表SysTreeView32节点文字失败
我是win7 64位系统,代码如下,获取注册表节点文字不成功,求指教改正?!rn[code=vb]rnPrivate Sub Command6_Click()rn Dim Wnd As Longrn Wnd = FindWindow("RegEdit_RegEdit", vbNullString)rn Wnd = FindWindowEx(Wnd, 0, "SysTreeView32", vbNullString)rnrn hItem = SendMessage(Wnd, TVM_GETNEXTITEM, TVGN_ROOT, ByVal 0&) '获取根节点rn hItem = SendMessage(Wnd, TVM_GETNEXTITEM, TVGN_CHILD, ByVal hItem) '获取第一节点rn rn Dim mhProcess As Long, dwProcessId As Longrn Dim mlpTreeItemRemote As Long, mlpTextRemote As Longrn Dim mszBuf() As Bytern Dim mnMaxLen As Longrn Dim dwBytesRead As Long, dwBytesWrite As Longrn Dim bSuccess As Longrn Dim lvItemLocal As TVITEMrn Dim bWriteOK As Longrn mnMaxLen = 1023rn rn Call GetWindowThreadProcessId(Wnd, dwProcessId)rn mhProcess = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, 0&, dwProcessId)rn If mhProcess <> 0 Thenrn 'allocate memoryrn mlpTextRemote = VirtualAllocEx(ByVal mhProcess, ByVal 0&, mnMaxLen + 1, MEM_COMMIT, PAGE_READWRITE)rn mlpTreeItemRemote = VirtualAllocEx(ByVal mhProcess, ByVal 0&, Len(lvItemLocal), MEM_COMMIT, PAGE_READWRITE)rnrn ReDim mszBuf(mnMaxLen)rn bWriteOK = WriteProcessMemory(ByVal mhProcess, ByVal mlpTextRemote, mszBuf(0), mnMaxLen + 1, dwBytesWrite)rn rn If bWriteOK = False Then Exit Subrn 'write structurern dwBytesWrite = 0rn lvItemLocal.hItem = hItemrn lvItemLocal.mask = TVIF_TEXT + TVIF_HANDLErn lvItemLocal.cchTextMax = mnMaxLenrn lvItemLocal.pszText = mlpTextRemotern bWriteOK = WriteProcessMemory(ByVal mhProcess, ByVal mlpTreeItemRemote, ByVal VarPtr(lvItemLocal), Len(lvItemLocal), dwBytesWrite)rn rn 'get itemrn i = SendMessage(Wnd, TVM_GETITEM, 0&, ByVal mlpTreeItemRemote)rn rn 'read resultrn bSuccess = ReadProcessMemory(ByVal mhProcess, ByVal mlpTextRemote, mszBuf(0), mnMaxLen + 1, dwBytesRead)rn MsgBox "节点文字为:" & StrConv(LeftB(mszBuf, InStrB(mszBuf, ChrB(0)) - 1), vbUnicode)rn rn rn 'dellocate memoryrn Call VirtualFreeEx(mhProcess, ByVal mlpTreeItemRemote, 0, MEM_DECOMMIT)rn Call VirtualFreeEx(mhProcess, ByVal mlpTextRemote, 0, MEM_DECOMMIT)rn End Ifrn CloseHandle mhProcessrnEnd Subrn[/code]
为什么获取SQL服务器时间失败?
某MIS系统中有如下代码获取SQL服务器时间:rn select getdate() into ......rnrngetdate()函数在SQL SERVER的analyzer中运行正常,但是以上代码的返回值却是:rn1900年1月1日,而且sqlca报错。我猜测是事务sqlca设置有问题,有哪位网友能指点一下,排除错误。rn
为什么获取地址总是失败?
#include rn#include rnrn#pragma comment(lib,"ws2_32.lib") rnrnint main()rnrn char srcIP[]="";rn char hostname[128]="";rn struct hostent *phe;rnrn gethostname(hostname,128);//获取本机主机名 rn phe =gethostbyname(hostname);//获取本机ip地址结构 rnrn if(phe == NULL) rn rn printf("Get LocalIP Error...\n"); rn return 0;rn rn rn strcpy(srcIP, inet_ntoa(*((struct in_addr *)phe->h_addr_list[0])));//得到本机ip地址rn printf("%s",srcIP);rnrn return 0;rn
为什么获取文件大小会失败??????
CInternetFile * pFtpFile;rn.....rnpFtpFile.GetLength()老是第一次(新文件)报告的错误,很多次都是 8192,这是怎么回事呀?rn
为什么 windows mobile 6.0 SDK 获取IMEI 等信息失败?
在..\Windows Mobile 6 SDK\Samples\Common\CPP\Win32\CellCore\ExTAPI工程中调用lineGetGeneralInfo 获取信息总是失败,返回LINEERR_OPERATIONFAILED,网上查了下说没有权限,通过修改注册表后,释放权限后仍然不行。这个不知道怎么解决,望高手赐教。
requests 抓取网页信息 为什么获取不到信息?
利用花瓣网练习获取网页信息,此步骤想获取每个图片的urlrnrn网页代码:rn![图片说明](https://img-ask.csdn.net/upload/201810/25/1540453448_856699.png)rnrn我的代码:rn![图片说明](https://img-ask.csdn.net/upload/201810/25/1540453583_562332.png)rnrn但是输出为空:rn![图片说明](https://img-ask.csdn.net/upload/201810/25/1540453635_473534.png)rnrn请问一下哪里出错了,为什么获取不到信息,我用.wrapper也不行。rn顺便问一下,data-id 应该怎么获取?rn谢谢
用APDL获取节点的全局坐标信息
用APDL语言提取ANSYS有限元模型中的节点全局坐标信息,写入文本文件,可供其它语言使用
C# 如何获取配置文件里的节点信息
项目过程中,有时候一些配置信息需要通过配置文件获取,比如web.config之类的文件。 方法如下: string configPath = "D:/MyProject/trunk/IntOA.Operate.Service/Web.config"; ExeConfigurationFileMap map = new ExeConfigurationFileMap(); map.ExeConf
请问在treeview获取选中节点信息的问题???
我现在是用了frame框架,左边放一个人员列表treeview,我如果选中了一个treeenode就传值到右边一个listbox,那样的话每选一次就要刷新,这个肯定老板不要的。。。rn能不能把treeview搞成想很多c/s结构那样前面有个checkbox,先选中要所有的要选的,在在鼠标离开左边页面(left.aspx)时候,遍历treeview把所有选定的节点存入一个数组(user)里面传值呢?这样就只用传一次,选中的对象也比较清楚。。。可以在提交右边页面的时候获取数组(user)就行了..但是我不知道怎样才能在treeview每个节点前加一个checkbox,还有如果捕捉鼠标离开左边(left.aspx)页面。。rn还有一个简单的方法不知道怎么实现,就是在同一张页面中左边我只放一个treeview,右边放其他的,用table就没办法了有行的限制。。不知道有没有其他的可以这样,如果能放到同一张页面中,就方便多了。。。。rn各位帮帮忙,分不够在加~~~~~~~
小程序选择器获取节点信息
小程序小程序选择器获取节点信息wx.createSelectorQuery 小程序选择器获取节点信息wx.createSelectorQuery // An highlighted block var query = wx.createSelectorQuery(); //选择id query.select('#drawID').boundingClientRect() q...
activiti 配置节点 连线信息获取
1.1.1. 前言 当使用eclipse插件进行流程设计的时候,部署流程之后,我们如何获取我们定义的所有的节点、连线、关口等配置信息呢?有的人看到这个需求,不免窃喜,这不很简单嘛,重新打来bmpn中定义的xml信息,查看不就完了,确实这种方式是可取的,但是当我们的项目流程在启动的时候,我们想要获取定义的信息的时候,换言之就是 我们能动态的读取里面的信息反馈给系统用户的时候,我们该如何获取呢?总不
节点信息
120.55.62.104|12899|ss1.aliyun.yld.com|fba79Fq8a@7dTeT$xSE1479F9xVERVe1 106.14.194.204|23568|ss2.aliyun.yld.com|bF@cv2dS68#Zt1$bDd971$aD93qVc35D 47.94.218.149|32682|ss3.aliyun.yld.com|TQE86vgVDsdzzZ3b
dom4j 获取xml中指定节点的信息
import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; public static void main(String[] args) { String xmlString=&quot;&amp;lt;?xml v...
关于获取点击treeview的节点信息的问题
我在default.aspx中有一个treeview1,点击treeview1的节点时,会导航到该节点对应的页面,但是我获取不到这个节点的信息,比如我在SQL2005中的数据库是这样的rnrn在booktree表中rnid pid name urlrn 1 0 图书 rn 2 1 小说 ../book.aspxrn 3 .. .. ..rnrntreeview1的点击代码如下rn protected void treeview1_SelectedNodeChanged(object sender, EventArgs e)rn rn string strSelect = treeview1.SelectedNode.Value.ToString();rn Session["selected"] = strSelect.ToString(); rn rnrn当我点击treeview的节点"小说"时就自动导航到book.aspx,但是获取不到该节点的值,也就是说上面的事件并没有发生,为了验证这个说法,我在另外一个页面test.aspx中添加了获取Session["selected"]的代码,运行程序之后,我先点击了父节点"图书",然后手动转到test.aspx,是可以获取到Session["selected"]的。rnrn我创建treeview的代码如下:rn public void AddTree(int ParentID, TreeNode pNode)rn rn DataSet ds = (DataSet)this.ViewState["ds"];rn DataView dvTree = new DataView(ds.Tables[0]);rnrn //过滤ParentID,得到当前的所有子节点 rn treeview1.RowFilter = "pid = " + ParentID;rnrn foreach (DataRowView Row in dvTree)rn rn TreeNode Node = new TreeNode();rn if (pNode == null)rn //添加根节点 rn Node.Text = Row["name"].ToString();rn [color=#FF0000]Node.NavigateUrl = Row["url"].ToString();[/color]rn treeview1.Nodes.Add(Node);rn Node.Expanded = true; //获取或设置一个值,该值指示是否展开节点。rn AddTree(Int32.Parse(Row["id"].ToString()), Node); //再次递归 rn rn elsern //添加当前节点的子节点 rn Node.Text = Row["name"].ToString();rn [color=#FF0000]Node.NavigateUrl = Row["url"].ToString();[/color]rn pNode.ChildNodes.Add(Node);rn Node.Expanded = true; //获取或设置一个值,该值指示是否展开节点。rn AddTree(Int32.Parse(Row["id"].ToString()), Node); //再次递归 rn rn rn rnrn请问我应该怎么做才能在自动导航到的页面中获取Session["selected"]的值?