CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)

配置环境呢,最喜欢的就是别人有现成的成功经验了,最气的是有些步骤别人的可以但是自己的就是不行。

所以我在后面附上了自己搭建过程中遇到的一些坑,可以借鉴采用。

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第1张图片

软件及工具:

系统软件:CentOS7

VMvare创建2个虚拟机:

master(6g内存,50g存储),node1(3g内存,40g存储)

XSHELL:远程登录虚拟机操作使用

 

集群节点说明:(vim / etc / hosts添加)

220.192.10.132 master.hadoop
220.192.10.121 node1.hadoop

Ambari 2.5.2.0匹配的JDK是:jdk-8u112-linux-x64.tar.gz 

 ** 相关软件包

  • JDK-8u112-Linux的x64.tar.gz
  • jce_policy-8.zip
  • ambari-2.5.2.0-centos7.tar.gz
  • HDP-2.6.2.0-centos7-rpm.tar.gz
  • HDP-UTILS-1.1.0.21 - centos7.tar.gz

主从节点间设置SSH免密钥登录:

#1.配置hosts文件:

vim / etc / hosts

添加:

220.192.10.132 master.hadoop
220.192.10.121 node1.hadoop

在所有节点配置的主机,或者单独配置后SCP配置好的主机给从节点。

scp / etc / hosts node1 :/ etc. 

#2,关闭防火墙并禁止开机启动:

systemctl stop firewalld.service

systemctl禁用firewalld.service

#3,关闭SELINUX:

vim / etc / selinux / config

SELINUX =禁用

reboot 0 //重启生效,不过可稍后重启

#4. 配置免密登陆:
s s h-keygen -t rsa //两次回车

ssh-copy-id -i~ / .ssh / id_rsa.pub root @ node1

配置主节点免密登陆各从节点。在各个从节点上生成公司并将其发送添加到主节点已知密钥中:
ssh-keygen -t rsa //回车

ssh-copy-id -i~ / .ssh / id_rsa.pub root @ node1

配置从节点间免密登陆。将主节点上存放的已知密钥发送到各从节点:
scp~ / .ssh / authorized_keys root @ node1:〜/ .ssh /

#5. 安装JDK :( 主从节点同时进行,或scp你的jdk和jdk配置文件)

检查卸载已经安装的默认JDK

#rpm -qa | grep jdk

#yum -y remove java*openjdk*

安装JDK :(根据解压的文件夹)

  1. 下载jdk1.8安装包
  2.  将文件传到指定目录jdk-8u121-linux-x64.tar.gz
  3.  解压文件

tar -zxvf jdk-8u121-linux-x64.tar.gz  -C / usr / local

mv jdk1。8.0 _91  jdk

 配置环境变量vim / etc / profile在文件末尾添加:

export  JAVA_HOME=/usr/local/java/jdk

export  PATH=$PATH$JAVA_HOME/bin

使配置生效

source /etc/profile

 

#6. NTP时间同步

时间同步对节点间协调很重要。
安装NTP(各节点):

yum install ntp -y

修改配置文件/etc/ntp.conf中(主节点):

 

//服务器0上一行添加北邮NTP服务器地址:

 

 

服务器s2c.time.edu.cn更喜欢

测试同步一次时间(主节点):

ntpdate s2c.time.edu.cn

启动NTP并配置开机启动(主节点):

systemctl start ntpd

systemctl enable ntpd

使用ntpstat命令查看是否已成功完成同步,如下是完成同步的状态。同步需要一定的时间,请耐心等待。

synchronised to NTP server (202.112.10.36) at stratum 6

   time correct to within 1338 ms

   polling server every 64 s

 

从节点与主节点同步时间,在各从节点设置定时同步任务:(非生产环境下不成功问题也不大)。

ntpdate cdh-master // 与主节点同步一次时间

crontab -e // 创建计划任务

00 */1 * * * /usr/sbin/ntpdate cdh-master >> /root/ntpdate.log 2>&1 // 每1小时与主节点执行一次时间同步

 

crontab -l // 查看计划任务

# 7.安装数据库和数据库驱动:

Ambari安装会将安装等信息写入数据库,建议使用自己安装的Mysql数据库,也可以不安装而使用默认数据库PostgreSQL

a、安装mysql 下载mysql的repo源

   wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

b、安装mysql57-community-release-el7-8.noarch.rpm包

   rpm -ivh mysql57-community-release-el7-8.noarch.rpm --nodeps --force

c、安装mysql yum install mysql-server

d、查看MySQL服务是否已启动:

  service mysqld status

     启动服务:

  systemctl start mysqld

e、修改root 密码:

   MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机  密码登录修改密码。下面用随机密码方式 MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:

    输入:grep 'temporary password' /var/log/mysqld.log 显示:

    A temporary password is generated for root@localhost: /;Xu73Lpb356 (随机生成的mysql密码,暂时记住)

     # mysql -u root -p

      mysql> Enter password:

      Xu73Lpb356 (输入刚才查询到的随机密码)

f、 开放3306端口 允许使用用户名root密码Ambari-123从任何主机连接到mysql服务器。

    mysql> SET PASSWORD FOR 'root'@'localhost'= "Ambari-123";

    Query OK, 0 rows affected (0.00 sec)

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Ambari-123' WITH GRANT OPTION;
    mysql>FLUSH PRIVILEGES;
    mysql>exit;

   ### 开启防火墙mysql 3306端口的外部访问:

    firewall-cmd --zone=public --add-port=3306/tcp --permanent

    firewall-cmd --reload

g、安装完成后创建ambari数据库及用户,登录root用户执行下面语句:

    create database ambari character set utf8 ; 

   CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123'; 

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

   FLUSH PRIVILEGES;

h   如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:

    create database hive character set utf8 ;

    CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123';

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

    FLUSH PRIVILEGES;

 

 

# 8.创建本地源,安装ambari-server

yum install -y httpd

创建web server目录:

mkdir -p /var/www/html

 解压Ambari、HDP的压缩包

mkdir /var/www/html/hdp #创建hdp目录 


tar -zxf ambari-2.5.2.0-centos7.tar.gz -C /var/www/html/ 
tar -zxf HDP-2.6.2.0-centos7-rpm.tar.gz -C /var/www/html/hdp 
tar -zxf HDP-UTILS-1.1.0.21-centos7.tar.gz -C /var/www/html/hdp 

 

下载ambari.repo、hdp.repo

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


wget -nv http://public-repo-1.hortonworks.com/HDP/centos7/2.x/ 
updates/2.6.2.0/hdp.repo -O /etc/yum.repos.d/hdp.repo 

# yum repolist  查看是否下载成功。

 

# 修改yum为本地源

注意:请先备份ambari.repo、hdp.repo后再修改,以防浪费时间。

将public源改为master主机ip,并scp到从节点。

 

 

(如果本地源制作失败,再后面也可以在所有节点手动安装ambari-agent)

 

安装Ambari服务请确认之前没有遗漏步骤!!

yum install ambari-server 

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第2张图片

 

--输入 y ,在安装Ambari时会同时安装Ambari的默认数据库PostgreSQL。 比较方便)

   默认的PostgreSQL 数据库名称为ambari,用户名为ambari密码为bigdata 

 

--或者输入n,选择mysql序号,输入mysql用户,密码,(密码要求大写,数字字母同时满足)

 

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第3张图片

 

设置ambari-server 期间需要配置JDK,JCE policy, 需要提前将相应版本JDK、JCE下载好,此Ambari版本对应JDK版本为jdk-8u112-linux-x64.tar.gz,JCE policy版本为jce_policy-8.zip 
将下载好的JDK、JCE policy上传至目录:/var/lib/ambari-server/resources/ 

输入命令:ambari-server setup

 Ambari Server默认在root下运行,输入n即表示采用root运行,若你想使用其他用户来运行ambari-server,输入y,然后输入你想使用的用户名(我用的是root)

 

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第4张图片

若防火墙没关则会出现警告信息输入y继续,JDK默认采用JDK 1.8+,输入1即可 

当然,jdk我们可以用自己的jdk, 输入JAVA_HOME变量。

 

 

ambari-server setup successfully  即成功安装。

执行命令开启:ambari-server start 
查看状态:ambari-server status 
关闭:ambari-server stop 

 

测试是否启动成功

在浏览器中输入地址:http://172.16.220.133:8080

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第5张图片

默认账密 admin/admin

 

 点击按钮:Launch Install Wizard输入自定义的集群名

根据在本地下载好的HDP版本:HDP-2.6.2.0 

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第6张图片

 

 

# 还要选择Repository,如果你配置的本地源输入后没有成功通过测试,也可以选择公用源。

或者一个成功了,可以在公用源中修改某个源地址为你成功的本机源地址。

 

在redhat7中选则你配置有HDP的OS,并输入http服务的地址: 
HDP-2.6 http://220.192.10.132/hdp/HDP/centos7 
HDP-UTILS-1.1.0.21 http://220.192.10.132/hdp/HDP-UTILS-1.1.0.21/repos/centos7 

# 选择安装ambari-server主机的私钥文件/root/.ssh/id_rsa 

主机名推荐用正式域名(FQDN),例如:hdp-1.domain,不然他要出现警告信

 

确认集群节点主机是否配置正确

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第7张图片

 

选择要安装的服务

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第8张图片

 

确认Master服务安装

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第9张图片

 

确认Slave、Clients服务安装

从节点安装hive时确认安装了数据库哦

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第10张图片

 

定制化服务配置

需要设置Grafana 和 SmartSense的admin用户的密码 

安装hive的话,也要输入用户,密码,数据库名。

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第11张图片

 

回顾配置信息

 

进行安装和对服务进行测试

 

安装概要

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第12张图片

 

安装成功

CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法)_第13张图片

 

附:踩的坑,找到的解决办法--

## 虚拟机丢失ip (ifconfig结果无ip地址,而且xshell连不通。)    
    #systemctl enable NetworkManager-wait-online.service
    #systemctl stop NetworkManager
    #systemctl status NetworkManager
    #systemctl restart network.service
    
## 制作本地源,花费了不少时间。HDP-UTILS的源制作有问题,于是选择HDP用成功的本地源,HDP-UTILS用公开源,公开源在国外 花了不少时间下载。
    
    http://172.16.220.133/hdp/HDP/centos7 
    
## hostname /etc/hosts 
    需要设置为master.hadoop   node1.hadoop 的形式。防止报错说非 FNQD格式的hostname。
    
    例如:
        192.168.1.12 sandbox.hortonworks.com 
        192.168.1.13 server1.hortonworks.com 

##  报错:
        ==========================
        Creating target directory...
        ==========================

        Command start time 2016-01-05 09:40:21
        chmod: cannot access `/var/lib/ambari-agent/data': No such file or directory

        Connection to server201 closed.
    解决办法:
        *需要手动安装ambari-agent
        
        *安装命令改为sudo yum install ambari-agent
        *修改/etc/ambari-agent/conf/ambari-agent.ini文件,指定服务器为server204,修改为自己主节点hostname

    
##  查看Linux位数 :     getconf LONG_BIT

## 定制服务,就是配置服务的一些属性,还有数据库连接配置等信息 ,针对每一项红色信息中修改配置信息。
    如果是警告,内存不够的话,没办法可以先processed anyway。


##  HDP选择安装Hive时,如果用本地mysql。
        需要先安装mysql,建立一个hive数据库,加载好数据库连接驱动。
    
##  ambari 第一次启动异常:没有mysql驱动    
    今天再次安装ambari时出现:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

        尝试使用:

            yum install mysql-connector-java 或者将驱动包放在/usr/share/java 下
        并加载驱动进 ambari 的设置中
        ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector

        -java-5.1.17.jar

        但是还是这个错,后来通过以下方式解决:

        登录mysql: use ambari(选择安装时选择的库),

               执行以下操作:

        source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql    
    
## HDP设置hive的tez大小时候,根据本机内存不同,内存不够时候可以忽略tez.size的警告。processed anyway.
    
## ambary-server重装
        删除使用脚本删除

        注意删除后要安装两个系统组件

        yum -y install ruby*

        yum -y install redhat-lsb*

        yum -y install snappy*    
            
## 查看端口是否活跃或者被占用 
            ]# netstat -lanp|grep 8080

## 在安装到倒数第二步“Install, Start and Test”时,一直安装不成功,提示

    [Errno 256] No more mirrors to try     

    *解决方法:

        输入下面的命令即可解决问题:

        yum clean all
        yum makecache            
## HBase Master Process
    Connection失败:[Errno 111] Connection拒绝了bi.corp.mama.cn2:16000

    启动过程是没有报错的,都是成功,但是改变提示这个,过一会儿本来启动的HBase Master就自动停止
    *原因:时间同步问题,时差比较大。
    *解决办法:
        
        yum -y install ntp
        cd / usr / share / zoneinfo / Asia /
        ntpdate pool.ntp.org
        systemctl start ntpd && systemctl enable ntpd

##更多报错:https://blog.csdn.net/wang_zhenwei/article/details/53160071


 

 

 

 

 

你可能感兴趣的:(CentOS7上安装Ambari2.5.2+HDP-2.6.2.0 (附:踩坑和解决办法))