Server IPC version 9 cannot communicate with client version 4

Hi, I'm elasticsearch beginner and trying snapshot to HDFS but repository was not created on CentOS6.7.
env : Hadoop2.6.2, ES 1.7.2, OpenJDK 1.7_80

  1. bin/plugin install elasticsearch/elasticsearch-repository-hdfs/2.1.2 on es
  2. download and copy elasticsearch-hadoop-2.2.0-beta1.jar and hadoop-yarn-client-2.6.2.jar at $ES_HOME/lib
  3. edit elasticsearch.yml
    repositories.hdfs.uri: "hdfs://localhost:9000/"
    repositories.hdfs.path: "/tmp/snapshot"
    repositories.hdfs.load_defaults: "true"
    repositories.hdfs.conf_location: ["/home/hadoop/hadoop-2.6.2/etc/hadoop/core-site.xml","/home/hadoop/hadoop-2.6.2/etc/hadoop/hdfs-site.xml"]
    repositories.hdfs.concurrent_streams: 5
    repositories.hdfs.compress: "true"
    repositories.hdfs.chunk_size: "10mb"
  4. start elasticsearch and run curl command:
    curl -XPOST 'http://localhost:9000/_snapshot/hdfs_repo0' -d '{ "type":"hdfs", "settings":{ "uri":"hdfs://localhost:9000/", "path":"/tmp/snapshot" } }'
  5. return error: Server IPC version 9 cannot communicate with client version 4

I search this error on google but cannot solve. I need help. Thanks.

Is the version of es 1.7.2 too old for repository-hdfs-2.1.2.jar or elasticsearch-hadoop-2.2.0-beta1.jar?
Could anyone give a version matrix between es, repository-hdfs, elasticsearch-hadoop and hadoop-yarn-client for es=1.7.2, 2.0.1 and 2.1.0?

I've solved the issue. The hadoop related jars in repository-hdfs-2.1.2 are too old for hadoop 2.6.
Copying the below jars in hadoop 2.6 into repository-hdfs-2.1.2 can solve.
commons-httpclient-3.1.jar
commons-io-2.4.jar
commons-lang-2.6.jar
commons-logging-1.1.3.jar
commons-net-3.1.jar
guava-11.0.2.jar
hadoop-common-2.6.2.jar
hadoop-auth-2.6.2.jar
slf4j-api-1.7.5.jar
hadoop-hdfs-2.6.2.jar
commons-cli-1.2.jar
protobuf-java-2.5.0.jar
htrace-core-3.0.4.jar

You properly identified the issue - there are a variety of hadoop versions especially when considering the various distros and versions. Repository-hdfs currently sits on Hadoop 2.4.1 but in master at least, it moved to Hadoop 2.7.1