Ambari搭建大数据平台教程(HDP)

搭建测试环境

本文是公司搭建测试环境大数据平台时总结的,按安装相应版本的官方文档的步骤翻译过来的。其中遇到了一些问题,相应的解决方案也都一一列举了。按照这个方式一定可以搭建成功。

  • 基本信息:

系统:Ubuntu-14.04.1

JDK版本:jdk-8u111

SCALA版本:

MySQL数据库:

  • 各个服务器的角色:

172.28.44.120:nn0

172.28.44.121:dn0

172.28.44.122:dn1

一 配置网络环境(三台机器分别配置):

1 设置静态ip

/etc/network/interfaces配置静态ip:

auto eth0                  #设置自动启动eth0接口

iface eth0 inet static     #配置静态IP

address 172.28.44.120      #IP地址

netmask 255.255.255.0      #子网掩码

gateway 172.28.44.254        #默认网关

2 修改DNS

/etc/resolvconf/resolv.conf.d/base配置nameserver

nameserver 172.25.9.10

nameserver 172.26.9.10

3 重启网络,使配置生效

sudo /etc/init.d/networking restart

4 用脚本linux_logon.sh进行联网认证

sh linux_logon.sh

需要的username和password是OA系统的用户名和密码。

5 可以ping www.baidu.com验证是否可以访问外网。

二 配置基础环境(三台机器分别配置):

1 配置ssh免密码登录

  • 生成ssh-key

ssh-keygen

  • 将namenode的id_rsa.pub添加到datenode的authorized_keys

分别在nn0执行

ssh-copy-id -i id_rsa root@172.28.44.120

ssh-copy-id -i id_rsa root@172.28.44.121

ssh-copy-id -i id_rsa root@172.28.44.122

  • 测试免密码登录

2 配置ntp事件同步服务

  • 安装ntp

apt-get install ntp

  • 运行ntp服务

update-rc.d ntp defaults

3 检查DNS和NSCD

  • 修改hosts文件,添加一下内容

vim /etc/hosts

172.28.44.120 nn0.xx.xx

172.28.44.121 dn0.xx.xx

172.28.44.122 dn1.xx.xx

  • 设置hostname

vim /etc/hostname

nn0:nn0.xx.xx

dn0:dn0.xx.xx

dn1:dn1.xx.xx

  • 重启生效

4 关闭防火墙

依次执行一下命令

sudo ufw disable

sudo iptables -X

sudo iptables -t nat -F

sudo iptables -t nat -X

sudo iptables -t mangle -F

sudo iptables -t mangle -X

sudo iptables -P INPUT ACCEPT

sudo iptables -P FORWARD ACCEPT

sudo iptables -P OUTPUT ACCEPT

5 关闭SELINUX

setenforce 0

6 安装配置数据库MySQL 5.6

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

FLUSH PRIVILEGES;

  • 修改mysql编码方式

vim /etc/mysql/my.cnf

  • 在[client]下追加 default-character-set = utf8 
  • 在[mysqld]下追加 character-set-server=utf8 
  • 在[mysql]下追加 default-character-set=utf8 
  • 重启,登录mysql,采用status校验编码是否生效

  • 预先创建Ambari需要依赖的数据库,创建相关用户

(1) 在Ambari Server host安装connector

  • 安装connector

apt-get install libmysql-java

  • 确保mysql-connector-java.jar在/usr/share/java/目录下
  • 确保mysql-connector-java.jar有644的权限

(2) 为Ambri创建一个用户,并赋权限

# mysql -u root -p

CREATE USER '<AMBARIUSER>'@'%' IDENTIFIED BY '<AMBARIPASSWORD>';

GRANT ALL PRIVILEGES ON *.* TO '<AMBARIUSER>'@'%';

CREATE USER '<AMBARIUSER>'@'localhost' IDENTIFIED BY '<AMBARIPASSWORD>';

GRANT ALL PRIVILEGES ON *.* TO '<AMBARIUSER>'@'localhost';

CREATE USER '<AMBARIUSER>'@'<AMBARISERVERFQDN>' IDENTIFIED BY '<AMBARIPASSWORD>';

GRANT ALL PRIVILEGES ON *.* TO '<AMBARIUSER>'@'<AMBARISERVERFQDN>';

FLUSH PRIVILEGES;

* AMBARIUSER是Ambari用户名,AMBARIPASSWORD是Ambari用户密码,AMBARISERVERFQDN是Ambari服务主机对应的域名。

(3) 加载Ambri数据库schema

mysql -u <AMBARIUSER> -p

CREATE DATABASE <AMBARIDATABASE>;

USE <AMBARIDATABASE>;

SOURCE /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;

  • 预先创建hive需要依赖的数据库,创建相关用户

(1) 在Ambari Server host安装connector(之前有操作过,可以省略)

* 需要执行一下命令初始化JDBC Driver:

ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

(2) 创建hive数据库

CREATE DATABASE hive;

  • 预先创建oozie需要依赖的数据库,创建相关用户

(1) 在Ambari Server host安装connector(之前有操作过,可以省略)

(2) 创建oozie数据库

三 配置本地源(只需要在主节点上配置即可,nn0)

1 准备配置本地源

  • 创建HTTP服务器
    • 安装Apache httpd
    • 启动httpd
  • 在nn0为web服务器创建目录
    • mkdir -p /var/www/html/

三 安装Ambri

1 下载,安装Ambari

  • 用root用户登录

  • 下载package
    • wget -nv http://public-repo-1.hortonworks.com/ambari/ubuntu14/2.x/updates/2.2.2.18-1/ambari.list -O /etc/apt/sources.list.d/ambari.list
    • apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
    • apt-get update

  • 确认name list里面的package是否都下载成功,如果下载成功可以看到版本号
    • apt-cache showpkg ambari-server
    • apt-cache showpkg ambari-agent
    • apt-cache showpkg ambari-metrics-assembly

  • 安装Ambari,会默认安装PostgreSQL Ambari database
    • apt-get install ambari-server

2 配置Ambari Server

  • 运行配置程序。

ambari-server setup

  • 如果没有关闭SELinux,会收到提示,输入“y”。
  • Customize user account for ambari-server daemon,输入root用户。
  • 如果没有关闭防火墙,也会收到提示,输入“y”。
  • 选择下载Oracle JDK 1.8,接收Oracle的协议。
  • 选择“y”,再选择3:MySQL,使用我们提前安装好的Mysql数据库

(1) 输入Hostname (localhost)。

(2) 输入Port (3306)。

(3) 输入Database name (ambari)。

(4) 输入Username (ambari)。

(5) 输入Database Password (******)。

(6) 重复输入Password。

(7) 此时会有一个警告:WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql。

(8) 我们已经执行过load过schema,选择“y”即可安装成功。

3 启动Ambari Server

  • 启动命令

ambari-server start

  • 检查状态的命令

ambari-server status

  • 停止命令

ambari-server stop

* 如果之后需要安装的hive和oozie需要依赖自己安装的MySQL数据库,需要事先创建hive和oozie相关的数据库,创建用户,赋权限。

四 安装、配置、部署HDP集群

1 登录Apache Ambari集群

  • 使用Ambari服务器的host登录Ambari界面
  • 用户名:admin 密码:admin

2 选择Lunch Install Wizard

3 给集群命名

4 选择HDP版本

5 配置hosts和Private Key

  • 如果需要程序自动安装Ambari Angent,选择Provide your SSH Private Key to automatically register hosts;如果需要手动安装Ambari Angent,选择Perform manual registration on hosts and do not use SSH。
  • 如果选择了Provide your SSH Private Key to automatically register hosts,需要添加id_rsa私钥,或者复制进text输入框。
  • 输入ssh-key对应的用户名。
  • 注册和确认。

6 确认hosts

校验hosts

7 选择需要安装的服务

8 指派Master

9 指派Slaves和clients

10 定制服务

11 预览

12 安装、启动、测试

* 由于在预先安装MySQL数据库的时候,安装过mysql-connector-java,和ambari默认的版本有冲突,导致安装Ooize失败。

错误日志:

Preparing to unpack .../mysql-connector-java_5.1.37-2_all.deb ...

Unpacking mysql-connector-java (5.1.37-2) ...

dpkg: error processing archive /var/cache/apt/archives/mysql-connector-java_5.1.37-2_all.deb (--unpack):

trying to overwrite '/usr/share/java/mysql-connector-java.jar', which is also in package libmysql-java 5.1.28-1

Errors were encountered while processing:

/var/cache/apt/archives/mysql-connector-java_5.1.37-2_all.deb

E: Sub-process /usr/bin/dpkg returned an error code (1)

* 解决方案:手动卸载之前安装的mysql-connector-java即可。

apt-get remove libmysql-java

13 完成

14 管理界面

参考链接:https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.0/bk_ambari-installation/content/enable_ntp_on_the_cluster_and_on_the_browser_host.html

Github主页:https://github.com/tomscut,欢迎大家关注交流。

专注于大数据开源技术,是Hadoop,Hbase,Alluxio,Druid,Pulsar的Contributor。

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值