6. 大数据应用列表(运行在Ubuntu 16)¶
6.1. Kafka¶
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理所有的动作流数据。 它通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。 拥有高吞吐量即使是非常普通的硬件,Kafka也可以支持每秒数百万的消息。 同时Kafka支持通过服务器和消费机集群来分区消息。
6.1.1. 安装关键字¶
-s bigdata -ba kafka 或者 --server bigdata --bigdata-app kafka
6.1.2. 话题(topic)¶
# 创建话题
sudo ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
# 检查话题
sudo ./bin/kafka-topics.sh --list --zookeeper localhost:2181
# 删除话题
sudo ./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test
6.1.3. 运行生产者(producer)¶
sudo ./bin/kafka-console-producer.sh --broker-list <IP Address>:9092 --topic test
6.1.4. 运行消费者(consumer)¶
sudo ./bin/kafka-console-consumer.sh --bootstrap-server <IP Address>:9092 --topic test --from-beginning
6.1.5. Kafka安装配置¶
- 安装路径:/opt/kafka
- bin目录: /opt/kafka/bin
- zookeeper配置文件:/opt/kafka/config/zookeeper.properties
- kafka配置文件:/opt/kafka/config/server.properties
6.1.6. 服务¶
# 查看状态
sudo systemctl status kafka
sudo systemctl status zookeeper
# 重启服务
sudo systemctl restart kafka
sudo systemctl restart zookeeper
6.1.7. Kafka分配多个启动端口¶
假设我想为我安装的kafka服务启动三个运行端口:9092,9093,9094,则我需要创建如下配置 文件:
[kafka_server]
host=192.168.33.31
user=ubuntu
passwd=18fc2f8e53c021a965cd9628
KAFKA_PORTS=9092, 9093, 9094
Note
我们在配置文件中使用 KAFKA_PORTS 来指定需要开启的端口,用“,“分割多个端口。
然后直接通过配置文件安装方法,假设创建的配置文件名为 config.ini ,则可以执行下列命令 生成多端口服务器:
> ezhost -C config.ini kafka_server -s bigdata -ba kafka
登录到服务器检查端口服务是否开启:
> sudo systemctl status zookeeper.service
> sudo systemctl status kafka-9092.service
> sudo systemctl status kafka-9093.service
> sudo systemctl status kafka-9094.service
6.2. Spark¶
Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark 是一种与 Hadoop 相似的 开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些 工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外, 它还可以优化迭代工作负载。
6.2.1. 安装关键字¶
-s bigdata -ba spark 或者 --server bigdata --bigdata-app spark
6.2.2. 安装配置¶
6.2.2.1. Spark¶
- 安装路径:/opt/spark
- 配置路径:/opt/spark/conf
6.2.2.2. Hadoop¶
- 安装路径:/opt/hadoop
- 配置路径:/opt/hadoop/etc
6.2.3. 测试¶
> cd /opt/spark
> ./bin/run-example SparkPi 10
> sudo ./bin/pyspark --master local[2]
6.3. Spark Cluster¶
6.3.1. demo_config.ini¶
[demo_spark_master]
host=192.168.33.25
user=ubuntu
passwd=18fc2f8e53c021a965cd9628
SPARK_WORKER_MEMORY=512M
[demo_spark_slave1]
host=192.168.33.26
user=ubuntu
passwd=18fc2f8e53c021a965cd9628
[demo_spark_slave2]
host=192.168.33.27
user=ubuntu
passwd=18fc2f8e53c021a965cd9628
Note
可以在Spark主(master)服务器中配置每个从(slave)服务器的执行内存大小, 通过 SPARK_WORKER_MEMORY 进行赋值。
6.3.2. 安装实例¶
我们把 demo_config.ini 中的 demo_spark_master 做为spark主(master)服务器, 把 demo_spark_slave1 作为第一个从(slave)服务器,则安装命令如下:
ezhost -C /vagrant/ezhost/data/demo_config.ini demo_spark_master -s bigdata -ba spark -add-slave demo_spark_slave1
假如你已经完成了上面的命令操作,现在想为 demo_spark_master 主服务器多增加一个从服务器 demo_spark_slave2 ,则可以通过增加 -skip-master 来避免重复安装主服务器,安装命令如下:
ezhost -C /vagrant/ezhost/data/demo_config.ini demo_spark_master -s bigdata -ba spark -add-slave demo_spark_slave2 -skip-master
6.3.3. Web UI¶
192.168.33.25:8080
6.4. Elasticsearch¶
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片, 索引副本机制,restful风格接口,多数据源,自动搜索负载等。
6.4.1. 安装关键字¶
-s bigdata -ba elastic 或者 --server bigdata --bigdata-app elastic
6.4.2. 安装配置¶
- 安装路径:/usr/share/elasticsearch
- 配置路径:/etc/default/elasticsearch
6.4.3. 测试¶
curl 127.0.0.1:9200
6.4.4. 服务¶
# 查看状态
sudo systemctl status elasticsearch
# 重启服务
sudo systemctl restart elasticsearch
6.5. Logstash¶
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用。
6.5.1. 安装关键字¶
-s bigdata -ba logstash 或者 --server bigdata --bigdata-app logstash
6.5.2. 安装配置¶
- 安装路径:/usr/share/logstash
- 配置路径:/etc/logstash
6.5.3. 服务¶
# 查看状态
sudo systemctl status logstash
# 重启服务
sudo systemctl restart logstash
6.6. Kibana¶
Kibana也是一个开源和免费的工具,它可以为Logstash和ElasticSearch提供的日志分析友好的Web界面, 可以帮助您汇总、分析和搜索重要数据日志。
6.6.1. 安装关键字¶
-s bigdata -ba kibana 或者 --server bigdata --bigdata-app kibana
6.6.2. 安装配置¶
- 安装路径:/usr/share/kibana
- 配置路径:/etc/kibana
6.6.4. 服务¶
# 查看状态
sudo systemctl status kibana
# 重启服务
sudo systemctl restart kibana