Apache Ambari 部署

本文详细介绍了使用Apache Ambari安装Hadoop集群的过程,包括准备工作、软件需求、部署方式及信息收集等内容。通过Ambari,可以轻松管理Hadoop组件,如HDFS、MapReduce、Hive、HBase等,同时提供了安装步骤、数据库配置和常见问题解决方案。

参考http://ambari.apache.org/1.2.2/installing-hadoop-using-ambari/

准备工作

1 理解组件

Ambari 支持的Hadoop组件主要分为3层:

  • Core Hadoop: Apache Hadoop基础组件.
    • Hadoop Distributed File System (HDFS): 设计用来运行 MapReduce 引擎的一个文件系统. 提供在分布式环境的数据访问.
    • MapReduce:  MapReduce 编程框架处理数据.
  • Essential Hadoop: :与 Core Hadoop 一起工作的组件.
    • Apache Pig 语言,被编译成MapReduce 程序.
    • Apache Hive:  SQL-like 查询语言,能被编译成MapReduce 程序.
    • Apache HCatalog: 元数据抽象层,用来隔离用户与 数据。 数据如何,在哪里被存储,用户和脚本无需关心
    • WebHCat: 为 HCatalog 和相关Hadoop组件提供REST-like APIs ,以前叫 Templeton.
    • Apache HBase: 分布式列数据库,提供随机访问和操作 HDFS的大块数据能力
    • Apache ZooKeeper:  HBase 依赖于zk.
  • Hadoop Support: 监控 Hadoop 的安装 和 在你的计算环境连接到 Hadoop
    • Apache Oozie: 基于服务器的工作流引擎,优化正在运行Hadoop jobs的工作流.
    • Apache Sqoop: 在Hadoop和外部结构数据之间迁移数据. 可以被Oozie 工作流集成
    • Ganglia: 性能监控系统
    • Nagios: 监控系统服务和网络

安装Ambari  必须安装HDFS,其他可选。

2 软件需求

系统要求:Linux 64位

软件要求 :yum rpm scp curl wget pdsh, 唯一需要安装的是 pdsh,搭建好自建仓库后运行下面命令即可

yum install pdsh

数据库:Ambari/Hive /HCatalog 都需要关系数据库的支持。

3 部署方式

虽然可以把所有组件装在一台机器上,但通常建议3台,1 master 2 slave。

4 信息收集

所有主机需要配置域名 Ambari 安装向导不支持 IP 地址

5 其他

ssh免登录

Ambari Server 在agent端安装软件 需要ssh 免登录

时钟同步

Disable SELinux

Disable iptables

Disable PackageKit

打开/etc/yum/pluginconf.d/refresh-packagekit.conf 写入 enable=0

Disable THP

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

如果Hive , HCatalog 使用MySQL作为 数据库,需要安装jdbc驱动

yum install mysql-connector-java*

开始安装

安装开始前,强烈建议搭建一个私有yum 仓库,具体地址请看hadoop-day-2: 自建hadoop-yum-仓库

 

安装repo,这里不建议使用hortonworks的repo,需要翻墙,建议使用自建仓库。

cd /etc/yum.repos.d/
wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.2/ambari.repo
# 根据角色安装
yum install ambari-server
yum install ambari-agent

 

配置server

ambari-server setup
Customize user account for ambari-server daemon [y/n] (n)? n

进程配置按n 默认即可

Adjusting ambari-server permissions and ownership...
Checking firewall status...
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[3] Custom JDK

选2 并同意Oracle JDK license 安装JDK,会自动安装jdk

Enter advanced database configuration [y/n] (n)?

按  n  使用默认数据库配置。

这里的ambari数据库直接装在本机的PostgreSQL上了,用户名和密码 ambari-server/bigdata ,按 y 可以自定义装在其他机器的其他数据库,如 测试的 MySQL

Configuring database...
Default properties detected. Using built-in database.
Configuring ambari database...
Checking PostgreSQL...
Running initdb: This may take upto a minute.
Initializing database: [ OK ]
About to start PostgreSQL
Configuring local database...
Restarting PostgreSQL
Extracting system views...
......ambari-admin-2.1.2.377.jar
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.

 

至此安装完成

启动server

ambari-server start

配置节点

安装jdbc驱动

yum install mysql-connector-java*

数据库配置

在测试的 MySQL 服务器上 新建2个库 Hive Oozie

 

安装,配置,部署集群

浏览器打开http://server_hostname:8080, 使用admin/admin.登录

1 点击 Launch Install Wizard

 

2 输入集群名称

bigdatatest

3 选择2.3,并点击下方的 Advanced Repository Options

3  只勾选使用的操作系统类型,下面仓库的地址也要换成自己搭建的yum源,修改完成后,点Next

4 输入集群节点的域名,并把免登录私钥 上传上来,然后下一步

 

 

5 服务器会在每个节点上安装agent, 知道都变成success 点击Next

 

6 选择需要安装的组件,从这里安装这里面必须选安装zookeeper,没法使用现有的

 

7 Hive 和 Oozie 需要配置数据库,直接使用测试环境现有Mysql,需要提前安装好 jdbc dirver。

 

8 确认后,会给出组件汇总的列表,没问题后点deploy

 

9 然后坐等安装完毕

 

 

 

一些bug处理

 

如果安装阶段就出现问题,请检查自建仓库

 

 

安装完成后,Oozie无法启动

Error: Specified key was too long; max key length is 767 bytes {stmnt 484436112 CREATE TABLE BUNDLE_ACTIONS (bundle_action_id VARCHAR(255) NOT NULL, bundle_id VARCHAR(255), coord_id VARCHAR(255), coord_name VARCHAR(255), critical INTEGER, last_modified_time DATETIME, pending INTEGER, status VARCHAR(255), PRIMARY KEY (bundle_action_id)) ENGINE = innodb} [code=1071, state=42000]

测试Mysql 字符集是 utf8mb4,修改后正常启动

ALTER DATABASE oozie character set latin1; 
ALTER DATABASE hive character set latin1;

Hive 无法启动

Initialization script hive-schema-1.2.0.mysql.sql
Error: Duplicate key name ‘PCS_STATS_IDX’ (state=42000,code=1061)
org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !!

 

https://svn.apache.org/repos/asf/hive/trunk/metastore/scripts/upgrade/mysql/hive-schema-1.2.0.mysql.sql

导入mysql 后启动成功

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值