ambari安装笔记

Ambari安装笔记

1 准备工作

1.1 系统及版本选择

1.1.1选用Centos6

原因:

1、   Ambari不支持ubuntu16,虽然最新的Ambari版本好像是支持的,但是没有试过。

2、   Python 2.7默认启用SSL证书验证。Ambari代理使用自签名证书与服务器进行通信,不能验证。因此,如果在机器上安装了Python 2.7,则代理程序无法注册到服务器。我们需要在代理中手动禁用证书验证,或者为加密通信找出不同的解决方案。

这个问题可以解决,通过改变python版本解决,但是比较麻烦。       

3、   在Ubuntu上安装的时候Ambari版本使用的是2.2 可能最新版2.5以上问题已解决了。但是未尝试。

1.1.2 选用高版本Ambari

原因:

1、   曾经安装2.0版本时,将Ambari建表语句导入到mysql数据库中时遇到建表失败(主键长度大于1000byte)。在2.2时这个建表语句已经改了,不会出现这个问题。

2、   一个开源项目高版本的功能以和支持比低版本成熟完善多了,安装起来应该会更为容易、规避了很多低版本安装遇到的问题。

1.1.3 选用Centos6.9和Ambari2.5

         如上,选择合适的版本很重要,选择不当就会掉入坑里,浪费大量的时间。

1.1.4 安装前说明

1、   本文以下内容都是以centos系统为准。

2、   因为安装时没有截图,并且部分设置规划不完美,所以截图来都是来自后期截图或网络上的图片,和文字说明有所出入,我会在图片上加上描述信息,应该不影响阅读此文并进行安装,以后若有时间再次安装Ambari时会刷新此文档。

1.2 集群环境准备

1.2.1 主机环境

         准备4台机子

192.168.0.160 #主机,ambari-server在这个机子上

192.168.0.161 #安装hadoop01

192.168.0.162 #安装hadoop02

192.168.0.163 #安装hadoop03

         以下设定,如无特别说明以hadoop02(192.168.0.1)为环境设定

1.2.1.1 设置静态IP

1、   修改对应网卡ip地址

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

修改内容:

DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0

HWADDR=08:00:27:3A:25:FE #对应的网卡物理地址

TYPE=Ethernet

UUID=8a1aa5eb-9d62-4dad-9c23-ccd0538700ca

ONBOOT=yes

NM_CONTROLLED=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备

BOOTPROTO=static #设置网卡获得ip地址的方式,此处设为static

BROADCAST=192.168.0.225 #对应的子网广播地址

IPADDR=192.168.0.162 # IP地址

NETMASK=255.255.255.0 #网卡对应的网络掩码

NETWORK=192.168.0.0 #网卡对应的网络地址

 

2、   修改网关的配置文件

# vim /etc/sysconfig/network

修改内容:

NETWORKING=yes #表示系统是否使用网络,一般设置为yes。

HOSTNAME=hadoop02.yjhh.com #设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应

GATEWAY=192.168.0.1 #网关

 

3、   修改DNS的配置文件

# vim /etc/resolv.conf

修改内容:

nameserver 192.168.0.1 #DNS设置域名服务器

 

4、   重启网络配置

# /etc/init.d/network restart

最好重启:reboot

1.2.1.2 hosts配置

         4台机子hosts文件配置:

127.0.0.1 localhost

192.168.0.160 ambari.yjhh.com

192.168.0.161 hadoop01.yjhh.com

192.168.0.162 hadoop02.yjhh.com

192.168.0.163 hadoop03.yjhh.com

         hosts文件地址:/etc/hosts

1.2.1.3 hostname设置

1、   修改/etc/sysconfig/network 文件里的HOSTNAME。

命令如:

# vim /etc/sysconfig/network

         设置和前面讲过的一样:

NETWORKING=yes #表示系统是否使用网络,一般设置为yes。

HOSTNAME=hadoop02.yjhh.com #设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应

GATEWAY=192.168.0.1 #网关

2、   使用命令hostname 设置hostname

命令如:

# hostname hadoop02.yjhh.com

1.2.1.4 重启机子,命令 reboot

         hostname设置不好安装集群时就不能成功,并且使用/etc/init.d/network restart 命令重启机子有时并不管用。

1.2.2 ssh免密

1.2.2.1 SSH配置

每台主机上打开配置

# vim /etc/ssh/sshd_config

修改下面选项:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

 

设置完成后重启ssh

# /etc/init.d/ssh restart

1.2.2.2生成SSH密钥

# ssh-keygen -t rsa

执行完成在~/.ssh/目录下会生成公匙文件id_rsa.pub,私匙文件id_rsa

1.2.2.3把公钥写入主机authorized_keys文件

         主机即 ambari安装的机子192.168.0.160hostnane为ambari.yjhh.com

         依次在主机和其他三个hadoop机子执行下面命令

# ssh-copy-id [email protected]

1.2.2.4 将主机的authorized_keyscopy到三个hadoop机子

# scp ~/.ssh/uthorized_keys [email protected]:~/.ssh/

# scp ~/.ssh/uthorized_keys [email protected]:~/.ssh/

# scp ~/.ssh/uthorized_keys [email protected]:~/.ssh/

1.2.3 关闭防火墙

关闭命令:  service iptables stop

永久关闭防火墙:chkconfig iptables off

两个命令同时运行,运行完成后查看防火墙关闭状态

service iptables status

相关命令参考:

1 关闭防火墙-----service iptables stop

2 启动防火墙-----service iptables start

3 重启防火墙-----service iptables restart

4 查看防火墙状态--service iptables status

5 永久关闭防火墙--chkconfig iptables off

6 永久关闭后启用--chkconfig iptables on

1.2.4 启动ntp

启动命令:

# /etc/init.d/ntpd start

配置启动项:

# chkconfig ntpd on

1.2.5关闭 selinux

打开selinux cofnig 文件:

# vim /etc/selinux/config

修改SELINUX 为disabled

SELINUX=disabled

         重启机子。

1.2.6 安装jdk

1.        下载到jdk-8u131-linux-x64.tar.gz

2.        在/usr/目录下创建java目录

mkdir /usr/java

cd /usr/java

3.        将下载的tar包拷贝到/usr/java 目录下然后解压

# tar -zvxf jdk-8u131-linux-x64.tar.gz

4.        设置环境变量

# vim /etc/profile

用vim 打开profile增加如下内容:

#set java environment

JAVA_HOME=/usr/java/jdk1.8.0_131

JRE_HOME=/usr/java/jdk1.8.0_131/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

让修改生效:

# source /etc/profile

5.        验证java是否安装成功

# java -version

1.2.7 安装mysql(仅在ambari主机安装)

1.2.7.1卸载掉原有mysql

查看系统上是否已经安装了mysql数据库:

        

# rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库

有的话,我们就通过 rpm -e 命令或者 rpm -e --nodeps 命令来卸载掉

# rpm -e mysql  // 普通删除模式

# rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!!

1.2.7.2通过yum来进行mysql的安装

#yum install -y mysql-server mysql mysql-devel

1.2.7.3 mysql数据库的初始化及相关配置

启动命令:

# service mysqld start

1.2.7.4设置开机启动

# chkconfig mysqld on

1.2.7.5查看mysql服务是不是开机自动启动

# chkconfig --list | grep mysqld

1.2.7.6设置root密码

/usr/bin/mysqladmin -u root password 'root'  // 为root账号设置密码,此处密码为root

1.2.7.7创建ambari库,并授权

# mysql -uroot -proot

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 7

Server version: 5.1.73 Source distribution

 

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

mysql> create database ambari character set utf8 ; # 创建ambari库

Query OK, 1 row affected (0.00 sec)

 

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

Query OK, 0 rows affected (0.00 sec) #授权外网通过root用户 以root密码访问

 

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

mysql> SELECT User, Password, Host FROM user; #查看 用户名密码

+------+-------------------------------------------+-----------+

| User | Password                                  | Host      |

+------+-------------------------------------------+-----------+

| root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | localhost |

| root |                                           | ambari    |

| root |                                           | 127.0.0.1 |

|      |                                           | localhost |

|      |                                           | ambari    |

| root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | %         |

+------+-------------------------------------------+-----------+

6 rows in set (0.00 sec)

 

mysql> flush privileges; # 刷新授权信息

Query OK, 0 rows affected (0.00 sec)

1.2.7.8下载mysql的驱动jar把jdbc驱动放到以下几个目录中

/usr/share/java/

/var/lib/ambari-server/resources #等ambari安装后再copy到这个目录下

/usr/lib/ambari-server #等ambari安装后再copy到这个目录下

 

2安装Ambari Server

         登录ambari-server主机(192.168.0.160)

2.1添加 yum 源

# cd /etc/yum.repos.d/

#wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.0.3/ambari.repo -O /etc/yum.repos.d/ambari.repo

检查是否安装成功:

# yum repolist

可看到列表:

2.2 安装ambari

命令:

# yum install ambari-server

2.3 设置ambari

1.        安装命令

# ambari-server setup

2.        检查SELinux是否关闭,如果关闭不用操作

Using python  /usr/bin/python

Setup ambari-server

Checking SELinux...

SELinux status is 'disabled'

3.        提示是否自定义设置。输入:y

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

4.        ambari-server 账号。输入:root或回车默认即为root

Enter user account for ambari-server daemon (root):

Adjusting ambari-server permissions and ownership...

5.        设置JDK。输入:3

Checking JDK...

Do you want to change Oracle JDK [y/n] (n)? y

[] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8

[] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7

[] Custom JDK

=============================================================================

Enter choice (1): 3

6.        如果上面选择3自定义JDK,则输入: /usr/java/jdk1.8.0_131

WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.

WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.

Path to JAVA_HOME: /usr/java/jdk1.8.0_131

Validating JDK on Ambari Server...done.

Completing setup...

7.        数据库配置。选择:y

Configuring database...

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

8.        选择数据库类型。输入:3

Configuring database...

=============================================================================

Choose one of the following options:

[1] - PostgreSQL (Embedded)

[2] - Oracle

[3] - MySQL

[4] - PostgreSQL

[5] - Microsoft SQL Server (Tech Preview)

[6] - SQL Anywhere

=============================================================================

Enter choice (3): 3

9.        设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。

Hostname (localhost):

Port (3306):

Database name (ambari):

Username (root):

Enter Database Password (root)

10.    提示必须安装MySQL JDBC,回车结束ambari配置

WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java.

Press to continue.

11.    提示将Ambari数据库脚本导入到数据库

WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java.

Press to continue.

12.    将Ambari数据库脚本导入到数据库

用Ambari用户(上面设置的用户)登录mysql

mysql -uroot –proot

use ambari

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

2.4 启动Amabri

# ambari-server start

 

成功启动后在浏览器输入Ambari地址:

http://192.168.0.160:8080/

出现登录界面

 

3部署集群

 


你可能感兴趣的:(大数据)