2017-03-14 18 views
0

これは私のマシン上に3ノードのカサンドラクラスターを設定する2回目の試みです。私は最初のインスタンスを開始することができません。起動時に は、私は(私はYAMLが無効である理由を確認するために失敗する)のいずれかの意味を理解することはできませんよラインの1台のマシンで複数のcassandraインスタンスを実行する

Exception encountered during startup 
org.apache.cassandra.exceptions.ConfigurationException: Invalid yaml: file:/home/user1/TestCluster/node1/dsc-cassandra-2.2.8/conf/cassandra.yaml 

と多くを取得します。

私のアプローチは、以下のステップで構成さ:

  1. (私は3つのインスタンスをしたいと)私は3つのフォルダにtarボールのインストールを解凍しました。各cassandra.yamlにおいて

    • cluster_nameが設定された
    • seeds:(すべてのノードについて同じ)、 "127.0.0.2"
    • rpc_address, listen_address
    • がすべてのノードに対して127.0.0.2-4に設定された
    • rpc_portを設定した(9160,9161,9162)
    • data_file_directories,commitlog_directories,saved_caches_directoryは127.2から4は127.0.0.1

      の別名であるよう

etc/hostsが編集された(8081,8082,8083)JMX_PORTが設定された各cassandra-env.shにおいて全て

  • に設定しました。

    私の質問は次のとおりです:私は間違っていますか?どのようにこれを修正することができますか? ubuntuでこれを行う他の簡単な方法はありますか?

    私は間違いを含んでいますが、それは意味があります。あまりにも多くのスペースを取る場合は削除されます。

    ERROR 12:19:12 Exception encountered during startup 
    org.apache.cassandra.exceptions.ConfigurationException: Invalid yaml: file:/home/user1/TestCluster/node1/dsc-cassandra-2.2.8/conf/cassandra.yaml 
        at org.apache.cassandra.config.YamlConfigurationLoader.loadConfig(YamlConfigurationLoader.java:118) ~[apache-cassandra-2.2.8.jar:2.2.8] 
        at org.apache.cassandra.config.YamlConfigurationLoader.loadConfig(YamlConfigurationLoader.java:85) ~[apache-cassandra-2.2.8.jar:2.2.8] 
        at org.apache.cassandra.config.DatabaseDescriptor.loadConfig(DatabaseDescriptor.java:135) ~[apache-cassandra-2.2.8.jar:2.2.8] 
        at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:119) ~[apache-cassandra-2.2.8.jar:2.2.8] 
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:507) [apache-cassandra-2.2.8.jar:2.2.8] 
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:641) [apache-cassandra-2.2.8.jar:2.2.8] 
    Caused by: org.yaml.snakeyaml.constructor.ConstructorException: null; Can't construct a java object for tag:yaml.org,2002:org.apache.cassandra.config.Config; exception=Cannot create property=data_file_directories for [email protected]; No single argument constructor found for class [Ljava.lang.String;; in 'reader', line 10, column 1: 
        cluster_name: 'Testcluster' 
        ^
        at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:333) ~[snakeyaml-1.11.jar:na] 
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:182) ~[snakeyaml-1.11.jar:na] 
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:141) ~[snakeyaml-1.11.jar:na] 
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:127) ~[snakeyaml-1.11.jar:na] 
        at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:481) ~[snakeyaml-1.11.jar:na] 
        at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:475) ~[snakeyaml-1.11.jar:na] 
        at org.apache.cassandra.config.YamlConfigurationLoader.loadConfig(YamlConfigurationLoader.java:111) ~[apache-cassandra-2.2.8.jar:2.2.8] 
        ... 5 common frames omitted 
    Caused by: org.yaml.snakeyaml.error.YAMLException: Cannot create property=data_file_directories for [email protected]; No single argument constructor found for class [Ljava.lang.String; 
        at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:299) ~[snakeyaml-1.11.jar:na] 
        at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:189) ~[snakeyaml-1.11.jar:na] 
        at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:331) ~[snakeyaml-1.11.jar:na] 
        ... 11 common frames omitted 
    Caused by: org.yaml.snakeyaml.error.YAMLException: No single argument constructor found for class [Ljava.lang.String; 
        at org.yaml.snakeyaml.constructor.Constructor$ConstructScalar.construct(Constructor.java:379) ~[snakeyaml-1.11.jar:na] 
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:182) ~[snakeyaml-1.11.jar:na] 
        at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:296) ~[snakeyaml-1.11.jar:na] 
        ... 13 common frames omitted 
    
  • +0

    使用しているCassandraのバージョンは何ですか? IPアドレス127.0.0.1-3を定義するだけでなく、ホストエントリを追加したのか、127.0.0.1-3が使用されたときにどこを参照するべきかを定義する場所を追加しましたか?あなたのローカルホストからあなたのカサンドラにアクセスしていると思います。 –

    +0

    @ShobanSundar私はバージョン2.2を使用しています。私はそれらがループバックアドレスだと思った(それで意味があれば、何もしなくて済む)? ルックアップを定義していないか、hostsエントリに追加していません。はい、私はローカルホストからCassandraを実行しています。おそらく私は初心者なので、かなりの可能性があります。いくつかのステップがありません。 – clueless

    +0

    この投稿は、単一のホストで複数のCassandraインスタンスを実行するのに役立ちます:http://stackoverflow.com/questions/42644396/running-two-single-node-cassandra-clusters-using-different-ports/42647926#42647926 –

    答えて

    0

    これは、厳密にローカルマシン上でのテスト目的のためのCCMだけです。

    https://github.com/pcmanus/ccm

    +0

    はい手動で行うことが不可能な場合、CCMは私の最後の手段です。理論的には、Ubuntuでこれを行うことは(さまざまな情報源に基づいて)「シンプル」なはずなので、そうすることをお勧めします。 – clueless

    関連する問題