当前位置: 首页>>代码示例>>Java>>正文


Java ZkCoreNodeProps.getBaseUrl方法代码示例

本文整理汇总了Java中org.apache.solr.common.cloud.ZkCoreNodeProps.getBaseUrl方法的典型用法代码示例。如果您正苦于以下问题:Java ZkCoreNodeProps.getBaseUrl方法的具体用法?Java ZkCoreNodeProps.getBaseUrl怎么用?Java ZkCoreNodeProps.getBaseUrl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.solr.common.cloud.ZkCoreNodeProps的用法示例。


在下文中一共展示了ZkCoreNodeProps.getBaseUrl方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleSyncShardAction

import org.apache.solr.common.cloud.ZkCoreNodeProps; //导入方法依赖的package包/类
private void handleSyncShardAction(SolrQueryRequest req, SolrQueryResponse rsp) throws KeeperException, InterruptedException, SolrServerException, IOException {
  log.info("Syncing shard : " + req.getParamString());
  String collection = req.getParams().required().get("collection");
  String shard = req.getParams().required().get("shard");
  
  ClusterState clusterState = coreContainer.getZkController().getClusterState();
  
  ZkNodeProps leaderProps = clusterState.getLeader(collection, shard);
  ZkCoreNodeProps nodeProps = new ZkCoreNodeProps(leaderProps);
  
  HttpSolrServer server = new HttpSolrServer(nodeProps.getBaseUrl());
  server.setConnectionTimeout(15000);
  server.setSoTimeout(30000);
  RequestSyncShard reqSyncShard = new CoreAdminRequest.RequestSyncShard();
  reqSyncShard.setCollection(collection);
  reqSyncShard.setShard(shard);
  reqSyncShard.setCoreName(nodeProps.getCoreName());
  server.request(reqSyncShard);
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:20,代码来源:CollectionsHandler.java

示例2: handleSyncShardAction

import org.apache.solr.common.cloud.ZkCoreNodeProps; //导入方法依赖的package包/类
private void handleSyncShardAction(SolrQueryRequest req, SolrQueryResponse rsp) throws KeeperException, InterruptedException, SolrServerException, IOException {
  log.info("Syncing shard : " + req.getParamString());
  String collection = req.getParams().required().get("collection");
  String shard = req.getParams().required().get("shard");
  
  ClusterState clusterState = coreContainer.getZkController().getClusterState();
  
  ZkNodeProps leaderProps = clusterState.getLeader(collection, shard);
  ZkCoreNodeProps nodeProps = new ZkCoreNodeProps(leaderProps);
  
  HttpSolrServer server = new HttpSolrServer(nodeProps.getBaseUrl());
  try {
    server.setConnectionTimeout(15000);
    server.setSoTimeout(60000);
    RequestSyncShard reqSyncShard = new CoreAdminRequest.RequestSyncShard();
    reqSyncShard.setCollection(collection);
    reqSyncShard.setShard(shard);
    reqSyncShard.setCoreName(nodeProps.getCoreName());
    server.request(reqSyncShard);
  } finally {
    server.shutdown();
  }
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:24,代码来源:CollectionsHandler.java

示例3: getCoreUrl

import org.apache.solr.common.cloud.ZkCoreNodeProps; //导入方法依赖的package包/类
private String getCoreUrl(CoreContainer cores, String collectionName,
    String origCorename, ClusterState clusterState, Collection<Slice> slices,
    boolean byCoreName, boolean activeReplicas) {
  String coreUrl;
  Set<String> liveNodes = clusterState.getLiveNodes();
  Iterator<Slice> it = slices.iterator();
  while (it.hasNext()) {
    Slice slice = it.next();
    Map<String,Replica> sliceShards = slice.getReplicasMap();
    for (ZkNodeProps nodeProps : sliceShards.values()) {
      ZkCoreNodeProps coreNodeProps = new ZkCoreNodeProps(nodeProps);
      if (!activeReplicas || (liveNodes.contains(coreNodeProps.getNodeName())
          && coreNodeProps.getState().equals(ZkStateReader.ACTIVE))) {

        if (byCoreName && !collectionName.equals(coreNodeProps.getCoreName())) {
          // if it's by core name, make sure they match
          continue;
        }
        if (coreNodeProps.getBaseUrl().equals(cores.getZkController().getBaseUrl())) {
          // don't count a local core
          continue;
        }

        if (origCorename != null) {
          coreUrl = coreNodeProps.getBaseUrl() + "/" + origCorename;
        } else {
          coreUrl = coreNodeProps.getCoreUrl();
          if (coreUrl.endsWith("/")) {
            coreUrl = coreUrl.substring(0, coreUrl.length() - 1);
          }
        }

        return coreUrl;
      }
    }
  }
  return null;
}
 
开发者ID:europeana,项目名称:search,代码行数:39,代码来源:SolrDispatchFilter.java

示例4: collectStartTimes

import org.apache.solr.common.cloud.ZkCoreNodeProps; //导入方法依赖的package包/类
private void collectStartTimes(String collectionName,
      Map<String,Long> urlToTime) throws SolrServerException, IOException {
    ClusterState clusterState = getCommonCloudSolrServer().getZkStateReader()
        .getClusterState();
//    Map<String,DocCollection> collections = clusterState.getCollectionStates();
    if (clusterState.hasCollection(collectionName)) {
      Map<String,Slice> slices = clusterState.getSlicesMap(collectionName);

      Iterator<Entry<String,Slice>> it = slices.entrySet().iterator();
      while (it.hasNext()) {
        Entry<String,Slice> sliceEntry = it.next();
        Map<String,Replica> sliceShards = sliceEntry.getValue().getReplicasMap();
        Iterator<Entry<String,Replica>> shardIt = sliceShards.entrySet()
            .iterator();
        while (shardIt.hasNext()) {
          Entry<String,Replica> shardEntry = shardIt.next();
          ZkCoreNodeProps coreProps = new ZkCoreNodeProps(shardEntry.getValue());
          HttpSolrServer server = new HttpSolrServer(coreProps.getBaseUrl());
          CoreAdminResponse mcr;
          try {
            mcr = CoreAdminRequest.getStatus(coreProps.getCoreName(), server);
          } finally {
            server.shutdown();
          }
          long before = mcr.getStartTime(coreProps.getCoreName()).getTime();
          urlToTime.put(coreProps.getCoreUrl(), before);
        }
      }
    } else {
      throw new IllegalArgumentException("Could not find collection in :"
          + clusterState.getCollections());
    }
  }
 
开发者ID:europeana,项目名称:search,代码行数:34,代码来源:CollectionsAPIDistributedZkTest.java

示例5: buildUrlMap

import org.apache.solr.common.cloud.ZkCoreNodeProps; //导入方法依赖的package包/类
private Map<String,List<String>> buildUrlMap(DocCollection col) {
  Map<String, List<String>> urlMap = new HashMap<String, List<String>>();
  Collection<Slice> slices = col.getActiveSlices();
  Iterator<Slice> sliceIterator = slices.iterator();
  while (sliceIterator.hasNext()) {
    Slice slice = sliceIterator.next();
    String name = slice.getName();
    List<String> urls = new ArrayList<String>();
    Replica leader = slice.getLeader();
    if (leader == null) {
      // take unoptimized general path - we cannot find a leader yet
      return null;
    }
    ZkCoreNodeProps zkProps = new ZkCoreNodeProps(leader);
    String url = zkProps.getBaseUrl() + "/" + col.getName();
    urls.add(url);
    Collection<Replica> replicas = slice.getReplicas();
    Iterator<Replica> replicaIterator = replicas.iterator();
    while (replicaIterator.hasNext()) {
      Replica replica = replicaIterator.next();
      if (!replica.getNodeName().equals(leader.getNodeName()) &&
          !replica.getName().equals(leader.getName())) {
        ZkCoreNodeProps zkProps1 = new ZkCoreNodeProps(replica);
        String url1 = zkProps1.getBaseUrl() + "/" + col.getName();
        urls.add(url1);
      }
    }
    urlMap.put(name, urls);
  }
  return urlMap;
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:32,代码来源:CloudSolrServer.java

示例6: getShardReplicationFactor

import org.apache.solr.common.cloud.ZkCoreNodeProps; //导入方法依赖的package包/类
/**
 * Walks the NamedList response after performing an update request looking for
 * the replication factor that was achieved in each shard involved in the request.
 * For single doc updates, there will be only one shard in the return value. 
 */
@SuppressWarnings("rawtypes")
public Map<String,Integer> getShardReplicationFactor(String collection, NamedList resp) {
  connect();
  
  Map<String,Integer> results = new HashMap<String,Integer>();
  if (resp instanceof CloudSolrServer.RouteResponse) {
    NamedList routes = ((CloudSolrServer.RouteResponse)resp).getRouteResponses();      
    ClusterState clusterState = zkStateReader.getClusterState();     
    Map<String,String> leaders = new HashMap<String,String>();
    for (Slice slice : clusterState.getActiveSlices(collection)) {
      Replica leader = slice.getLeader();
      if (leader != null) {
        ZkCoreNodeProps zkProps = new ZkCoreNodeProps(leader);
        String leaderUrl = zkProps.getBaseUrl() + "/" + zkProps.getCoreName();
        leaders.put(leaderUrl, slice.getName());
        String altLeaderUrl = zkProps.getBaseUrl() + "/" + collection;
        leaders.put(altLeaderUrl, slice.getName());
      }
    }
    
    Iterator<Map.Entry<String,Object>> routeIter = routes.iterator();
    while (routeIter.hasNext()) {
      Map.Entry<String,Object> next = routeIter.next();
      String host = next.getKey();
      NamedList hostResp = (NamedList)next.getValue();
      Integer rf = (Integer)((NamedList)hostResp.get("responseHeader")).get(UpdateRequest.REPFACT);
      if (rf != null) {
        String shard = leaders.get(host);
        if (shard == null) {
          if (host.endsWith("/"))
            shard = leaders.get(host.substring(0,host.length()-1));
          if (shard == null) {
            shard = host;
          }
        }
        results.put(shard, rf);
      }
    }
  }    
  return results;
}
 
开发者ID:europeana,项目名称:search,代码行数:47,代码来源:CloudSolrServer.java

示例7: getHttpSolrServer

import org.apache.solr.common.cloud.ZkCoreNodeProps; //导入方法依赖的package包/类
protected HttpSolrServer getHttpSolrServer(Replica replica, String coll) throws Exception {
  ZkCoreNodeProps zkProps = new ZkCoreNodeProps(replica);
  String url = zkProps.getBaseUrl() + "/" + coll;
  return new HttpSolrServer(url);
}
 
开发者ID:europeana,项目名称:search,代码行数:6,代码来源:HttpPartitionTest.java

示例8: getRemotCoreUrl

import org.apache.solr.common.cloud.ZkCoreNodeProps; //导入方法依赖的package包/类
private String getRemotCoreUrl(CoreContainer cores, String collectionName, String origCorename) {
  ClusterState clusterState = cores.getZkController().getClusterState();
  Collection<Slice> slices = clusterState.getSlices(collectionName);
  boolean byCoreName = false;
  if (slices == null) {
    // look by core name
    byCoreName = true;
    Set<String> collections = clusterState.getCollections();
    for (String collection : collections) {
      slices = new ArrayList<Slice>();
      slices.addAll(clusterState.getSlices(collection));
    }
  }
  
  if (slices == null || slices.size() == 0) {
    return null;
  }
  
  Set<String> liveNodes = clusterState.getLiveNodes();
  Iterator<Slice> it = slices.iterator();
  while (it.hasNext()) {
    Slice slice = it.next();
    Map<String,Replica> sliceShards = slice.getReplicasMap();
    for (ZkNodeProps nodeProps : sliceShards.values()) {
      ZkCoreNodeProps coreNodeProps = new ZkCoreNodeProps(nodeProps);
      if (liveNodes.contains(coreNodeProps.getNodeName())
          && coreNodeProps.getState().equals(ZkStateReader.ACTIVE)) {
        if (byCoreName && !collectionName.equals(coreNodeProps.getCoreName())) {
          // if it's by core name, make sure they match
          continue;
        }
        if (coreNodeProps.getBaseUrl().equals(cores.getZkController().getBaseUrl())) {
          // don't count a local core
          continue;
        }
        String coreUrl;
        if (origCorename != null) {
          coreUrl = coreNodeProps.getBaseUrl() + "/" + origCorename;
        } else {
          coreUrl = coreNodeProps.getCoreUrl();
          if (coreUrl.endsWith("/")) {
            coreUrl = coreUrl.substring(0, coreUrl.length() - 1);
          }
        }

        return coreUrl;
      }
    }
  }
  return null;
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:52,代码来源:SolrDispatchFilter.java


注:本文中的org.apache.solr.common.cloud.ZkCoreNodeProps.getBaseUrl方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。