elasticseach节点配置与节点启动

在es节点启动时,构造nodeBuiler(节点建造者)对该节点进行配置,包括节点名,集群名等,通过build方法生成InternalNode对象,所有节点服务与对应模块在这里开启。


this.pluginsService = new PluginsService(tuple.v1(), tuple.v2());                                                                            //插件服务
        this.settings = pluginsService.updatedSettings();
        // create the environment based on the finalized (processed) view of the settings
        this.environment = new Environment(this.settings());


        CompressorFactory.configure(settings);


        NodeEnvironment nodeEnvironment = new NodeEnvironment(this.settings, this.environment);
/以下为添加模块部分//
        ModulesBuilder modules = new ModulesBuilder();
        modules.add(new Version.Module(version));
        modules.add(new CacheRecyclerModule(settings));
        modules.add(new PageCacheRecyclerModule(settings));
        modules.add(new BigArraysModule(settings));
        modules.add(new PluginsModule(settings, pluginsService));
        modules.add(new SettingsModule(settings));
        modules.add(new NodeModule(this));
        modules.add(new NetworkModule());
        modules.add(new ScriptModule(settings));
        modules.add(new EnvironmentModule(environment));
        modules.add(new NodeEnvironmentModule(nodeEnvironment));
        modules.add(new ClusterNameModule(settings));
        modules.add(new ThreadPoolModule(settings));
        modules.add(new DiscoveryModule(settings));
        modules.add(new ClusterModule(settings));
        modules.add(new RestModule(settings));
        modules.add(new TransportModule(settings));
        if (settings.getAsBoolean("http.enabled", true)) {
            modules.add(new HttpServerModule(settings));
        }
        modules.add(new RiversModule(settings));
        modules.add(new IndicesModule(settings));
        modules.add(new SearchModule());
        modules.add(new ActionModule(false));
        modules.add(new MonitorModule(settings));
        modules.add(new GatewayModule(settings));
        modules.add(new NodeClientModule());
        modules.add(new BulkUdpModule());
        modules.add(new ShapeModule());
        modules.add(new PercolatorModule());
        modules.add(new ResourceWatcherModule());
        modules.add(new RepositoriesModule());
        modules.add(new TribeModule());


        injector = modules.createInjector();


        client = injector.getInstance(Client.class);


在elasticsearch中可对大部分service与module进行自定义设计,可以编写自己的模块插件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值