1. HDFS(大数据)

  在大数据生态圈中,针对HDFS服务的各种缺陷或适用场景,发展了许许多多的开源解决方案。我们在这里总结一下,方便后期针对应用场景筛选使用。

1.1. NameNode性能测试

  1. Synthetic Load Generator Guide: The synthetic load generator (SLG) is a tool for testing NameNode behavior under different client loads. The user can generate different mixes of read, write, and list requests by specifying the probabilities of read and write. The user controls the intensity of the load by adjusting parameters for the number of worker threads and the delay between operations. While load generators are running, the user can profile and monitor the running of the NameNode. When a load generator exits, it prints some NameNode statistics like the average execution time of each kind of operation and the NameNode throughput.
  2. Hadoop Benchmarking: NNThroughputBenchmark

1.2. NameNode性能模拟

  1. Dynamometer: A tool for scale and performance testing of HDFS with a specific focus on the NameNode.

1.3. HDFS文件分析

  1. NNAnalytics: NameNodeAnalytics is a self-help utility for scouting and maintaining the namespace of an HDFS instance.

1.4. HDFS文件辅助管理

  1. SSM: Smart Storage Management for Big Data, a comprehensive hot/cold data optimized solution
  2. Apache Ozone : 小文件的希望…

1.5. HDFS Benchmark测试

  1. Terasort:基准排序
  2. Pi:纯计算
  3. TPC-DS:性能测试
  4. HiBench:性能测试

1.6. Hadoop安全机制

  1. Kerberos:Kerberos是一种协议框架,MIT Kerberos是基于Kerbeos协议实现的软件,通常所述的Kerberos一般就是指MIT Kerberos。在实际使用中,中大规模的大数据生态使用的是Kerberos+LDAP方案方便管理用户。可以参考freeIPAFreeIPA官网使用FreeIPA对Linux用户权限统一管理Hadoop生态圈-使用FreeIPA安装Kerberos和LDAP
  2. Token:通过Kerberos验证之后,大数据生态的组件之间可以通过Token机制进行通讯与验证

1.7. Hadoop监控

  1. Ganglia+Nagios: 原生支持方案 – 数据投递、异常监控、告警通知
  2. JMX端口拉取:通用解决方案,如Prometheus等可定制端口监听与定时获取jmx,投递到相关数据库中,通过Grafana来查看报表等

2. Java通用

2.1. 性能分析

  1. JVM: Jstack:jstack通常用来定位Java进程的异常线程,或异常代码
  2. CPU: 火焰图: perf 命令。关于火焰图解读,可以参考文献:如何读懂火焰图?
  3. 磁盘问题排查:磁盘问题排查

2.2. 优秀组件

  1. Apache Beam:通用话执行引擎封装
  2. Apache Nifi:数据流处理

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

部署CDH6.2组件 上一篇
ETCD集群部署 下一篇