2016-04-02 27 views
2

我想運行HadoopFlume dockerized。我有一個帶有所有默認值的標準Hadoop圖片。我看不出這些服務如何能夠將彼此之間的信息交換到獨立的容器中。碼頭互通信

FlumeDockerfile看起來是這樣的:

FROM ubuntu:14.04.4 

RUN apt-get update && apt-get install -q -y --no-install-recommends wget 

RUN mkdir /opt/java 
RUN wget --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" -qO- \ 
    https://download.oracle.com/otn-pub/java/jdk/8u20-b26/jre-8u20-linux-x64.tar.gz \ 
    | tar zxvf - -C /opt/java --strip 1 

RUN mkdir /opt/flume 
RUN wget -qO- http://archive.apache.org/dist/flume/1.6.0/apache-flume-1.6.0-bin.tar.gz \ 
    | tar zxvf - -C /opt/flume --strip 1 

ADD flume.conf /var/tmp/flume.conf 
ADD start-flume.sh /opt/flume/bin/start-flume 

ENV JAVA_HOME /opt/java 
ENV PATH /opt/flume/bin:/opt/java/bin:$PATH 

CMD [ "start-flume" ] 

EXPOSE 10000 

回答

1

您需要將您的容器。有一些變體可以實現這一點。

1)發佈端口:

docker run -p 50070:50070 hadoop

選項p綁定端口50070的搬運工容器的與主機的端口50070

2)連接的容器(使用搬運工-撰寫)

docker-compose.yml

version: '2' 
services: 
hadoop: 
    image: hadoop:2.6 
flume: 
image: flume:last 
links: 
- hadoop 

鏈接選項,在這裏用Hadoop結合您的水槽容器這個https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/

+0

爲什麼50070是端口號

更多信息? – plaidshirt

+0

它只是隨機的端口,你可以使用ports來代替這個 – Cortwave

+0

應該是Hadoop端口嗎?哪一個? – plaidshirt