def test_cluster_size_3(self): cluster = self._make_one(size=3) cluster.start() self.assertEqual(len(cluster), 3) self.assertEqual(len(cluster.hosts), 3) self.assertEqual(len(os.listdir(cluster.working_path)), 3) self.assertEqual(len(cluster.urls), 3) client = ElasticSearch(cluster.urls, max_retries=2) self.assertEqual(client.health()['number_of_nodes'], 3) # test if routing works and data is actually distributed across nodes client.create_index('test_shards', settings={ 'number_of_shards': 1, 'number_of_replicas': 2, }) client.index('test_shards', 'spam', {'eggs': 'bacon'}) client.refresh('test_shards') shard_info = client.status()['indices']['test_shards']['shards']['0'] nodes = set([s['routing']['node'] for s in shard_info]) self.assertTrue(len(nodes) > 1)
sys.exit(1) elasticsearch = parser.get('default', 'elasticsearch').strip('"').strip("'") input = len(sys.argv) if input < 2: usage() sys.exit(1) else: qname = sys.argv[1] from pyelasticsearch import ElasticSearch es = ElasticSearch(elasticsearch) try: s = es.status('oplog') except: print "Creating index: oplog" try: s = es.create_index('oplog') print "sleeping for 5 to ensure index exists" time.sleep(5) except: print "ERROR: index creation failed!" sys.exit() print "Creating queue: %s" % qname try: es.put_mapping('oplog',qname,{"properties" : { "from" : {"type" : "string", "null_value" : "na"}, "sent" : {"type" : "string", "null_value" : "na"}, "submitted" : {"type" : "date"}, "subject" : {"type" : "string", "null_value" : "na"}, "message" : {"type" : "string", "null_value" : "na"} }}) print "Created queue with mapping:" print es.get_mapping('oplog',qname)