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查找该软件包
可以看到有两个不同版本的包,移除到一个就好了。