ambari-2.7.3.0:
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari-2.7.3.0-centos7.tar.gz
HDP-3.1.0:
http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.0.0/HDP-3.1.0.0-centos7-rpm.tar.gz
HDP-UTILS-1.1.0.22:
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
JDK:1.8版本
# 查看本机是否已经安装了某些 vim 的包
rpm -qa|grep vim
# 一般来说, vim 包含这三个包 vim-enhanced-xxx , vim-minimal-xxx , vim-common-xxx
# 通过上面检查安装包的命令,看漏了哪个包
# 例如: 漏了 vim-enhanced 这个包,则执行 yum -y install vim-enhanced 命令,如果三个包都缺,直接执行 yum -y install vim*
系统语言必须是英文,如果不是,请按照下面步骤修改系统语言
# 进入修改系统语言的文件
vim /etc/locale.conf
# 将 LANG 属性改为如下所示
en_US.UTF-8
# 查看 iptables 状态
service iptables status
(active 表示开启, inactive 表示没有开启)
# 停止防火墙
service iptables stop
# 永久关闭防火墙
chkconfig iptables off
# 查看防火墙状态
firewall-cmd --state
(not running 表示防火墙未开启, running 表示防火墙开启)
# 关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙
systemctl disable firewalld
# 进入修改主机名称的文件
vim /etc/hostname
# 输入主机名
master.hadoop
# 进入 hosts 文件
vim /etc/hosts
# 输入所有 ip 和它们对应的主机名
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.34.50.142 master.hadoop
10.34.50.143 slave1.hadoop
10.34.50.145 slave2.hadoop
10.34.50.146 slave3.hadoop
注意:上面两行别删掉,也别修改
# 执行下列命令
reboot
# 执行以下命令生成 rsa 密钥,一路回车即可
ssh-keygen -t rsa
# 生成 authorized_keys
cat id_rsa.pub >> authorized_keys
# 修改文件权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
# 将密钥拷贝到其他主机,包括本身(主服务器)
ssh-copy-id slave1.hadoop
ssh-copy-id slave2.hadoop
ssh-copy-id slave3.hadoop
ssh-copy-id master.hadoop
# 测试所有机器是否 SSH 免登陆互通
ssh slave1.hadoop
ssh slave2.hadoop
ssh slave3.hadoop
ssh master.hadoop
# 将创建的秘钥拷贝出来
mkdir /home/tools
cp /root/.ssh/id_rsa /home/tools/
# 显示 java 版本
java -version
# 查找对应的安装包
rpm -qa | grep java
# 删除安装包
rpm -e --nodeps xxx
# 显示 java 版本
java -version
# 如果还没删除干净,可以重复执行查找安装包的命令,然后使用 yum -y remove xxx 去删除他们
yum -y install ntp
vim /etc/ntp.conf
# 打开下面这句话的注释
restrict 192.168.0.0mask 255.255.255.0
# 注释掉其他上游时间服务器
#server 0.centos.pool.ntp.orgiburst
#server 1.centos.pool.ntp.orgiburst
#server 2.centos.pool.ntp.orgiburst
#server 3.centos.pool.ntp.orgiburst
# 新增
server 127.127.1.0
fudge 127.127.1.0 stratum 10
systemctl start ntpd.service
systemctl enable ntpd.service
# 先在主节点执行
crontab -e
# 输入以下内容,保存
0-59/10 * * * * /usr/sbin/ntpdate master.hadoop
# 在各个子节点执行
crontab -l
# 输入以下内容,保存
0-59/10 * * * * /usr/sbin/ntpdate master.hadoop
# 进入配置文件
vim /etc/selinux/config
# 将 SELINUX 改为 disable
SELINUX=disabled
# 执行下面命令
sudo sh -c "echo umask 0022 >> /etc/profile"
# 进入配置文件
vim /etc/security/limits.conf
# 在文件的末尾加入如下代码,并保存退出
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
ulimit -a
# 应该看到以下修改
open files (-n) 65536
max user processes (-u) 131072
# 安装 httpd 服务
yum -y install httpd
# 启动 httpd 服务
service httpd restart
# 检查 httpd 服务是否启动
chkconfig httpd on
# 上传 JDK 到 /apps 目录下(该目录可以自己选择,没有的话可以创建),并进入到对应目录下,解压压缩包
tar -zxvf jdk-8u121-linux-x64.tar.gz
# 把 JDK 复制到其他机器
scp -r /apps/ [email protected]:/home/
scp -r /apps/ [email protected]:/home/
scp -r /apps/ [email protected]:/home/
# 进入 profile 文件
vim /etc/profile
# 配置 JAVA 环境
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 使配置文件生效
source /etc/profile
# 测试 JDK 是否安装成功
java -version
# 创建指定文件夹
mkdir /var/www/html/hdp
# 进入指定文件夹
cd /var/www/html/hdp
# 创建一个目录
mkdir /var/www/html/hdp/HDP-UTILS-1.1.0.22
# 注意:解压 HDP-UTILS-1.1.0.22 时,应该用这个命令
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS-1.1.0.22/
# 解压对应安装包
tar -zxvf xxx
# 检查是否访问成功
http://10.34.50.142/hdp/
注意:上面地址的 ip 是你主服务器的 ip 地址
# 安装本地源制作相关工具
yum install yum-utils createrepo yum-plugin-priorities -y
# 创建源根目录
createrepo ./
# 首先要进入放置 ambari 安装包的目录文件夹下
cd /var/www/html/hdp
# 设置 ambari 的 yum 源
vim ambari/centos7/2.7.3.0-139/ambari.repo
# 将内容修改为如下所示, ip 为主服务器的 ip
#VERSION_NUMBER=2.7.3.0-139
[ambari-2.7.3.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.3.0
baseurl=http://10.34.50.142/hdp/ambari/centos7/2.7.3.0-139
gpgcheck=1
gpgkey=http://10.34.50.142/hdp/ambari/centos7/2.7.3.0-139/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
# 把设置好的 yum 文件,复制到 /etc/yum.repos.d/
cp ambari/centos7/2.7.3.0-139/ambari.repo /etc/yum.repos.d/
# 通过 scp 传输到其他所有节点上
scp -r ambari/centos7/2.7.3.0-139/ambari.repo [email protected]:/etc/yum.repos.d/
# 设置 HDP 的 yum 源
vim HDP/centos7/3.1.0.0-78/hdp.repo
# 将内容修改为如下所示, ip 为主服务器的 ip
#VERSION_NUMBER=3.1.0.0-78
[HDP-3.1.0.0]
name=HDP Version - HDP-3.1.0.0
baseurl=http://10.34.50.142/hdp/HDP/centos7/3.1.0.0-78
gpgcheck=1
gpgkey=http://10.34.50.142/hdp/HDP/centos7/3.1.0.0-78/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://10.34.50.142/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=1
gpgkey=http://10.34.50.142/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
# 把设置好的 yum 文件,复制到 /etc/yum.repos.d/
cp HDP/centos7/3.1.0.0-78/hdp.repo /etc/yum.repos.d/
# 通过 scp 传输到其他所有节点上
scp -r HDP/centos7/3.1.0.0-78/hdp.repo [email protected]:/etc/yum.repos.d/
yum clean all
yum makecache
yum repolist
# 检查是否有自带的 mariadb ,有的话先删除
rpm -qa | grep mariadb
# 如果有的话,使用下列命令删除
rpm -e --nodeps xxx
# 下载安装 ambari-server
yum -y install ambari-server
# 查看是否有 MySQL 安装包
rpm -qa | grep mysql
# 如果有 MySQL 安装包,使用下列命令删除
yum -y remove xxx
# 结束 MySQL 进程
pkill -9 mysqld
# 进入本地的资源路径
cd /usr/local/src/
# 指定 wget
sudo wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
# 安装 MySQL
sudo rpm -ivh mysql57-community-release-el7-8.noarch.rpm
sudo yum -y install mysql-server
# 启动 MySQL 服务
sudo systemctl restart mysqld.service
# 查看 MySQL 初始密码并登录 MySQL
grep "password" /var/log/mysqld.log
# 登陆 MySQL
mysql -u root -p 加入上一条命令显示的密码
# 修改配置文件,跳过密码校验
vim /etc/my.cnf
# 在 [mysqld] 下加上 skip-grant-tables
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
# 重启 MySQL
service mysqld restart
# 登陆 MySQL
mysql -u root
# 修改密码级别
set global validate_password_policy=0;
# 修改密码长度
set global validate_password_length=4;
# 刷新权限
flush privileges;
# 修改密码
update mysql.user set authentication_string=PASSWORD('yourPassword') where User='root';
或者
set password="yourPassword";
# 刷新权限
flush privileges;
注意:
1.修改密码跟修改密码长度和级别的顺序可能要调换
2.修改完密码之后,要把配置文件修改回原来的样子
# 添加远程用户
grant all privileges on *.* to 'root'@'%' identified by 'yourPassword';
# 创建 ambari 库,并添加相应的用户
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'@'master.hadoop' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'master.hadoop';
FLUSH PRIVILEGES;
# 生成 ambari 需要使用到的表
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
# 检查是否生成成功,共有 111 张表
show tables;
# 创建 hive 库,并添加相应的用户
CREATE DATABASE hive;
use hive;
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
CREATE USER 'hive'@'master.hadoop' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'master.hadoop';
FLUSH PRIVILEGES;
# 去下面的网址下载 5.1.48 的驱动
https://mvnrepository.com/artifact/mysql/mysql-connector-java
# 创建目录,一定要这个目录!
mkdir /usr/share/java
# 拷贝到对应的文件夹下
cp 你存放驱动的文件夹/mysql-connector-java-5.1.48.jar /usr/share/java/mysql-connector-java.jar
# 拷贝到 ambari-server 的 lib 目录下
cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
# 修改配置文件
vim /etc/ambari-server/conf/ambari.properties
# 在最后一行添加
server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
# 建立关联
yum install mysql-connector-java
# 启动 ambari-server 的配置程序
ambari-server setup
# 提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y
# ambari-server 账号,输入 ambari
Enter user account for ambari-server daemon (root):ambari
# 检查防火墙是否关闭,输入:y
WARNING: iptables is running. Confirm the necessary Ambari ports are accessible. Refer to the Ambari documentation for more details on ports.
OK to continue [y/n] (y)? y
# 设置JDK。输入:y 2
Do you want to change Oracle JDK [y/n] (n)? y
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Custom JDK
==============================================================================
Enter choice (1): 2
# 输入 JAVA_HOME,输入:你的 JAVA_HOME
Path to JAVA_HOME: /apps/jdk1.8.0_221
注意:如果你不知道你的 JAVA_HOME 是什么,可以新开一个终端,输入 echo $JAVA_HOME
# 是否要安装如下插件,输入:n
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? n
# 数据库配置。输入:y
Enter advanced database configuration [y/n] (n)? y
# 选择数据库,输入: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
# 设置数据库的具体配置信息
Hostname (localhost):
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (bigdata):ambari
Re-Enter password: ambari
# 是否使用如下驱动,输入:y
Should ambari use existing default jdbc /usr/share/java/mysql-connector-java.jar [y/n] (y)? y
# 将Ambari数据库脚本导入到数据库,输入:y
Proceed with configuring remote database connection properties [y/n] (y)? y
# 启动 ambari-server
ambari-server start
# 如果显示没有错误,则启动成功,如果报错,则输入下列命令查看日志
tail -f /var/log/ambari-server/ambari-server.log
# 指定数据库驱动
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
# 在浏览器输入以下网址,账号密码,都是admin
http://主机服务器 ip :8080
# 所有节点安装 ambari-agent
yum -y install ambari-agent
# 启动 ambari-agent
ambari-agent start
# 添加 ambari-agent
chkconfig --add ambari-agent
访问 Ambari web 页面,账号密码,都是admin
http://主机服务器 ip :8080
点击新建集群,以下步骤,对应部署集群时界面左边的序号
ZJ_HDP_DEV
# 在 Repositories 选项中选择 Use Local Repositories
# 将下面的选项卡删除剩下 redhat7 选项
# 在 HDP-3.1 地址栏中输入 http://10.34.50.142/hdp/HDP/centos7/3.1.0.0-78/
# 在 HDP-UTILS-1.1.0.22 地址栏中输入 http://10.34.50.142/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/
# 在 Target Hosts 中输入
master.hadoop
slave1.hadoop
slave2.hadoop
slave3.hadoop
# 在 Host Registration Information 中选择第一个选项,将之前保存的 id_rsa 文件下载下来并选中。
等待主机确认成功之后,看是否有警告,如果有,则想办法去除相应的警告
这里先选择 HDFS , YARN , Hive , Zookeeper
默认就行
除了 NFSGateway ,其他都选上
除了 hive ,其他都为 admin
Hive DataBase 选择外部 MySQL;DataBase URL 修改为:jdbc:mysql://master.hadoop/hive;DataBase Password 为 hive;测试成功后,点击下一步
接下来的步骤都是默认配置,直接点下一步即可
安装成功后,可以根据需要添加对应的组件,在控制台通过图形化界面添加即可
# 直接在 ambari 控制台修改端口
YARN -> configs -> advanced -> RegistryDNS Bind Port
# 进入 hdfs 用户
su hdfs
# 修改 /user 文件夹权限
hadoop fs -chmod 777 /user