Я нашел это в моем ~/.ivy2/com.cloudera.sqoop-sqoop-hadoop200.xml
:
<module organisation="org.mortbay.jetty" name="jetty">
<revision name="6.1.26" status="release" pubdate="20150715114025" resolver="fs" artresolver="default" homepage="" downloaded="false" searched="false" default="false" conf="compile, master(*), runtime, compile(*), runtime(*), master" position="183">
<metadata-artifact status="no" details="" size="2189" time="0" location="/home/sscaffidi/.ivy2/org.mortbay.jetty/jetty/ivy-6.1.26.xml" searched="false" origin-is-local="true" origin-location="/home/sscaffidi/.m2/repository/org/mortbay/jetty/jetty/6.1.26/jetty-6.1.26.pom"/>
<caller organisation="org.apache.hadoop" name="hadoop-common" conf="default, compile, runtime, master" rev="6.1.26.cloudera.2" rev-constraint-default="6.1.26.cloudera.2" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="2.6.0-cdh5.4.4"/>
<caller organisation="org.apache.hbase" name="hbase-server" conf="default, compile, runtime, master" rev="6.1.26.cloudera.4" rev-constraint-default="6.1.26.cloudera.4" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="1.0.0-cdh5.4.4"/>
<caller organisation="org.apache.hadoop" name="hadoop-hdfs" conf="default, compile, runtime, master" rev="6.1.26" rev-constraint-default="6.1.26" rev-constraint-dynamic="6.1.26" callerrev="2.2.0"/>
<caller organisation="org.apache.hadoop" name="hadoop-yarn-server-web-proxy" conf="compile, runtime" rev="6.1.26.cloudera.2" rev-constraint-default="6.1.26.cloudera.2" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="2.6.0-cdh5.4.4"/>
<caller organisation="org.mortbay.jetty" name="jetty-sslengine" conf="compile, runtime" rev="6.1.26.cloudera.4" rev-constraint-default="6.1.26.cloudera.4" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="6.1.26.cloudera.4"/>
<caller organisation="org.apache.hadoop" name="hadoop-hdfs" conf="default, compile, runtime, master" rev="6.1.26.cloudera.4" rev-constraint-default="6.1.26.cloudera.4" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="2.6.0-cdh5.4.4"/>
<artifacts>
<artifact name="jetty" type="zip" ext="zip" status="failed" details="" size="0" time="0"/>
</artifacts>
</revision>
<revision name="6.1.26.cloudera.4" status="release" pubdate="20150720102423" resolver="fs" artresolver="default" evicted="latest-revision" evicted-reason="" homepage="" downloaded="false" searched="false" default="false" conf="compile, master(*), runtime, compile(*), runtime(*), master" position="-1">
<metadata-artifact status="no" details="" size="7312" time="0" location="/home/sscaffidi/.ivy2/org.mortbay.jetty/jetty/ivy-6.1.26.cloudera.4.xml" searched="false" origin-is-local="true" origin-location="/home/sscaffidi/.m2/repository/org/mortbay/jetty/jetty/6.1.26.cloudera.4/jetty-6.1.26.cloudera.4.pom"/>
<evicted-by rev="6.1.26"/>
<caller organisation="org.apache.hadoop" name="hadoop-common" conf="default, compile, runtime, master" rev="6.1.26.cloudera.2" rev-constraint-default="6.1.26.cloudera.2" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="2.6.0-cdh5.4.4"/>
<caller organisation="org.apache.hbase" name="hbase-server" conf="default, compile, runtime, master" rev="6.1.26.cloudera.4" rev-constraint-default="6.1.26.cloudera.4" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="1.0.0-cdh5.4.4"/>
<caller organisation="org.apache.hadoop" name="hadoop-yarn-server-web-proxy" conf="compile, runtime" rev="6.1.26.cloudera.2" rev-constraint-default="6.1.26.cloudera.2" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="2.6.0-cdh5.4.4"/>
<caller organisation="org.mortbay.jetty" name="jetty-sslengine" conf="compile, runtime" rev="6.1.26.cloudera.4" rev-constraint-default="6.1.26.cloudera.4" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="6.1.26.cloudera.4"/>
<caller organisation="org.apache.hadoop" name="hadoop-hdfs" conf="default, compile, runtime, master" rev="6.1.26.cloudera.4" rev-constraint-default="6.1.26.cloudera.4" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="2.6.0-cdh5.4.4"/>
<artifacts>
</artifacts>
</revision>
<revision name="6.1.26.cloudera.2" evicted="latest-revision" evicted-reason="" downloaded="false" searched="false" conf="compile, master(*), runtime, compile(*), runtime(*), master" position="-1">
<evicted-by rev="6.1.26.cloudera.4"/>
<caller organisation="org.apache.hadoop" name="hadoop-common" conf="default, compile, runtime, master" rev="6.1.26.cloudera.2" rev-constraint-default="6.1.26.cloudera.2" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="2.6.0-cdh5.4.4"/>
<caller organisation="org.apache.hadoop" name="hadoop-yarn-server-web-proxy" conf="compile, runtime" rev="6.1.26.cloudera.2" rev-constraint-default="6.1.26.cloudera.2" rev-constraint-dynamic="6.1.26.cloudera.4" callerrev="2.6.0-cdh5.4.4"/>
<artifacts>
</artifacts>
</revision>
</module>
Интересная линия такова:
<caller organisation="org.apache.hadoop" name="hadoop-hdfs" conf="default, compile, runtime, master" rev="6.1.26" rev-constraint-default="6.1.26" rev-constraint-dynamic="6.1.26" callerrev="2.2.0"/>
Я не знаком с Айви, но я предполагаю, что это означает hadoop-hdfs
зависимость хочет причал 6.1.26, когда все остальное хочет 6.1.26.cloudera.4
или 6.1.26.cloudera.2
Теперь я пытаюсь найти лучший способ сделать эту работу.
обновление: Найдено решение
Я не знаю, если это хорошее решение - Как я уже сказал, я не знаю много о Apache Ivy - но он работал на меня, и, может быть, это будет работать вокруг этого вопроса для вас ...
я добавил следующую строку, чтобы sqoop ivy.xml
файла, только после того, как других exclude
элементов:
<exclude org="org.mortbay.jetty" module="jetty" type="zip" />
Надеюсь, что кто-то меня исправит, если я ошибаюсь, но это должно помешать Айви попытаться использовать артефакт типа причала zip
, и поэтому он будет возвращаться к чему-то еще. В этом случае мне кажется, что он использует тип jar
. Так как тип jar доступен в репозитории, который уже пытается использовать плющ, он работает.
По крайней мере, это то, что он мне кажется :)
Вы не должны компилировать Sqoop себя, если вы пытаетесь помочь развить. Попробуйте загрузить бинарный дистрибутив с http://www.apache.org/dyn/closer.cgi/sqoop/1.4.5. – abeaamase
@abeaamase - Компиляция собственного программного обеспечения с открытым исходным кодом действительно не требует оправдания. Все дело в том, чтобы быть открытым исходным кодом! Возможно, вы пытаетесь добавить журнал, или найти и исправить ошибку. Возможно, какая-то внутренняя политика требует, чтобы все производственное программное обеспечение было создано на месте после аудита источника. Возможно, вы _want_, чтобы помочь разработать его, и компиляция исходного источника является совершенно разумным первым шагом - как еще вы можете протестировать исправление или функцию, которую хотите отправить вверх по течению, если вы не можете ее скомпилировать? – Hercynium
OP: Я сам ищу ответ на этот вопрос. Я подозреваю, что существует проблема с восходящим потоком, вызывающая эту проблему, и решение может быть связано с частью Ivy сборки. Я уточню, когда узнаю больше. – Hercynium