1、環境說明
Hadoop版本: 3.1.4
hbase 版本: 1.2.6
timeserver 版本 2.0
2、vts1.0/vts1.5與vts2.0
vts1.x缺點:
1、不支持分布式收集。
2、收集器和讀取器是單實例。
3、存儲使用的是leveldb。
vts2
1、借助與nodemanager的aux-services服務,支持分布式收集(collector)。
2、收集器和讀取器分離開。同時讀取器使用單實例。
3、后端存儲使用hbase。
如下圖所示:
根據官網介紹,目前支持的hbase版本是hbase-1.2.6(這是一個默認版本)和hbase-2.0.0
從上圖可以分析出:
1、每個運行AM的容器節點都運行了timeline collecto,同時,該應用程序在其他節點運行的任務通過nodemanager aux-services服務傳輸到運行AM的節點。
2、RM單獨擁有一個timeline server collector。
3、單獨的reader。
3、## 部署
- yarn-site.xml 添加如下配置
<!-- timeline v2 configuration -->
<property>
<name>yarn.timeline-service.version</name>
<value>2.0f</value>
</property>
<property>
<name>yarn.timeline-service.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle,timeline_collector</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.timeline_collector.class</name>
<value>org.apache.hadoop.yarn.server.timelineservice.collector.PerNodeTimelineCollectorsAuxService</value>
</property>
<property>
<description>The setting that controls whether yarn system metrics is
published on the Timeline service or not by RM And NM.</description>
<name>yarn.system-metrics-publisher.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.timeline-service.hbase.coprocessor.jar.hdfs.location</name>
<value>hdfs://yjt/hbase/coprocessor/hadoop-yarn-server-timelineservice.jar</value>
</property>
<property>
<name>yarn.timeline-service.hostname</name>
<value>hadoop1</value>
</property>
<property>
<name>yarn.timeline-service.hbase.configuration.file</name>
<value>file:/data1/hadoop/hbase/conf/hbase-site.xml</value>
</property>
- 配置協處理器
hadoop fs -mkdir /hbase/coprocessor
hadoop fs -put $HADOOP_HOME/share/hadoop/yarn/timelineservice/hadoop-yarn-server-timelineservice-3.1.4.jar /hbase/coprocessor/hadoop-yarn-server-timelineservice.jar
- 配置hbase類路徑
修改hbase-env.sh
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/data1/hadoop/hadoop//share/hadoop/yarn/timelineservice/hadoop-yarn-server-timelineservice-hbase-client-3.1.4.jar
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/data1/hadoop/hadoop//share/hadoop/yarn/timelineservice/hadoop-yarn-server-timelineservice-3.1.4.jar
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/data1/hadoop/hadoop//share/hadoop/yarn/timelineservice/hadoop-yarn-server-timelineservice-hbase-common-3.1.4.jar
- 創建表
bin/hbase org.apache.hadoop.yarn.server.timelineservice.storage.TimelineSchemaCreator -create
- hbase 查看結果
4錯誤排查
- 啟動resourcemanager報如下錯誤:
出現這個原因是由於com.google.guava 這個包引起的沖突。
通過find查找該軟件包
可以看到有兩個不同版本的包,移除到一個就好了。