yeniden yükledikten sonra hadoop başlangıç komut dosyasında Messed up sed syntactics, Windows Azure bulutunda 3 düğüm Hadoop kümesi çalıştırmayı deniyorum. Yapılandırmadan geçtim ve lansmanı test ediyorum. Her şey iyi görünüyor, ancak okuduğum şeye göre Hadoop için VM olarak önerilmeyen OpedJDK'yi kullandığım için, Oracle Server JVM ile değiştirmeye karar verdim. Java ile eski Java kurulumunu Yum ile birlikte/usr/lib içindeki tüm java klasörleriyle birlikte kaldırdık, Oracle JVM'nin en son sürümünü yükledik, PATH ve JAVA_HOME değişkenlerini güncelledik; ancak, şu anda lansmanı takip ediyorum:JVM
sed: -e expression #1, char 6: unknown option to `s'
64-Bit: ssh: Could not resolve hostname 64-Bit: Name or service not known
HotSpot(TM): ssh: Could not resolve hostname HotSpot(TM): Name or service not known
Server: ssh: Could not resolve hostname Server: Name or service not known
VM: ssh: Could not resolve hostname VM: Name or service not known
e.t.c. (toplamda yaklaşık olarak 20-30 karakter dizisi ile ortak bir şey içermemesi gereken sözcükler)
Benim için başlangıç kodu komut satırının yanlış kullanımı nedeniyle kodun bir kısmını Hostname olarak iletmeye çalışıyor gibi görünüyor:
if [ "$HADOOP_SLAVE_NAMES" != '' ] ; then
SLAVE_NAMES=$HADOOP_SLAVE_NAMES
else
SLAVE_FILE=${HADOOP_SLAVES:-${HADOOP_CONF_DIR}/slaves}
SLAVE_NAMES=$(cat "$SLAVE_FILE" | sed 's/#.*$//;/^$/d')
fi
# start the daemons
for slave in $SLAVE_NAMES ; do
ssh $HADOOP_SSH_OPTS $slave $"${@// /\\ }" \
2>&1 | sed "s/^/$slave: /" &
if [ "$HADOOP_SLAVE_SLEEP" != "" ]; then
sleep $HADOOP_SLAVE_SLEEP
fi
done
Hangisi değişmeden görünüyor, bu yüzden soru şudur: JVM'nin değişimi sed'i nasıl etkileyebilir? Ve bunu nasıl düzeltebilirim?
'S'' için bilinmeyen seçenek, çok fazla eğik çizginizin olduğunu gösterir. $ Slave' değerlerinden biri eğik çizgi içeriyor mu? –
'$ (cat" $ SLAVE_FILE "| sed 's /#.*$//;/^$/ d') 's ... – pfnuesel
Bu iyi olurdu. Ama hata burada olabilir: "sed" s/^/$ slave:/"' –