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

时间:2024-03-22 16:26:35
搭建测试环境

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

  • 基本信息:
系统: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-******

  • 将namenode的id_rsa.pub添加到datenode的authorized_keys
分别在nn0、dn0、dn1的节点上执行
ssh-copy-id -i id_rsa [email protected]
ssh-copy-id -i id_rsa [email protected]
ssh-copy-id -i id_rsa [email protected]

  • 测试免密码登录

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.bigo.baina
172.28.44.121 dn0.bigo.baina
172.28.44.122 dn1.bigo.baina

  • 设置hostname
vim /etc/hostname
` nn0:nn0.bigo.baina
dn0:dn0.bigo.baina
dn1:dn1.bigo.baina

  • 重启生效

4 关闭防火墙
依次执行一下命令
sudo ufw disablesudo iptables -Xsudo iptables -t nat -Fsudo iptables -t nat -Xsudo iptables -t mangle -Fsudo iptables -t mangle -Xsudo iptables -P INPUT ACCEPTsudo iptables -P FORWARD ACCEPTsudo 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
Ambari搭建大数据平台教程(HDP)
2 选择Lunch Install Wizard
Ambari搭建大数据平台教程(HDP)


3 给集群命名Ambari搭建大数据平台教程(HDP)


4 选择HDP版本
Ambari搭建大数据平台教程(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对应的用户名。
  • 注册和确认。
Ambari搭建大数据平台教程(HDP)

6 确认hosts
校验hosts
Ambari搭建大数据平台教程(HDP)

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

7 选择需要安装的服务
Ambari搭建大数据平台教程(HDP)

8 指派Master
Ambari搭建大数据平台教程(HDP)

9 指派Slaves和clients
Ambari搭建大数据平台教程(HDP)

10 定制服务
Ambari搭建大数据平台教程(HDP)

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

Ambari搭建大数据平台教程(HDP)
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
Ambari搭建大数据平台教程(HDP)

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

Ambari搭建大数据平台教程(HDP)
13 完成
Ambari搭建大数据平台教程(HDP)
14 管理界面
Ambari搭建大数据平台教程(HDP)

参考链接: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