大数据平台的利器--Ambari+HDP

本文详细介绍了如何使用Apache Ambari和Hortonworks Data Platform(HDP)来配置、管理和监控Hadoop集群。从Ambari和HDP的基本概念,到集群规划、安装步骤,包括关闭防火墙、配置免密登录、安装JDK等,一步步指导完成大数据平台的搭建。

Ambari是什么

Ambari 是 Apache 软件基金会 的一个顶级项目。

Apache Ambari项目用于配置、管理和监视Apache Hadoop集群的软件,简化Hadoop管理。Ambari提供了一个直观、易于使用的Hadoop管理web UI。

但是这里的 Hadoop 是广义,指的是 Hadoop 整个生态圈(例如 Hive,Hbase,Sqoop,Zookeeper 等),而并不仅是特指 Hadoop。

用一句话来说,Ambari 就是为了让 Hadoop 以及相关的大数据软件更容易使用的一个工具。

Ambari组成

Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说,用户通过 Ambari Server 通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI(图形用户界面),方便用户了解到集群的各种状态,并进行相应的维护。

HDP是什么

Hortonworks Data Platform (HDP)是一个用于分布式存储和处理大型多源数据集的开源框架。

hdp-architecture-diagram.png

安装步骤

一、集群规划

主机名 IP地址 功能
hadoop101 192.168.10.101 Yum源
hadoop102 192.168.10.102 Ambri Server + MySQL
hadoop103 192.168.10.103 Compute Node
hadoop104 192.168.10.104 Compute Node

二、下载安装包

HDP:

http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.6.4.0/HDP-2.6.4.0-centos6-rpm.tar.gz

ambari:

http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.6.1.0/ambari-2.6.1.0-centos6.tar.gz

HDP-UTILS:

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6/HDP-UTILS-1.1.0.21-centos6.tar.gz

三、新建虚拟机,安装CentOS

安装步骤省略

注意:磁盘空间不低于50G

四、关闭防火墙

service iptables stop
chkconfig iptables off

五、关闭SELINUX

vim /etc/selinux/config
修改其中的 SELINUX=enforcing 为 SELINUX=disabled

六、为提升hadoop性能,hadoop环境上要求关闭Transparent Hugepages(THP,页面内存透明化)

1、查看是否启用

[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never

[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

2、禁用 编辑rc.local启动文件

[root@localhost ~]# vim /etc/rc.d/rc.local
增加下列内容:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

3、重启

[root@localhost ~]# reboot

七、配置aliYum源

https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.53322f708nr7q9

1、备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

3、之后运行yum makecache生成缓存

八、配置时间同步

yum -y install ntp
### 关于大数据平台中 Flume 的安装配置与运维 Flume 是一种分布式、可靠且高可用的日志收集系统,广泛应用于大数据平台中的日志数据采集传输场景。以下是关于 Flume 在大数据平台中的安装、配置以及运维的一些关键点: #### 1. **Flume 的基本概念** Flume 主要由三个核心组件组成:Source(源)、Channel(通道) Sink(目标)。 - Source 负责接收事件并将其传递到 Channel 中。 - Channel 是一个临时缓冲区,用于存储来自 Source 的事件直到它们被传送到 Sink。 - Sink 将事件写入外部存储或发送到下一个 Flume Agent[^3]。 #### 2. **Flume 的安装过程** 在 Linux 环境下安装 Flume 可以通过以下方式完成: - 下载 Apache Flume 的官方版本包,并解压至指定目录。 - 设置环境变量 `FLUME_HOME` `PATH` 来简化命令调用。 - 使用如下命令验证 Flume 是否成功安装: ```bash [root@master conf]# flume-ng version ``` 如果显示 Flume 版本号,则说明安装成功[^3]。 #### 3. **Flume 的配置方法** Flume 的配置主要依赖于其配置文件(通常是 `.conf` 文件),该文件定义了 Source、Channel Sink 的具体实现及其参数设置。例如,下面是一个简单的 Flume 配置示例: ```properties agent.sources = netcat-source agent.sinks = logger-sink agent.channels = memory-channel agent.sources.netcat-source.type = netcat agent.sources.netcat-source.bind = localhost agent.sources.netcat-source.port = 44444 agent.sinks.logger-sink.type = logger agent.channels.memory-channel.type = memory agent.channels.memory-channel.capacity = 1000 agent.channels.memory-channel.transactionCapacity = 100 agent.sources.netcat-source.channels = memory-channel agent.sinks.logger-sink.channel = memory-channel ``` 此配置表示 Flume 接收网络输入并通过内存通道将数据记录到控制台日志中[^3]。 #### 4. **Flume 的运维实践** 为了确保 Flume 在生产环境中稳定运行,可以采取以下措施: - **性能优化**:调整 Channel 的容量 (`capacity`) 事务大小 (`transactionCapacity`) 参数来适应不同的流量负载[^3]。 - **监控机制**:利用 Cloudera Manager 或 Ambari 等工具对 Flume 实时监控,查看吞吐量、延迟等指标[^4]。 - **错误恢复策略**:启用 Flume 的内置重试机制,在发生短暂连接失败时自动尝试重新发送数据[^3]。 #### 5. **常见问题排查** 当遇到 Flume 故障时,可以通过检查日志文件定位问题原因。一些典型的错误可能包括但不限于: - 数据丢失:可能是由于 Channel 缓存不足或者 Sink 写入速度过慢引起。 - 性能瓶颈:通常表现为 CPU 占用率过高或磁盘 I/O 延迟增加。 --- ### 示例代码 启动 Flume Agent 的命令如下所示: ```bash flume-ng agent --name agent --conf $FLUME_CONF_DIR --conf-file example.conf -Dflume.root.logger=INFO,console ``` 其中 `$FLUME_CONF_DIR` 表示 Flume 配置文件所在的路径,而 `example.conf` 则是具体的配置文件名称[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值