您的位置:首页 > 运维架构 > Linux

centos7 ambari2.6.1.5+hdp2.6.4.0 大数据集群安装部署

2018-11-21 16:45 387 查看

本文介绍纯净版的机器,搭建ambari集群,版本如标题,集群规模为1master,4slaver。

1、首先为5台机器分别分配好主机名和相应的IP地址,主机名需要符合FQDN规则,不能简单的master,我这里分配的如下:

[code]master.qc.com  192.168.8.100
slaver1.qc.com 192.168.8.101
slaver2.qc.com 192.168.8.102
slaver3.qc.com 192.168.8.103
slaver4.qc.com 192.168.8.104

2、分别为每台机器安装centos7操作系统,注意需要时英文版的,安装过程中注意选择统一的时区,比如Asis/Shanghai,然后就是最好自定义分区空间分配,默认情况下根目录空间很下,而集群运行时候,默认的日志文件等均保存在根目录,这里主要是避免后续必要的麻烦,具体安装过程(百度)

3、修改每台机器的IP地址,确保每台机器均可以正常上网,这里需要注意网线不要差错网口,下面是对应服务器第一个网口的修改

[code]vi /etc/sysconfig/network-scripts/ifcfg-ens2f0

修改为如下所示,需要注意的是BOOTPROTO和ONBOOT两个参数:

[code]TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=ens2f0
UUID=e146fb89-73ce-4445-acdd-eb5c5e69204d
DEVICE=ens2f0
ONBOOT=yes
IPADDR=192.168.8.100
NETMASK=255.255.255.0
GATEWAY=192.168.8.1
PREFIX=24
DNS1=114.114.114.114
DNS2=8.8.8.8
DNS3=8.8.4.4

修改网络配置文件

[code]vi /etc/sysconfig/network

内容如下

[code]NETWORKING=yes
HOSTNAME=master.qc.com

添加域名解析(DNS设置)

[code]vi /etc/resolv.conf

内容如下

[code]search master.qc.com
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 8.8.4.4

执行如下,确保生效

[code]chattr +i /etc/resolv.conf

4、重启网络服务,确保可以正常上网即可(通过ping百度进行验证)

[code]service network restart

5、修改每台机器/etc/hostname和/etc/hosts文件,如下,确保hostname和hostname -f指令,主机名均正确:

[code]127.0.0.1   localhost
192.168.8.100 master.qc.com
192.168.8.101 slaver1.qc.com
192.168.8.102 slaver2.qc.com
192.168.8.103 slaver3.qc.com
192.168.8.104 slaver4.qc.com
[code][root@master ~]# hostname
master.qc.com
[root@master ~]# hostname -f
master.qc.com
[root@master ~]#

6、每台机器配置最大文件数

[code]vi /etc/security/limits.conf

添加如下内容,具体数值可以在大一些,重启机器保证生效

[code]* soft nofile 65536
* hard nofile 65536

7、每台机器配置epel源(为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux.),这样就可以用yum安装额外的软件包了

[code]rpm -ivh http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum repolist

8、每台机器关闭防火墙

[code]systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

9、每台机器跟新yum源,

[code]yum update

10、大数据集群往往需要外部依赖raid空间,这里就需要自动挂载,注意datanode每台机器的挂载点需要一致,主节点及时不用于datanode,最好也建立相应的文件夹,例如

[code]vi /etc/fstab

添加如下

[code]/dev/sdb1 /media/diskdata ext4 defaults 0 0

11、禁用iftables

[code]systemctl disable firewalld
service firewalld stop

12、禁用SELinux

[code]vi /etc/sysconfig/selinux

将SELINUX改为disabled

[code]SELINUX=disabled

13、安装并启用ntp(时间同步工具)

[code]yum install -y ntp
systemctl enable ntpd

14、以上完成所有机器的自身软件环境配置,以上操作需要在每台机器上执行,重启所有的机器,确保相应的设置生效

====================================分割线==上述为所有机器环境配===================================

15、分别在每台机器上安装如下软件

yum rpm scp curl unzip tar tar wget openssl python2.7 jdk1.8  openssh-clients gcc openssh-server mysql-connector-odbc mysql-connetor-java

其中centos有许多是自带的,最好都执行安装一遍

16、jdk1.8的安装配置

下载并解压jdk-8u131-linux-x64.tar.gz文件到/opt目录下,新增环境变量

[code]vi /etc/profile

添加如下内容

[code]#java
export JAVA_HOME=/opt/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

执行source指令,使其生效,java -version查看是否配置成功。

17、所有节点之间安装配置ssh免密登录,具体网上一大堆,配置完了之后,最后两两节点之间分别用IP和主机名进行ssh连接,生成相应的连接记录,避免后面不必要的莫名错误。

 

=====================================分割线==上述为所有机器软件安装==============================

 

=================================分割线=====下面为只有master节点进行即可===========================

1、制作本地源(相关的包很大,网络不是特别优秀的,需要制作本地源),安装制作本地源的工具

[code]yum install yum-utils createrepo

2、创建一个http服务器

[code]yum install httpd -y
systemctl enable httpd && systemctl start httpd

3、为web服务器创建目录,多成目录

[code]mkdir -p /var/www/html/hdp/HDP-UTILS

4、wget下载对应的包到根目录下

[code]wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari-2.6.1.5-centos7.tar.gz
wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.4.0/HDP-2.6.4.0-centos7-rpm.tar.gz
wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz

5、解压上述3个包到指定的目录下

[code]tar -zxvf ambari-2.6.1.5-centos7.tar.gz -C /var/www/html
tar -zxvf HDP-2.6.4.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz  -C /var/www/html/hdp/HDP-UTILS/

6、因为国内访问不了谷歌的原因,需要移除index.html文件

[code]cd /var/www/html/hdp/HDP/centos7/2.6.4.0-91
mv index.html index.html.bak

7、访问如下地址,验证是否本地源配置成功,如果可以看到对应的文件代表安装配置成功

[code]http://192.168.8.100/hdp/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22/
http://192.168.8.100/hdp/HDP/centos7/2.6.4.0-91/
http://192.168.8.100/ambari/centos7/2.6.1.5-3/

8、分别配置ambari、hdp、hdp-utils本地源

复制对应的repo文件到/etc/yum.repos.d文件夹下

[code]cp /var/www/html/ambari/centos7/2.6.1.5-3/ambari.repo /etc/yum.repos.d/
cp /var/www/html/hdp/HDP/centos7/2.6.4.0-91/hdp.repo /etc/yum.repos.d/

将每个repo里的baseurl和gpgkey的地址修改为本地的源地址

[code]vim /etc/yum.repos.d/ambari.repo
[code]#VERSION_NUMBER=2.6.1.5-3
[ambari-2.6.1.5]
name=ambari Version - ambari-2.6.1.5
baseurl=http://master.qc.com/ambari/centos7/2.6.1.5-3
gpgcheck=1
gpgkey=http://master.qc.com/ambari/centos7/2.6.1.5-3/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[code]vim /etc/yum.repos.d/hdp.repo
[code]#VERSION_NUMBER=2.6.4.0-91
[HDP-2.6.4.0]
name=HDP Version - HDP-2.6.4.0
baseurl=http://master.qc.com/hdp/HDP/centos7/2.6.4.0-91
gpgcheck=1
gpgkey=http://master.qc.com/hdp/HDP/centos7/2.6.4.0-91/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://master.qc.com/hdp/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://master.qc.com/hdp/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

执行相应的yum操作,使之生效,中途可能报错timeout等,如果不是ambari、hdp、hdp-utils报错,不必理会

[code]yum clean all
yum list update
yum makecache
yum repolist

9、所有节点安装多存储库插件

[code]yum install yum-plugin-priorities -y
vim /etc/yum/pluginconf.d/priorities.conf
[code][main]
enabled = 1
gpgcheck=0

10、下载mysql安装包(5.6或者5.7版本)

[code]wget https://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-server-5.6.41-1.el7.x86_64.rpm
wget https://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-client-5.6.41-1.el7.x86_64.rpm
wget https://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-devel-5.6.41-1.el7.x86_64.rpm

11、卸载maridb

[code] rpm -e --nodeps mariadb-libs-1:5.5.44-2.el7.centos.x86_64
rpm -e --nodeps  mariadb-libs-1:5.5.56-2.el7.x86_64

12、安装mysql

[code]yum localinstall  MySQL-server-5.6.41-1.el7.x86_64.rpm
yum localinstall MySQL-devel-5.6.41-1.el7.x86_64.rpm
yum localinstall  MySQL-client-5.6.41-1.el7.x86_64.rpm

这里一定要注意,这里安装不会提示输入root账户密码,因为该版本会随机产生一个密码,但是我们并不知道密码是啥,折磨了我很久,安装mysql-server的时候,注意看日志,日志显示产生一个随机密码到一个文件中,该文件为隐藏文件,直接less指令查看即可,该密码为root账户密码,第一次登陆提示需要更改密码才可以操作,登陆进去之后,修改root账户密码。

登陆mysql之后,修改root密码

[code]格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');

===============================分割线====安装ambari-server==========================================

1、安装ambari-server

[code]yum install ambari-server -y

2、设置mysql连接驱动(默认为maridb,我们使用mysql)

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

如果这里报错了,仔细看报错日志,确保是否安装了mysql-connetor-java

3、root账户登陆mysql,输入之前设置的密码即可

[code]msyql -u root -p

4、创建ambari用户和ambari数据库

[code]create database ambari character set utf8 ;
CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;

5、创建hive用户并创建hive数据库

[code]create database hive character set utf8 ;
CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;

6、导入mysql脚本,初始化ambari和hive数据库

[code]mysql -uambari -pAmbari-123
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

7、配置ambari

[code]ambari-server setup

8、配置过程中,需要注意的就是自定义jdk路径,和密码键入,其他的采用默认即可,JAVA_HOME路径的获取指令如下

[code]echo $JAVA_HOME
[code]ambari-server setup
Using python  /usr/bin/python2
Setup ambari-server
Checking SELinux...
SELinux status is 'enabled'
SELinux mode is 'permissive'
WARNING: SELinux is set to 'permissive' mode and temporarily disabled.
OK to continue [y/n] (y)? y
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (root):ambari
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
==============================================================================
Enter choice (1): 3
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: /opt/jdk1.8.0_131
Validating JDK on Ambari Server...done.
Checking GPL software agreement...
GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? y
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)? y
Configuring database...
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
==============================================================================
Enter choice (1): 3
Hostname (localhost):
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (bigdata):
Re-enter password:
Configuring ambari database...
Configuring remote database connection properties...
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
Proceed with configuring remote database connection properties [y/n] (y)? y
Extracting system views...
ambari-admin-2.6.1.5.3.jar
...........
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.

9、启动ambari

[code]ambari-server start

10、访问如下地址,登录账户密码均为admin

[code]http://192.168.8.100:8080/#/login

11、至此,ambari安装完毕,中途如果报错,仔细分析打印日志,针对性的排除错误并修改即可。

==========================分隔线========下面就是具体的安装各种大数据服务了===========================

1、下面具体安装服务就很简单了,主要注意的地方如下

红色区域的地址就是前面hdp.repo文件中配置的baseurl,下面的截图是采用的他人的,具体问题具体对待,注意针对性修改

这里上面红框填写所有节点的主机名,下面红框为master节点的私钥,也就是~/.ssh/id_rsa文件的内容

 

这里需要注意的是每个红色都需要处理掉,hive中按照如果选择,密码为之前设置的,然后测试连接是否通过,通过即可,还有几处提示密码输入,直接随便输入即可。

其他的就不在阐述了,ambari友好性还是不错的,应该一看就懂,支持所有安装等完成,可以开始使用了,途中出现问题,仔细分析日志。

官网参考连接:

https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-installation/content/ch_Getting_Ready.html

目录结构说明:

配置目录:/etc/ambari-server/conf

日志目录:/var/log/ambari-server

hadoop服务组件目录:/usr/hdp

ambari服务目录:/usr/lib/ambari-server

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: