命令
啟動zookeeper
啟動兩台機器上的kafaka
nohup kafka-server-start.sh $kafka_home/config/server.properties &
這裡的啟動kafka的消費端
kafka-console-consumer.sh --zookeeper hadoop01:2181 --topic test
啟動flume端(kafka是兩個機器都要啟動,flume只要啟動乙個機器上的就行。注意kafka和flume的區別)
flume-ng agent -n a1 -c conf -f $flume_home/conf/exec.conf -dflume.root.logger=info,console
其中exec.conf配置如下
a1.sources = r1
a1.channels = c1
a1.sinks = k1
a1.sources.r1.type = exec
a1.sources.r1.command = tail -f /export/data/flume_sources/click_log/1.log
a1.sources.r1.channels = c1
a1.channels.c1.type=memory
a1.channels.c1.capacity=10000
a1.channels.c1.transactioncapacity=100
a1.sinks.k1.type =org.apache.flume.sink.kafka.kafkasink #這裡
org.apache.flume.sink.kafka.kafkasink 對應的是flume裡的乙個jar包
a1.sinks.k1.topic = testa1.sinks.k1.brokerlist = hadoop01:9092a1.sinks.k1.requiredacks = 1a1.sinks.k1.batchsize = 20a1.sinks.k1.channel = c1
然後 echo "fdfsafjasdlfjlas" >>/export/data/flume_sources/click_log/1.log
觀察 消費端的變化
再探函式引數
c函式的所有引數均以 傳值呼叫 方式進行傳遞。這意味著函式將獲得引數值的乙份拷貝,這樣函式可以放心修改這個拷貝值,而不必擔心會修改呼叫程式實際傳遞給它的引數。普通資料型別主要包括 如下面 所示 include void swap int x int y int main 我們原本是希望編寫乙個函式,...
再探迭代器
除了為每個容器定義的迭代器以外,標準庫在標頭檔案iterator中還定義了額外4種迭代器 插入迭代器 流迭代器 反向迭代器 移動迭代器 插入器是一種迭代器介面卡,接受乙個容器,生成乙個插入迭代器 vector vi auto it back inserter vi back inserter是插入器...
遞迴之再探
有人說 遞迴就是有去 遞去 有回 歸來 所以遞迴過程可以分解為兩部分,一部分為分解,一部分為求解。具體來說,為什麼可以有去?這要求遞迴的問題需要是可以用同樣的解題思路來回答除了規模大 小不同其他完全一樣的問題。為什麼可以有回?這要求這些問題不斷從大到小,從近及遠的過程中,會有乙個終點,乙個臨界點,乙...