示例#1
0
                        help='A list of ZooKeeper IP addresses')
    parser.add_argument('--database',
                        nargs='+',
                        help='A list of DB IP addresses')
    parser.add_argument('--replication',
                        type=int,
                        help='The keyspace replication factor')
    return parser


if __name__ == "__main__":
    logging.basicConfig(format=LOG_FORMAT, level=logging.INFO)
    parser = init_parser()
    args = parser.parse_args()
    status = {'status': 'inProgress', 'message': 'Starting services'}
    write_to_json_file(status, args.log_postfix)

    db_access = None
    zookeeper = None
    try:
        # Ensure monit is running.
        relevant_ips = set(args.zookeeper) | set(args.database)
        for ip in relevant_ips:
            utils.ssh(ip, args.keyname, 'service monit start')

        start_zookeeper(args.zookeeper, args.keyname)
        conn = KazooClient(hosts=",".join(args.zookeeper))
        conn.start()
        if not conn.exists(ZK_CASSANDRA_CONFIG):
            conn.create(ZK_CASSANDRA_CONFIG,
                        json.dumps({"num_tokens": 256}),
示例#2
0
    )
    parser.add_argument("--keyname", help="The deployment keyname")
    parser.add_argument("--log-postfix", help="An identifier for the status log")
    parser.add_argument("--db-master", required=True, help="The IP address of the DB master")
    parser.add_argument("--zookeeper", nargs="+", help="A list of ZooKeeper IP addresses")
    parser.add_argument("--database", nargs="+", help="A list of DB IP addresses")
    parser.add_argument("--replication", type=int, help="The keyspace replication factor")
    return parser


if __name__ == "__main__":
    logging.basicConfig(format=LOG_FORMAT, level=logging.INFO)
    parser = init_parser()
    args = parser.parse_args()
    status = {"status": "inProgress", "message": "Starting services"}
    write_to_json_file(status, args.log_postfix)

    db_access = None
    zookeeper = None
    try:
        # Ensure monit is running.
        relevant_ips = set(args.zookeeper) | set(args.database)
        for ip in relevant_ips:
            utils.ssh(ip, args.keyname, "service monit start")

        start_cassandra(args.database, args.db_master, args.keyname)
        start_zookeeper(args.zookeeper, args.keyname)
        datastore_upgrade.wait_for_quorum(args.keyname, len(args.database), args.replication)
        db_access = datastore_upgrade.get_datastore()

        # Exit early if a data layout upgrade is not needed.