Ambari集群部署手册html
(ambari离线安装)java
Ambari 集群管理工具node
HDP 集群软件存储库python
Mysql 元数据库mysql
JDK 开发工具包linux
https://blog.csdn.net/microhhh/article/details/81239738redis
1.1主机名(ip在前,name在后)sql
(1)修改hostname:数据库
hostnamectl set-hostname ambarivim
(2)vi /etc/hosts
192.168.3.212 192-168-3-212.baicheng.com
192.168.3.133 192-168-3-133.baicheng.com(建立ambari用户,密码ambari)
192.168.3.134 192-168-3-134.baicheng.com
192.168.3.135 192-168-3-135.baicheng.com
192.168.3.136 192-168-3-136.baicheng.com
192.168.3.137 192-168-3-137.baicheng.com
192.168.3.138 192-168-3-138.baicheng.com
192.168.3.139 192-168-3-139.baicheng.com
1.2配置FQDN
ambari节点为例
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=ambari
1.3防火墙
临时关闭全部节点防火墙
systemctl disable firewalld
systemctl stop firewalld
1.4 SELinux
临时关闭全部SELinux
setenforce 0
永久关闭:
修改配置文件须要重启机器:
vi /etc/sysconfig/selinux
SELINUX=disabled
查看SELinux状态:
sestatus
1.5免密
其中ambari对其余6台服务器以及本服务器(ambari)进行免密登陆
主节点里root用户登陆执行以下步骤
ssh-keygen
cd ~/.ssh/
cat id_rsa.pub >>authorized_keys
chmod 777 ~/.ssh
chmod 777 ~/.ssh/authorized_keys
先在从节点登陆root执行命令
mkdir ~/.ssh/
分发主节点里配置好的authorized_keys到各从节点
scp /root/.ssh/authorized_keys root@192.168.200.31:/root/.ssh/authorized_keys
ssh-keygen -t rsa
ssh-copy-id 192.168.200.128
1.6时间同步
修改文件 vi /etc/locale.conf
将LANG="zh_CN.UTF-8"
修改成
LANG="en_US.UTF-8"
重启
全部集群上节点都须要操做
Centos 7 命令
yum install ntp
systemctl is-enabled ntpd
systemctl enable ntpd
systemctl start ntpd
查看状态
systemctl status ntpd
安装步骤以下:
1,执行命令以下:yum -y install ntp
2,安装完成事后执行:vi /etc/ntp.conf
注释掉全部server *.*.*的指向,新添加一条可链接的ntp服务器(百度一下ntp服务器,我选的是上海交大的)
server ntp1.aliyun.com iburst
启动时间同步服务service ntpd start
执行命令 ntpdate -u ntp1.aliyun.com
重启时间同步服务 service ntpd restart
经过ntpstat查看 当前时间同步状态
synchronised to NTP server (120.25.115.19) at stratum 3
time correct to within 1043 ms
注意:
建议硬盘50G以上
192.168.80.144 ambari01 (部署Ambari-server和Mirror server)(分配1G,我这里只是体验过程,固然你能够分配更多或更小)
192.168.80.145 ambari02 (部署Agent)
192.168.80.146 ambari03 (部署Agent)(分配1G,我这里只是体验过程,固然你能够分配更多或更小)
192.168.80.147 ambari04 (部署Agent)
配置ip:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
jdk-8u151-linux-x64.tar.gz(推荐1.7+)
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
mysql-5.6.33-linux-glibc2.5-x86_64.tar(推荐5.6+)
https://www.mysql.com/downloads/
Python2.6/2.7(centos自带)
HDP-UTILS-1.1.0.21-centos7.tar.gz(可做为迅雷下载连接)
HDP-2.6.3.0-centos7-rpm.tar.gz(可做为迅雷下载连接)
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz
ambari-2.6.0.0-centos7.tar.gz(可做为迅雷下载连接)
hdp.repo
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP.repo
ambari.repo
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari.repo
本地上传jdk-8u151-linux-x64.tar.gz到/usr/local/目录下
cd /usr/local
解压该文件
tar -zxvf jdk-8u151-linux-x64.tar.gz
删除jdk-8u151-linux-x64.tar.gz压缩包
rm -rf jdk-8u151-linux-x64.tar.gz
配置jdk环境变量
vi /etc/profile
在文件底部追加
export JAVA_HOME=/usr/local/jdk1.8.0_151
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
发送到其余主机
scp -r /etc/profile root@namenode:/etc/profile
scp -r jdk1.8.0_151 root@datanode:`pwd`
环境变量生效(全部主机)
source /etc/profile
测试,命令行直接键入java,出现如下状况及完成jdk安装
2.1.1安装HTTP服务器
容许http服务经过防火墙(永久)
yum install httpd -y
firewall-cmd --add-service=http
firewall-cmd --permanent --add-service=http
2.1.2 Apache服务自动启动
添加Apache服务到系统层随系统自动启动
systemctl start httpd.service
systemctl enable httpd.service
yum install yum-utils createrepo -y
2.3.1建立目录ambari
在httpd网站根目录(/var/www/html)下建立目录ambari
cd /var/www/html/
mkdir ambari
cd /var/www/html/ambari
mkdir HDP-UTILS
2.3.2上传文件
上传HDP-UTILS-1.1.0.21-centos7.tar.gz,HDP-2.6.3.0-centos7-rpm.tar.gz,ambari-2.6.0.0-centos7.tar.gz到cd /var/www/html/ambari/目录下
2.3.3解压
一、在/var/www/html/ambari/目录下解压
tar -zxvf ambari-2.6.0.0-centos7.tar.gz
tar -zxvf HDP-2.6.3.0-centos7-rpm.tar.gz
mv HDP-UTILS-1.1.0.21-centos7.tar.gz /var/www/html/ambari/HDP-UTILS/
cd /var/www/html/ambari/HDP-UTILS/
tar -zxvf HDP-UTILS-1.1.0.21-centos7.tar.gz
mv HDP-UTILS-1.1.0.21-centos7.tar.gz /var/www/html/ambari/
2.3.4查看httpd网站
使用links命令(yum install -y links)或者浏览器访问
links命令:
links http://192.168.3.133/ambari/
浏览器:
将ambari.repo,hdp.repo上传到/etc/yum.repos.d/目录下
2.4.1配置ambari.repo
(url地址为解压文件中的路径)
修改baseurl为:
baseurl=http://192.168.3.133/ambari/ambari/centos7/2.6.0.0-267
修改gpgkey为:
gpgkey=http://192.168.3.133/ambari/ambari/centos7/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
文件内容以下:
#VERSION_NUMBER=2.6.0.0
[ambari-2.6.0.0]
name=ambari Version - ambari-2.6.0.0
baseurl=http://192.168.200.10/ambari/ambari/centos7/2.6.0.0-267
gpgcheck=0
gpgkey=http://192.168.200.10/ambari/ambari/centos7/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
2.4.2配置hdp.repo
修改HDP-2.6.3.0下baseurl为:
baseurl=http://192.168.3.133/ambari/HDP/centos7/2.6.3.0-235
修改HDP-2.6.3.0下gpgkey为:
gpgkey=http://192.168.3.133/ambari/HDP/centos7/2.6.3.0-235/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
修改HDP-UTILS-1.1.0.21下baseurl为:(注意,若版本号不一致,须要更改成当前版本号)
baseurl=http://192.168.3.133/ambari/HDP-UTILS/
修改HDP-UTILS-1.1.0.21下gpgkey为:
gpgkey=http://192.168.3.133/ambari/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
文件内容以下:
#VERSION_NUMBER=2.6.3.0-235
[HDP-2.6.3.0]
name=HDP Version - HDP-2.6.3.0
baseurl=http://192.168.200.10/ambari/HDP/centos7/2.6.3.0-235
gpgcheck=0
gpgkey=http://192.168.200.10/ambari/HDP/centos7/2.6.3.0-235/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.21]
name=HDP-UTILS-1.1.0.21
baseurl=http://192.168.200.10/ambari/HDP-UTILS/
gpgcheck=0
gpgkey=http://192.168.200.10/ambari/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
2.4.3移动文件
(若是上传位置不在上述地址,须要将配置完成后的ambari.repo以及hdp.repo文件移动到/etc/yum.repos.d/下)
mv ambari.repo /etc/yum.repos.d/
mv hdp.repo/etc/yum.repos.d/
依次执行如下命令:
yum clean all
yum list update
yum makecache
yum repolist
Ambari安装会将安装等信息写入数据库,建议使用本身安装的Mysql数据库,也能够不安装而使用默认数据库PostgreSQL
安装完成后,使用root用户登陆执行如下命令:
3.5 安装Mysql数据库
Ambari安装会将安装等信息写入数据库,建议使用本身安装的MySQL数据库,也能够不安装而使用默认数据库PostgreSQL。
Mysql数据库安装过程以下:
3.5.1. 下载mysql的repo源(CentOS 7.2的yum源中默认没有mysql,要先下载mysql的repo源)
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
3.5.2. 安装mysql57-community-release-el7-8.noarch.rpm包
rpm -ivh mysql57-community-release-el7-8.noarch.rpm --nodeps --force
安装这个包后,会得到两个mysql的yum repo源:
/etc/yum.repos.d/mysql-community.repo
3/etc/yum.repos.d/mysql-community-source.repo
yum -y remove mariadb-libs
3.5.3.安装mysql
yum install mysql-server
3.5.4. 启动mysql服务
查看MySQL服务是否已启动:
service mysqld status
启动服务:
systemctl start mysqld
3.5.5. 重置root密码
MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 能够安全模式修改root登陆密码或者用随机密码登陆修改密码。下面用随机密码方式
MySQL为root用户生成的随机密码经过mysqld.log文件能够查找到:
grep 'temporary password' /var/log/mysqld.log
修改root用户密码:(MySQL的密码策略比较复杂,过于简单的密码会被拒绝)
mysql -u root -p
set global validate_password_policy=0;
set global validate_password_length=4;
set PASSWORD=PASSWORD('123456');
mysql> Enter password: (输入刚才查询到的随机密码)
mysql> update mysql.user set authentication_string=password('1234') where user='root'
mysql> exit
用root新密码登陆:
1mysql -u root -p 1234
2.5.1建立ambari数据库
建立ambari数据库以及ambariuser数据库用户并受权
create database ambari character set utf8 ;
CREATE USER 'ambariuser'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambariuser'@'%';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;
2.5.2建立hive数据库
建立hive数据库以及hiveuser数据库用户并受权
create database hive character set utf8 ;
CREATE USER 'hiveuser'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'hiveuser'@'%';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;
若是须要安装其余服务如Oozie,则建立相应的数据库及用户
2.5.3安装mysql jdbc驱动
yum install mysql-connector-java -y
3.1.1安装ambari服务
yum install -y ambari-server
3.1.2执行安装
ambari-server setup
Using python /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? y
3. 输入ambari-server帐号,输入:ambari(ambari主机上建立的用户)
Enter user account for ambari-server daemon (root):ambari
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: /usr/local/jdk1.8.0_151
Validating JDK on Ambari Server...done.
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): 192.168.3.212
Port (3306):
Database name (ambari):
Username (ambari): ambariuser
Enter Database Password (bigdata): 123456
Re-enter password: 123456
Configuring ambari database...
用Ambari用户(上面设置的用户,无密码)登陆mysql
mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
ambari-server start
浏览器访问http://192.168.3.133:8080/ 用户名:admin 密码:admin
4.2.1集群配置
点击Launch Install Wizard按钮进行集群配置
4.2.2设置集群名称
4.2.3设置HDP安装源
选择HDP2.6.3.0,使用Use Local Repository,选择redhat7,Base URL内容填写与HDP.repo中的URL地址一致
4.2.4设置集群节点
Target Hosts中填入须要加入集群的主机名
点击“浏览”按钮,上传id_rsa文件(该文件须要从192.168.3.133节点中/root/.ssh/目录中获取)
4.2.5主机确认
K可能遇到的问题;
①查看 openssl 版本:
[root@ambari ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
[root@ambari ~]# rpm -qa | grep openssl
openssl-libs-1.0.2k-12.el7.x86_64
openssl-1.0.2k-12.el7.x86_64
若是低于 openssl-1.0.1e-16.el6.x86_64 版本,则须要更新到 openssl-1.0.1e-16.el6.x86_64 及以上版本
②查看 Python 版本:
[root@ambari ~]# python -V
Python 2.7.5
若是低于 Python 2.7 版本,则升级 Python 到 2.7 及以上版本。
③编辑 /etc/python/cert-verification.cfg 配置文件,将 [https] 节的 verify 项设为禁用:
[root@ambari ~]# vi /etc/python/cert-verification.cfg
# Possible values are:
# 'enable' to ensure HTTPS certificate verification is enabled by default
# 'disable' to ensure HTTPS certificate verification is disabled by default
# 'platform_default' to delegate the decision to the redistributor providing this particular Python version
# For more info refer to https://www.python.org/dev/peps/pep-0493/
[https]
verify=disable
保存退出。
④编辑 /etc/ambari-agent/conf/ambari-agent.ini 配置文件,在 [security] 节部分,确保设置以下两个值,其它值保持不变:
[root@ambari ~]# vi /etc/ambari-agent/conf/ambari-agent.ini
[security]
ssl_verify_cert=0
force_https_protocol=PROTOCOL_TLSv1_2
保存退出,重启 ambari-agent:
[root@ambari ~]# ambari-agent restart
从新执行确认主机步骤(Confirm Hosts),便可经过确认主机并完成注册。
禁用selinux
查看当前SELinux状态
/usr/sbin/sestatus
在当前终端禁用SELinux
setenforce 0
永久禁用SELinux
vim /etc/selinux/config
#确认SELINUX为禁用状态
SELINUX=disabled
重启计算机
sudo reboot
2、禁用PackageKit
一般在centos和redhat中为开启
vim /etc/yum/pluginconf.d/refresh-packagekit.conf
#确认packagekit为禁用状态
enabled=0
检查UMASK
检查系统UMASK
umask
设置当前UMASK
umask 0022
永久生效
echo umask 0022 >> /etc/profile
8、安装Ambari-agent
在线安装只须要运行以下命令即可
yum install ambari-agent
4.2.6选择须要安装的服务
4.2.7配置Slaves和Clients节点
(日志与数据信息统一保存在/Data/work/local目录下)
4.2.8用户服务配置
4.2.9配置信息确认
4.2.10安装
4.2.11完成