一、十六进制——大数据Amabri集群部署文档

一、环境准备

 

Property 
主控终端
计算终端1
计算终端2
计算终端3
计算终端4
计算终端5 计算终端6
主机名
master.hadoop
ambari01.hadoop
ambari02.hadoop
ambari03.hadoop
ambari04.hadoop
ambari05.hadoop
ambari06.hadoop
ip地址
192.168.1.30
192.168.1.31
192.168.1.32
192.168.1.33
192.168.1.34
192.168.1.35
192.168.1.36
子网掩码 24 24 24 24 24 24 24
网关 192.168.0.1 192.168.0.1 192.168.0.1 192.168.0.1 192.168.0.1 192.168.0.1 192.168.0.1
DNS 114.114.114.114 114.114.114.114 114.114.114.114 114.114.114.114 114.114.114.114 114.114.114.114 114.114.114.114
 
安装包下载: 
nohup wget -c http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.0/ambari.repo \ 
http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/HDP-GPL-2.6.5.0-centos7-gpl.tar.gz \ 
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/HDP-2.6.5.0-centos7-rpm.tar.gz \ 
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.0/ambari-2.6.2.0-centos7.tar.gz \ http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz \
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/hdp.repo \ http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/hdp.gpl.repo &

  

二、环境部署

所有机器执⾏:

 1.配置静态IP、DNS

⾸先,进⼊到⽹卡,然后编辑。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
配置完静态IP后重启⽹络服务
systemctl restart network.service

2.配置主机名

# vim /etc/hostname 
HOSTNAME= 主机名

或者:
hostnamectl set-hostname master.hadoop
hostnamectl set-hostname ambari01.hadoop
hostnamectl set-hostname ambari02.hadoop
hostnamectl set-hostname ambari03.hadoop
hostnamectl set-hostname ambari04.hadoop
hostnamectl set-hostname ambari05.hadoop
hostnamectl set-hostname ambari06.hadoop

3. 配置hosts⽂件

[root@master ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.30 master master.hadoop
192.165.1.31 ambari01 ambari01.hadoop
192.165.1.32 ambari02 ambari02.hadoop
192.165.1.33 ambari03 ambari03.hadoop
192.165.1.34 ambari04 ambari03.hadoop
192.165.1.35 ambari05 ambari03.hadoop
192.165.1.36 ambari06 ambari03.hadoop

  

 4.关闭防⽕墙与SElinux

systemctl disable firewalld.service 
systemctl stop firewalld.service

关闭selinux
vim /etc/sysconfig/selinux 
# 将SELINUX=enforcing改为SELINUX=disabled

统⼀把所有机器重启⼀遍!让配置⽣效! 

 5.SSH⽆密码登陆

在master节点执⾏如下命令:
ssh-keygen -t rsa (回⻋后再按连续三个回⻋) 
cd .ssh/ cat id_rsa.pub >> authorized_keys 
分别在其他三台机器上创建/root/.ssh⽬录,
如下: 
mkdir /root/.ssh 然后将authorized_keys拷⻉到其他几台机器的.ssh⽬录,
如下: 
scp authorized_keys ambari01:/root/.ssh/ 
scp authorized_keys ambari02:/root/.ssh/ 
scp authorized_keys ambari03:/root/.ssh/ 
或者: ssh-copy-id -i ~/.ssh/id_rsa.pub ambari01 
ssh-copy-id -i ~/.ssh/id_rsa.pub ambari02 
ssh-copy-id -i ~/.ssh/id_rsa.pub ambari03

 

验证配置: 
ssh ambari01 date; ssh ambari02 date; ssh ambari03 date;

 

 6.修改YUM源(可选) 

mkdir /etc/yum.repos.d/backup
mv  /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all && yum makecache fast

7.安装JDK1.8

下载jdk1.8: https://blog.csdn.net/weixin_44084189/article/details/98966787
mkdir -p /opt/java/ &&  tar xf jdk-8u141-linux-x64.tar.gz -C /opt/java 
vim /etc/profile 添加下⾯内容: 
export JAVA_HOME=/opt/java/jdk1.8.0_141/ 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$HOME/bin:$JAVA_HOME/bin 
# source /etc/profile

8. 配置NTP服务器

在这⾥使⽤的阿⾥云的公共NTP服务器 同步命令:ntpdate time5.aliyun.com 增加计划任务

crontab -e 
添加*/5 * * * * /usr/sbin/ntpdate time5.aliyun.com >/dev/null 2>&1 
systemctl restart ntpd.service 

yum -y install ntp
systemctl restart ntpd.service
systemctl enable ntpd.service
检查是否成功⽤“ntpstat”命令查看同步状态,
出现以下状态代表启动成功 ntpstat
synchronised to NTP server (192.168.9.1) at stratum 3
time correct to within 47 ms
polling server every 1024 s

启动全部节点ntp服务

9.安装HTTP服务 

 Master节点操作:
这个操作⽐较简单,主要作⽤在为后期安装ambari制作本地源时候⽤的。
yum -y install httpd && systemctl start httpd.service

  

10. MySQL数据库安装:(只在Master上)

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm && \ yum -y install mysql57-community-release-el7-8.noarch.rpm && \ 
yum -y install mysql-server && \ 
systemctl start mysqld && systemctl enable mysqld

10.1. 重置MySQL密码

MySQL5.7会在安装后为root⽤户⽣成⼀个随机密码, MySQL为root⽤户⽣成的随机密码通过mysqld.log⽂件可以查找到
grep 'temporary password' /var/log/mysqld.log 
mysql -u root -p 
#Enter password: 
set global validate_password_policy=0; 
set global validate_password_length=3; 
set global validate_password_mixed_case_count=0; 
set global validate_password_number_count=0; 
set global validate_password_special_char_count=0; 
alter user 'root'@'localhost' identified by 'pass@word1'; flush privileges; 
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password_length=3;
alter user 'root'@'localhost' identified by 'pass@word1';
flush privileges; 

  

10.2. 开放数据库访问权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'pass@word1' WITH GRANT OPTION 
mysql> FLUSH PRIVILEGES;

  

11. 安装mysql jdbc 驱动 

下载地址: https://dev.mysql.com/downloads/connector/j/5.1.html
上传软件包到/opt/java/⽬录下,解压软件包
tar -zxvf mysql-connector-java-5.1.48.tar.gz
ls -la /opt/java/mysql-connector-java-5.1.48/

vim /etc/profile 加⼊如下的内容: 
export CLASSPATH=$CLASSPATH:/opt/java/mysql-connector-java-5.1.48/mysql-connector-java-5.1.48-bin.jar 
source /etc/profile

  

12. 测试

vim SqlTest.java

import java.sql.*;
public class SqlTest { public static void main(String[] args) throws Exception {
try { String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://127.0.0.1:3306/mysql?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false";
String user="root";
String password="pass@word1";
Class.forName(driver);
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(); System.out.println("mysql test successful!");
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("mysql test fail!");
}
}
}

  

编译执⾏
javac SqlTest.java 
java SqlTest

  

Ambari安装会将安装等信息写⼊数据库,建议使⽤⾃⼰安装的Mysql数据库,也可以不安装⽽使⽤默认数据库PostgreSQL前边我们已经提到,在主服务器上建⽴了⼀个mysql数据库。(如果已经安装过mysql可以跳过这⼀步)不想安装mysql也可以选择MariaDB数据库,基本和mysql差不多。
安装完成后创建ambari数据库及⽤户,登录root⽤户执⾏下⾯语句:
 

13. MySql 创建表

登陆mysql 然后创建如下数据库()
 
create database ambari character set utf8 ; 
CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%'; 
FLUSH PRIVILEGES;

 

如果要安装Hive,再创建Hive数据库和⽤户 再执⾏下⾯的语句:
 
create database hive character set utf8 ; 
CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%'; 
FLUSH PRIVILEGES;

 

如果要安装Oozie,再创建Oozie数据库和⽤户 再执⾏下⾯的语句:

create database oozie character set utf8 ; 
CREATE USER 'oozie'@'%'IDENTIFIED BY 'Oozie-123'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%'; 
FLUSH PRIVILEGES;

  

14. 制作本地源

下载 Ambari HDP、HDP-UTILS、 HDP-GPL源包(⽂件很⼤,需要很⻓下载时间,请耐⼼等待。。。) 
 
cd /usr/local/src/Ambari/ wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.2/ambari-2.6.2.2-centos7.tar.gz 
wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/HDP-2.6.2.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
建议直接通过迅雷下载好再上传到服务器。详情可官⽹⾃⾏下载对应版本。
我下载的版本是
ambari 2.6.2.2    hdp 2.6.5.0   hdp-utils 1.1.0.22  hdp-gpl 2.6.5.0

  

15. 安装本地源相关⼯具

将下载好的源上传到  master 节点的 /var/www/html ⽬录下,因为⽂件⽐较多,我⾃⼰在html下新建了⼀个ambari⽂件夹,接下来,我们安装制作本地源⼯具
 
yum install yum-utils createrepo -y

  

16. 配置ambari、HDP、HDP-UTILS的本地源

⾸先下载上⾯资源列表中的相应repo⽂件,修改其中的URL为本地的地址,相关配置如下:
 
cd /etc/yum.repos.d/ && vim ambari.repo

#VERSION_NUMBER=2.6.2.2-1
[ambari-2.6.2.2]
name=ambari-2.6.2.2-1
baseurl=http://192.165.0.101/ambari/ambari/centos7/2.6.2.2-1/
gpgcheck=1
gpgkey=http://192.165.0.101/ambari/ambari/centos7/2.6.2.2-1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

  

vim hdp.repo
#VERSION_NUMBER=2.6.5.0-292
[HDP-2.6.5.0]
name=HDP-2.6.5.0
baseurl=http://192.165.0.101/ambari/HDP/centos7/2.6.5.0-292/
gpgcheck=1
gpgkey=http://192.165.0.101/ambari/HDP/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-UTILS-1.1.0.22]
name=HDP-UTILS-1.1.0.22
baseurl=http://192.165.0.101/ambari/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=1
gpgkey=http://192.165.0.101/ambari/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

  

vim hdp-gpl.repo
#VERSION_NUMBER=2.6.5.0-292
[HDP-GPL-2.6.5.0]
name=HDP-GPL Version - HDP-GPL-2.6.5.0
baseurl=http://192.165.0.101/ambari/HDP-GPL/centos7/2.6.5.0-292/
gpgcheck=1
gpgkey=http://192.165.0.101/ambari/HDP-GPL/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

 

备注:其中 baseurl路径与gpgkey需要根据⾃⼰的实际解压路径来,否则makecache不能成功 
 
yum clean all && yum makecache && yum repolist

 

17. 安装ambari-server

yum install ambari-server -y

配置Ambari:

ambari-server setup 下⾯是配置执⾏流程,按照提⽰操作 
(1) 提⽰是否⾃定义设置。输⼊:y 
Customize user account for ambari-server daemon [y/n] (n)? y 
(2)ambari-server 账号。输⼊:ambari 
Enter user account for ambari-server daemon (root):ambari Adjusting ambari-server permissions and ownership... 
(3)设置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 (4)如果上⾯选择3⾃定义JDK,则需要设置JAVA_HOME。输⼊:/opt/java/jdk1.8.0_141 (看⾃⼰安装的位置) 
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 Streng Path to JAVA_HOME: /opt/java/jdk1.8.0_141 Validating JDK on Ambari Server...done.

Completing setup... 
(5)数据库配置。选择:y Configuring database... Enter advanced database configuration [y/n] (n)? y 
(6)选择数据库类型。输⼊: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


如果报错: WARN [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0] StatementUtils:48 - Statement close FAILED. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your M 原因:Ambari默认的 mysql jdbc 驱动不⽀持 5.6以上版本 解决⽅法:设置mysql jdbc驱动 

ps:这时候可能会提⽰你需要你设置下mysql的⼀个jar包。 在配置⽂件中加⼊mysql jdbc的路径: vim /etc/ambari-server/conf/ambari.properties server.jdbc.driver.path=/opt/java/mysql-connector-java-5.1.48/mysql-connector-java-5.1.48-bin.jar 
(7)设置数据库的具体配置信息,根据实际情况输⼊,如果和括号内相同,则可以直接回⻋。 Hostname (localhost):master.hadoop 
#是ambari-mysql安装了数据库那台的主机名 Port (3306):3306 
#(不填默认括号⾥的值) Database name (ambari):ambari 
Username (ambari):ambari 
Enter Database Password (Ambari-123): Ambari-123 
#(⾃⼰设置密码) 
(8)将Ambari数据库脚本导⼊到数据库 如果使⽤⾃⼰定义的数据库,必须在启动Ambari服务之前导⼊Ambari的sql脚本 另开⼀个窗⼝: ⽤Ambari⽤户(上⾯设置的⽤户)
登录mysql 
mysql -u ambari -p 
use ambari source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

  

启动Amabri
ambari-server start

  

报错解决:

cp /opt/java/mysql-connector-java-5.1.48/mysql-connector-java-5.1.48.jar  /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
vi /etc/ambari-server/conf/ambari.properties
webapp.dir=/usr/lib/ambari-server/web
ambari-server start

  

 

 浏览器进入http://ip:8080

 

 填写集群名称:Ambaricluster

 

 

 

 

 
这个位置可能报错,解决方式:
修改agent端/etc/ambari-agent/conf/ambari-agent.ini添加
[security]
force_https_protocol=PROTOCOL_TLSv1_2

  

 

 

posted @ 2021-11-14 16:57  被遗忘的记忆  阅读(141)  评论(0编辑  收藏  举报