ambari+hdp+spark集群本地源搭建详细图解教程

Ambari本地源搭建hdp+spark集群

一、   操作系统

     RHEL 7

二、   本地源搭建

1.     安装apache web服务

a)       安装

选择一台节点单独作为apache web服务,并通过yum来安装;

b)       自动启动和停止

启动和停止

#systemctl enable httpd.service        

# systemctl start httpd.service启动

# systemctl restart httpd.service重新启动

# systemctl stop httpd.service停止服务

c)       测试

# echo"www.linuxidc.local" > /var/www/html/index.html

# echo"good web服务" >> /var/www/html/index.html

然后在浏览器中输入http://hostname会出现以上输入的文字

 

2.     获取本地仓库软件包

1)   创建本地仓库Repositories的目录

1、在Apache http web服务上的默认根目录:/var/www/html/

 

2)   下载Ambari Repositories仓库

注:此例是下载ambari 2.4.1.0,请下载最新版本

Base URL

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.1.0

Repo File

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.1.0/ambari.repo

Tarball md5 |asc

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

 

把下载ambari.repoambari-2.4.1.0-centos7.tar.gz文件

拷贝到web服务器上Ambari/centos7/ 目录下

 

3)   下载HDP Stack Repositories仓库

注:此例是下载hdp2.5.0,请下载最新版本

HDP

Version Definition File (VDF)

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0/HDP-2.5.0.0-1245.xml

Base URL

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0

Repo File

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0/hdp.repo

http://s3.amazonaws.com/public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.3.0/hdp.repo

Tarball md5 |asc

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

HDP-UTILS

Base URL

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7

Tarball md5 |asc

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

把下载hdp.repoHDP-2.5.0.0-centos7-rpm.tar.gz拷贝到web服务器上/hdp/centos7/ 目录下

把下载HDP-UTILS-1.1.0.21-centos7.tar.gz拷贝到web服务器上/hdpUtils/centos7/目录下

 

4)   拷贝以上repo文件到yum更新目录

把以上拷贝的*.repo更新到/etc/yum.repos.d/上:

# cp *.repo /etc/yum.repos.d/

 

5)   确定yum软件包有效

# yum repolist

 

6)   生成Repository的元数据

在web服务器上上执行:

1、Ambari

# createrepo AMBARI-2.4.1.0

#

2、HDP:

# createrepo HDP

# createrepo HDP2.5.3

3、HDP UTILS:

# createrepo HDP-UTILS-1.1.0.21

 

 

三、   集群环境配置

1.     配置主机名


a)       vim /etc/hosts :


b)       vim /etc/hostname

修改各个主机各自的主机名分别为

master、slave01、slave02、slave03、slave04

 

2.     关闭防火墙

a)  检查防火墙状态:systemctl status firewalld.service

b)  设置开机禁止防火墙:systemctl disable firewalld.service

c)       关闭防火墙:systemctl stop firewalld.service

命令:


3.     关闭SELinux

vim /etc/selinux/config

设置:set SELINUX=disabled


4.     设置系统默认创建文件的权限

查看默认权限: $umask

设置权限: echoumask 0022 >> /etc/profile

5.     ssh免密配置:

Ambary-server(master)所在的机器必须对集群其他机器有ssh免密权限。

官方建议选用root用户进行ssh配置。试过新建一个用户,然后做ssh免密,然后安装HDP过程中会报权限方面的错误。

a)        打开ssh配置

每台主机都执行vim /etc/ssh/sshd_config

开启选项:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys


b)        生成ssh密钥

每台主机执行:ssh-keygen -t rsa ,回车到底生成rsa类型密钥,存在~/.ssh/目录下,有公钥文件:id_rsa.pub,私钥文件:id_rsa。


c)        把集群中所有主机的公钥都考到master主机上,命令:ssh-copy-id root@master。


d)        在master主机上执行:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,会生成文件 ~/.ssh/authorized_keys。内容如下:

 

e)        把该文件拷贝到集群中其他所有节点主机:

scp  ~/.ssh/authorized_keys root@slave01/2/3/4:~/.ssh/,并修改所有主机的.ssh/目录和相应文件权限,执行:

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

 

f)         重启ssh服务,然后测试各个主机之间能否连接

systemctl restart sshd.service

ssh hostname.spark

 

6.     安装ntp,使集群节点时间同步:

a)         在每个节点执行:yum -y install ntp ntpdate
b)         检查ntpd服务是否启动 systemctl is-enabled ntpd
c)         设置为开启自动启动:systemctl enable ntpd
d)         启动ntp service:  systemctl start ntpd
e)         安装完毕执行 sudo service ntpd restart
 

7.     同步时间服务器

a)         选取master作为内部时间服务器,使用命令vim /etc/ntp.conf,修改配置文件如下
 
 
b)         保存退出,重启服务,查看监听
 
 

c)         修改其他另一个节点主机配置文件
 
d)         将配置文件发送给其他所有节点,并同步到服务器节点。ntpdate –u 172.21.9.106
 
e)         重启后查看各节点服务状态
 

8.     查看操作系统可同时操作文件数

1、limits.conf查看最大文件、进程数限制

注:采用这种方式

vi /etc/security/limits.conf

增加:

/* 原来

* - nproc 65535

* - nofile 65535

*/

 

* - nofile 32768

* - nproc 65536

 

9.     各节点安装jdk1.8

四、   安装mysql 5.7

1.     卸载系统自带的 mariadb-lib

rpm -qa|grep mariadb

 rpm-e mariadb-libs-5.5.50-1.el7_2.x86_64 --nodeps


2.     下载 rpm 安装包


3.     安装(安装在master节点上)

新建文件目录/usr/local/mysql,并解压文件包到该目录:

tar -xvfmysql-5.7.18-1.el7.x86_64.rpm-bundle.tar


依次执行命令安装一下四个包(按顺序执行,因为有依赖关系)

rpm -ivhmysql-community-common-5.7.18-1.el7.x86_64.rpm

rpm -ivhmysql-community-libs-5.7.18-1.el7.x86_64.rpm

rpm -ivhmysql-community-client-5.7.18-1.el7.x86_64.rpm

rpm -ivhmysql-community-server-5.7.18-1.el7.x86_64.rpm

4.     数据库初始化

在 *nix 系统中,为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化

mysqld --initialize --user=mysql

如果是以 mysql 身份运行,则可以去掉 --user 选项。

 

另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码,而使用 --initialize-insecure 命令则不使用安全模式,则不会为 root 用户生成一个密码。

这里演示使用的 --initialize 初始化的,会生成一个 root 账户密码,执行cat /var/log/mysqld.log 查看:


上图里的最后一行则给出了生成的密码,现在就可以启动数据库了,然后使用上面的密码登陆。

启动mysqld服务:systemctl start mysqld

登录mysql: mysql –u root –p

5.     修改 root 密码

以前的 password()函数将会被抛弃,官方建议使用下面的命令来修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

同时,如果你设置的密码过于简单也会报错。如果是生产使用,需要设置复杂密码。然而若是用来内部测试,设置简单密码可以很方便操作,关闭简单密码校验的方法是:在配置文件/etc/mysql/conf 中加入validate_password=off ,然后重启即可。

 

温馨提示:如果服务器是虚拟机,建议在此添加快照,因为一旦安装不成功,重装时删除会很麻烦,有可能删不彻底。

五、   ambari 安装

 

1.     下载Ambari Repository

1、配置repo:将repo文件下载到目录/etc/yum.repo.d/目录下

 

 

2、查看repository的配置:yum repolist

2.     配置安装Ambari Server的Repository 配置文件

编辑web服务器上的/etc/yum.repos.d/ambari.repo

注: hostname是apache web服务器

 

# vim ambari.repo

[Updates-ambari-2.4.1.0]

name=ambari-2.4.1.0 – Updates

baseurl=http://hostname/Ambari/centos7/AMBARI-2.4.1.0

gpgcheck=0

gpgkey=http://public-repo-1.hortonworks.com/ambari/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

 

编辑/etc/yum.repos.d/hdp.repo

注:先下载hdp.repo如上

 

[HDP-2.5.0.0]

name=HDP Version - HDP-2.5.0.0

baseurl= http://hostname/hdp/centos7/HDP

gpgcheck=0

gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

 

[HDP-UTILS-1.1.0.21]

name=HDP-UTILS Version - HDP-UTILS-1.1.0.21

baseurl= http://hostname/hdpUtils/centos7/HDP-UTILS-1.1.0.21

gpgcheck=0

gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

结果如下:(由于使用本地源,直接加上本地源地址)

 

3.     安装ambariserver:

a)        yum install -y ambari-server  

 

b)        安装mysql-jdbc-java

yum install mysql-connector-java

 

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

(注意看/usr/share/java/目录下有没有该文件,没有需要复制进去)

d)        设置:  ambari-server setup

然后按照下图依次选择

 

mysql数据库相关信息:

数据库名: ambari     用户名:ambari / ambari

 

4.     创建数据库表

create database ambari;

use ambari;

//添加用户

CREATE USER 'ambari'@'%'IDENTIFIED BY 'ambari';

GRANT ALL PRIVILEGES ON *.*TO 'ambari'@'%';

CREATE USER'ambari'@'localhost' IDENTIFIED BY 'ambari';

GRANT ALL PRIVILEGES ON *.*TO 'ambari'@'localhost';

CREATE USER 'ambari'@'slave04'IDENTIFIED BY 'ambari';

GRANT ALL PRIVILEGES ON *.*TO 'ambari'@'slave04';

FLUSH PRIVILEGES;

 

在数据库ambari中建立数据库表

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


运行ambariserver并配置

5.     启动:

执行ambari-server start,启动后通过浏览器输入172.21.9.106:8080进入ambari登录,初始用户名和密码都是admin,然后按照提示依次进行集群配置即可。

 

你可能感兴趣的:(ambari+hdp+spark集群本地源搭建详细图解教程)