您好,登錄后才能下訂單哦!
版本升級 (使用stable最新版)
zookeeper-3.4.5 --->>> zookeeper-3.4.6
發行日志:http://zookeeper.apache.org/doc/r3.4.6/releasenotes.html
kafka_2.9.2-0.8.1 --->>> kafka_2.9.2-0.8.2.2
發行日志:https://archive.apache.org/dist/kafka/0.8.2.2/RELEASE_NOTES.html
升級說明:http://kafka.apache.org/documentation.html#upgrade_82
jstorm-0.9.2 --->>> jstorm-2.1.0
機器規劃(使用hadoop用戶,采用解壓縮的方式安裝)
host | ip | server |
vm13 | 10.1.2.208 | Kafka,QuorumPeerMain(zookeeper),Supervisor(Jstorm),NimbusServer(Jstorm) |
vm7 | 10.1.2.197 | Kafka,QuorumPeerMain(zookeeper),Supervisor(Jstorm) |
vm8 | 10.1.2.198 | Kafka,QuorumPeerMain(zookeeper),Supervisor(Jstorm) |
機器配置
CPU:24核,內存:64G,磁盤2T*4
zookeeper安裝
1.進入主目錄,cd /home/hadoop
2.下載zookeeper安裝包,http://mirrors.hust.edu.cn/apache/zookeeper/stable/zookeeper-3.4.6.tar.gz
3.解壓安裝包,tar -zxf zookeeper-3.4.6.tar.gz
4.進入目錄,cd zookeeper-3.4.6
5.將conf/zoo_sample.cfg拷貝一份命名為zoo.cfg也放在conf目錄下,修改其中的配置
vi conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data0/zookeeper/data
clientPort=2181
server.1=10.1.2.208:12888:13888
server.2=10.1.2.197:12888:13888
server.3=10.1.2.198:12888:13888
vi conf/log4j.properties
zookeeper.root.logger=INFO,ROLLINGFILE
zookeeper.console.threshold=INFO
zookeeper.log.dir=/data0/zookeeper/logs
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=INFO
zookeeper.tracelog.dir=/data0/zookeeper/logs
zookeeper.tracelog.file=zookeeper_trace.log
vi bin/zkEnv.sh
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="/data0/zookeeper/logs"
fi
if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi
分別在每個節點的${zookeeper.log.dir}目錄下創建myid,內容為serverId
比如在10.1.2.208上,echo ''1 > /data0/zookeeper/data/myid
6.啟動服務
依次在三個節點上啟動 ./bin/zkServer.sh start
7.驗證測試
使用客戶端進入zookeeper控制套臺 ./bin/zkCli.sh -server dckafka1:12181
查看當前服務是leader還是flower, ./bin/zkServer.sh status
8.參考文檔
log4j配置:http://www.cnblogs.com/zhwbqd/p/3957018.html
http://stackoverflow.com/questions/26612908/why-does-zookeeper-not-use-my-log4j-properties-file-log-directory
kafka安裝
1.進入主目錄,cd /home/hadoop
2.下載kafka安裝包,wget "http://mirrors.hust.edu.cn/apache/kafka/0.8.2.2/kafka_2.9.2-0.8.2.2.tgz"
3.解壓安裝包,tar -zxf kafka_2.9.2-0.8.2.2.tgz
4.進入目錄,cd kafka_2.9.2-0.8.2.2
5.配置修改(更多配置請參考http://kafka.apache.org/documentation.html#topic-config)
vi conf/server.properties
# 每個broker都可以用一個唯一的非負整數id進行標識
broker.id=0
# 服務監聽端口
port=9092
# broker處理網絡請求的最大線程數,一般情況下數量為CPU核數
num.network.threads=12
# broker處理磁盤IO的最大線程數,數值為CPU核數兩倍
num.io.threads=12
# kafka存放數據的路徑。這個路徑并不是唯一的,可以是多個,路徑之間只需要使用逗號分隔即可;每當創建新partition時,都會選擇在包含最少partitions的路徑下進行
log.dirs=/data2/kafka/data,/data3/kafka/data
# 默認topic分區數,也可以在創建topic時指定
num.partitions=6
# 關閉自動創建topics
auto.create.topics.enable=false
# 允許刪除topics
delete.topic.enable=true
# log保留的最大時間,小時單位
log.retention.hours=72
# zookeeper連接字符串的格式為:hostname1:port1, hostname2:port2, hostname3:port3,
# zooKeeper增加一個“chroot”路徑,將集群中所有kafka數據存放在特定的路徑下,格式為:hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
# 這樣設置就將所有kafka集群數據存放在/chroot/path路徑下。注意,在你啟動broker之前,你必須創建這個路徑,并且consumers必須使用相同的連接格式。
zookeeper.connect=vm13:2181,vm7:2181,vm8:2181
vi conf/consumer.properties
# 消費端鏈接的zookeeper配置,要與server.properties中的zookeeper.connect保存一致
zookeeper.connect=vm13:2181,vm7:2181,vm8:2181
# 一般會在consumer客戶端自定義group
group.id=test.consumer-group
vi conf/producer.properties
# kafka broker列表
metadata.broker.list=vm13:9092,vm7:9092,vm8:9092
# 消息異步發送到broker
producer.type=async
# 異步批量發送的消息數
batch.num.messages=200
vi conf/log4j.properties
# 指定服務日志目錄
kafka.logs.dir=/data2/kafka/logs
log4j.rootLogger=INFO, kafkaAppender
創建啟動腳本 cat > startKafkaServer.sh
nohup ./bin/kafka-server-start.sh config/server.properties &
if [ $? -eq 0 ]; then
echo "Kafka server start success..."
else
echo "Kafka server start success..."
fi
6.啟動服務
./startKafkaServer.sh
7.驗證測試
a.創建topic
./bin/kafka-topics.sh --zookeeper dckafka1:12181,dckafka2:12181 --create --topic mytest --replication-factor 1 --partitions 9
b.查看topic列表
./bin/kafka-topics.sh --zookeeper dckafka1:12181,dckafka2:12181 --list
c.創建生產者
./bin/kafka-console-producer.sh --broker-list dckafka1:9092,dckafka2:9092,dckafka3:9092 --topic mytest
d.創建消費者
./bin/kafka-console-consumer.sh --zookeeper dckafka1:12181,dckafka2:12181,dckafka3:12181 --topic mytest --from-beginning
jstorm安裝
1.進入主目錄,cd /home/hadoop
2.下載storm包,wget "http://42.121.19.155/jstorm/jstorm-2.1.0.tar.bz2"
(This version is for Alibaba Global Shopping Festival, November 11th 2015)
3.解壓安裝包,tar -jxf jstorm-2.1.0.tar.bz2
4.變更目錄,mv deploy/jstorm jstorm-2.1.0; cd jstorm-2.1.0
jstorm-2.1.0新增了一些部署和管理腳本腳本,這里先不用理會
5.配置修改(參考https://github.com/alibaba/jstorm/wiki/如何安裝)
vi ~/.bashrc
修改或添加如下內容
export JSTORM_HOME=/home/hadoop/jstorm-2.1.0
export PATH=$PATH:$JSTORM_HOME/bin
vi conf/storm.yaml
修改或添加如下內容
storm.zookeeper.servers:
- "dckafka1"
- "dckafka2"
- "dckafka3"
storm.zookeeper.port: 2181
storm.zookeeper.root: "/jstorm2"
storm.local.dir: "/data1/jstorm/data"
jstorm.log.dir: "/data1/jstorm/logs"
supervisor.slots.ports.base: 6800
supervisor.slots.port.cpu.weight: 1.0
supervisor.slots.port.mem.weight: 0.6
6.啟動服務
nohup ./bin/jstorm supervisor & (所有機器都執行)
nohup ./bin/jstorm nimbus &(選擇一臺機器作為nimbus節點)
7.安裝jstorm Web UI
mkdir ~/.jstorm
cp $JSTORM_HOME/conf/storm.yaml ~/.jstorm
將jstorm-ui-2.1.0.war放入tomcat容器,啟動
訪問UI頁面:http://127.0.0.1:9091
8.提交topology任務(對于提交客戶端,需要在home目錄下創建 ln -s .jstorm/storm.yaml $JSTORM_HOME/conf/storm.yaml)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。