大数据相关软件Apache Airflow、Inviso、hive-dwrf、hblog介绍

以下为你介绍的大数据相关软件都可用在Linux系统上:Apache Airflow(数据管道监控工具)、Inviso(搜索 Hadoop 作业)、hive-dwrf(Facebook ORC 文件格式分支)、hblog(日志集群分析器)。

1、Apache Airflow(数据管道监控工具)

Airflow 被 Airbnb 内部用来创建、监控和调整数据管道。任何工作流都可以在这个使用 Python 编写的平台上运行(目前加入 Apache 基金会孵化器)。

Airflow 允许工作流开发人员轻松创建、维护和周期性地调度运行工作流(即有向无环图或成为DAGs)的工具。在Airbnb中,这些工作流包括了如数据存储、增长分析、Email发送、A/B测试等等这些跨越多部门的用例。这个平台拥有和 Hive、Presto、MySQL、HDFS、Postgres和S3交互的能力,并且提供了钩子使得系统拥有很好地扩展性。除了一个命令行界面,该工具还提供了一个基于Web的用户界面让您可以可视化管道的依赖关系、监控进度、触发任务等。 

Airflow 包含如下组件:

一个元数据库(MySQL或Postgres)。

一组Airflow工作节点。

一个调节器(Redis或RabbitMQ)。

一个Airflow Web服务器。

截图:

大数据相关软件Apache Airflow、Inviso、hive-dwrf、hblog介绍

大数据相关软件Apache Airflow、Inviso、hive-dwrf、hblog介绍

管道定义示例:

"""

Code that goes along with the Airflow tutorial located at:

https://github.com/airbnb/airflow/blob/master/airflow/example_dags/tutorial.py

"""

from airflow import DAG

from airflow.operators.bash_operator import BashOperator

from datetime import datetime, timedelta

default_args = {

'owner': 'airflow',

'depends_on_past': False,

'start_date': datetime(2015, 6, 1),

'email': ['airflow@airflow.com'],

'email_on_failure': False,

'email_on_retry': False,

'retries': 1,

'retry_delay': timedelta(minutes=5),

# 'queue': 'bash_queue',

# 'pool': 'backfill',

# 'priority_weight': 10,

# 'end_date': datetime(2016, 1, 1),

}

dag = DAG('tutorial', default_args=default_args)

# t1, t2 and t3 are examples of tasks created by instantiating operators

t1 = BashOperator(

task_id='print_date',

bash_command='date',

dag=dag)

t2 = BashOperator(

task_id='sleep',

bash_command='sleep 5',

retries=3,

dag=dag)

templated_command = """

{% for i in range(5) %}

echo "{{ ds }}"

echo "{{ macros.ds_add(ds, 7)}}"

echo "{{ params.my_param }}"

{% endfor %}

"""

t3 = BashOperator(

task_id='templated',

bash_command=templated_command,

params={'my_param': 'Parameter I passed in'},

dag=dag)

t2.set_upstream(t1)

t3.set_upstream(t1)

下载地址:https://github.com/apache/airflow

2、Inviso(搜索 Hadoop 作业)

Inviso 是轻量级的工具,提供搜索 Hadoop 作业,可视化性能和查看集群利用率的功能。

组件:

REST API for Job History、ElasticSearch、Python Scripts、Web UI。

要求:

JDK 1.7+、Apache Tomcat (7+)、ElasticSearch (1.0+)、Hadoop 2 Cluster。

快速开始:

给定Hadoop集群,可以轻松设置Inviso。为了快速预览,最简单的方法是在NameNode/ResourceManager主机上配置Inviso。

1]、提取所需资源

> wget http://<mirror>/.../apache-tomcat-7.0.55.tar.gz

> tar -xzf apache-tomcat-7.0.55.tar.gz

> rm -r apache-tomcat-7.0.55/webapps/*

> wget http://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.2.tar.gz

> tar -xzf elasticsearch-1.3.2.tar.gz

2]、克隆Inviso存储库并构建Java项目

> git clone https://github.com/Netflix/inviso.git

> cd inviso

> ./gradlew assemble

> cd ..

3]、复制WAR文件并链接静态网页

> cp inviso/trace-mr2/build/libs/inviso#mr2#v0.war apache-tomcat-7.0.55/webapps/

> ln -s `pwd`/inviso/web-ui/public apache-tomcat-7.0.55/webapps/ROOT

4]、启动ElasticSearch并创建索引

> ./elasticsearch-1.3.2/bin/elasticsearch -d

> curl -XPUT http://localhost:9200/inviso -d @inviso/elasticsearch/mappings/config-settings.json

 {"acknowledged":true}

> curl -XPUT http://localhost:9200/inviso-cluster -d @inviso/elasticsearch/mappings/cluster-settings.json

 {"acknowledged":true}

5]、启动Tomcat

> ./apache-tomcat-7.0.55/bin/startup.sh

6]、建立虚拟环境并索引一些作业

> virtualenv venv

> source venv/bin/activate

> pip install -r inviso/jes/requirements.txt

> cd inviso/jes/

> cp settings_default.py settings.py

> python jes.py

> python index_cluster_stats.py

#Run in a cron or loop

> while true; do sleep 60s; python jes.py; done&

> while true; do sleep 60s; python index_cluster_stats.py; done&

7]、导航到http://hostname:8080/

下载地址:https://github.com/Netflix/inviso

3、hive-dwrf(Facebook ORC 文件格式分支)

hive-dwrf 是作为 Apache Hive 项目一部分的 ORC 文件格式的分支。

下载地址:https://github.com/facebookarchive/hive-dwrf

4、hblog(日志集群分析器)

hblog 是一个日志集群分析器。支持的体制格式有:Syslog、Log4j、Java GC log。

具有以下功能:

通过单个CLI远程访问日志。

对数行频率的多主机摘要。

多主机实时拖尾(例如tail -f)。

支持的日志格式:

Syslog、Log4j、Java GC log。

设定:

git clone https://github.com/facebook/hblog.git

cd hblog

git submodule init tornado/

git submodule update tornado/

Run:

cd hblog

./sbin/hblogd.py  # in a separate tab or in screen/tmux

export PATH="$PATH:$(pwd)/bin"  # for list_hosts_of_tier.sh

./bin/hblog.py --local  --start '2019-10-27 12:48:18' nn

./bin/hblog.py --local  --start '2019-10-27 12:48:18' nn-gc

./bin/hblog.py --local  --start '2019-10-27 12:48:18' syslog

下载地址:https://github.com/facebookarchive/hblog

注明

以上就是大数据相关软件Apache Airflow、Inviso、hive-dwrf、hblog的介绍内容,这些大数据相关软件都能使用在Linux操作系统中。

栏目相关文章