一、准备工作
1.1、准备三台CentOS
1.2、配置静态IP、DNS
vi /etc/sysconfig/network-scripts/ficfg-ens33
IPADDR为 配置的ip
NETMASK 子网掩码
GATEWAY 网关
配置保存后重启虚拟网络
service
network restart
1.3、配置Hostname
vi
/etc/hostname#将第一行替换成新名字master
配置hosts文件
vi /etc/hosts 192.168.2.171 master192.168.2.172 slave1192.168.2.173 slave2
hostname和hosts改完之后,统一把所有机器重启一遍!让配置生效!
1.4、关闭防火墙与SElinux
关闭防火墙
systemctl stop firewalld.servicesystemctl disable firewalld.service
查看状态
firewall-cmd --state
关闭Selinux
vi /etc/sysconfig/selinux
将SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器生效
1.5、SSH免密登陆
ssh-copy-id root@slave1ssh-copy-id root@slave2
1.6、修改YUM源
下载wget:
yum -y install wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.7、JDK1.8
#JAVAexport JAVA_HOME=/usr/local/java/jdk1.8export JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
source /etc/profile
1.8、NTP时间同步
安装ntp : yum -y install ntp
systemctl is-enabled ntpdsystemctl enable ntpdsystemctl start ntpdvi /etc/ntp.conf
restrict
127.0.0.1restrict
::1#Hosts on local network are less restricted.#restrict 192.168.1.0 mask 255.255.255.0 nomodify notraprestrict
192.168.10.0
mask
255.255.240.0
nomodify
notrap
//允许的网络字段连接ip限制server
127.127.1.0
//以本机时间为准fudge
127.127.1.0
stratum
10#server 0.centos.pool.ntp.org iburst //全部注释掉#server 3.centos.pool.ntp.org iburst#server 1.centos.pool.ntp.org iburst#server 2.centos.pool.ntp.org iburst
vim /etc/ntp.conf
server ambari-1
//指定ntp 服务器,为ambari-1\#server 0.centos.pool.ntp.org iburst //全部注释掉\#server 1.centos.pool.ntp.org iburst\#server 3.centos.pool.ntp.org iburst\#server 2.centos.pool.ntp.org iburst
在所有节点启动ntp服务:systemctl start ntpd.service
检查是否成功用"ntpstat"命令查看同步状态,出现以下状态代表启动成功
[root@slave1 ~]# ntpstatsynchronised to NTP server (192.168.75.131) at stratum 4
time correct to within 1019 ms polling server every 64 s
ps:一般需要等待5-10分钟才可以正常同步。
如果发现时间与当前PC端时间不对,可以采用手动设置时区:timedatectl set-timezone "Asia/Shanghai"
(这里是设置亚洲上海上海)
1.9、安装HTTP服务器
安装:yum install httpd -y启动:systemctl start httpd.service开机启动:systemctl enable httpd.service
修改http文件服务器的文件目录配置文件sudo vi /etc/httpd/conf/httpd.conf例如要配置访问目录为: /appdata/logs找到DocumentRoot "/var/www/html"修改根目录为 /appdata/logs找到Directory一、修改 # Relax access 下的Directory
1.10、安装MySQL
略
1.11、安装mysql jdbc
mkdir /usr/share/java
mysqld的相关jar可以从https://downloads.mysql.com/archives/c-j/中下载
直接下载的mysql-connector-java-5.1.49.jar包,放在/usr/share/java 下面
1.12、搭建数据库
MySQL安装完成后创建ambari数据库及用户,登录root用户执行下面语句:
USER 后是用户名IDENTIFIED BY后面是用户登录密码可自己修改
登陆mysql 然后创建如下数据库()
create
database ambari character
set utf8 ; CREATE
USER
‘ambari‘@‘%‘IDENTIFIED
BY
‘Ambari-123‘;GRANT
ALL
PRIVILEGES
ON *.* TO
‘ambari‘@‘%‘
IDENTIFIED
BY
‘Ambari-123‘;FLUSH
PRIVILEGES;
如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:
create
database hive character
set utf8 ; CREATE
USER
‘hive‘@‘%‘IDENTIFIED
BY
‘Hive-123‘;GRANT
ALL
PRIVILEGES
ON *.* TO
‘hive‘@‘%‘
IDENTIFIED
BY
‘Hive-123‘;FLUSH
PRIVILEGES;
如果要安装Oozie,再创建Oozie数据库和用户 再执行下面的语句:
create
database oozie character
set utf8 ; CREATE
USER
‘oozie‘@‘%‘IDENTIFIED
BY
‘Oozie-123‘;GRANT
ALL
PRIVILEGES
ON *.* TO
‘oozie‘@‘%‘
IDENTIFIED
BY
‘Oozie-123‘;FLUSH
PRIVILEGES;
如果要安装hue,再创建hue数据库和用户 再执行下面的语句:
create
database hue character
set utf8 ;CREATE
USER
‘hue‘@‘%‘IDENTIFIED
BY
‘Hue-1234‘;GRANT
ALL
PRIVILEGES
ON *.* TO
‘hue‘@‘%‘
IDENTIFIED
BY
‘Hue-1234‘;FLUSH
PRIVILEGES;
二、安装Ambari
2.1、下载 Ambari HDP、HDP-UTILS、 HDP-GPL源包(文件很大,需要很长下载时间,请耐心等待。。。)建议直接通过迅雷下载好再上传到服务器。
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.2/ambari-2.6.2.2-centos7.tar.gzhttp://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/HDP-2.6.5.0-centos7-rpm.tar.gzhttp://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gzhttp://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/HDP-GPL-2.6.5.0-centos7-gpl.tar.gzhttp://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.2/ambari.repohttp://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/hdp.repohttp://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/hdp.gpl.repo
2.2、安装本地源相关工具
将下载好的源上传到 的 /var/www/html 目录下,因为文件比较多,我自己在html下新建了一个ambari文件夹,把四个文件放在ambari下面,结构如下:
还记得我们之前安装的HTTP服务器了么,这时候在浏览器输入:http://192.168.75.131/ambari/ ,便可以看见刚刚我们上传的文件
接下来,我们安装制作本地源工具
yum install yum-utils createrepo yum-plugin-priorities -ycreaterepo ./
2.3、配置ambari、HDP、HDP-UTILS的本地源
cd /etc/yum.repos.d/ 将我们下载的.repo文件放到这下面
vim ambari.repo
#VERSION_NUMBER=2.6.2.2-1[ambari-2.6.2.2]name=ambari Version - ambari-2.6.2.2baseurl=http://192.168.75.131/ambari/ambari/centos7/2.6.2.2-1/gpgcheck=1gpgkey=http://192.168.75.131/ambari/ambari/centos7/2.6.2.2-1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1
其中 baseurl路径与gpgkey需要根据自己的实际解压路径来,否则makecache不能成功
baseurl最后端都要加/,否则后面会报错
保存并退出
vim hdp.repo#VERSION_NUMBER=2.6.5.0-292[HDP-2.6.5.0]name=HDP-2.6.5.0baseurl=http://192.168.75.131/ambari/HDP/centos7/2.6.5.0-292/gpgcheck=1gpgkey=http://192.168.75.131/ambari/HDP/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1
[HDP-UTILS-1.1.0.22]name=HDP-UTILS Version - HDP-UTILS-1.1.0.22/baseurl=http://192.168.75.131/ambari/HDP-UTILS/centos7/1.1.0.22gpgcheck=1gpgkey=http://192.168.75.131/ambari/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1
保存并退出
vim hdp.gpl.repo
SION_NUMBER=2.6.5.0-292[HDP-GPL-2.6.5.0]name=HDP-GPL Version - HDP-GPL-2.6.5.0baseurl=http://192.168.75.131/ambari/HDP-GPL/centos7/2.6.5.0-292/gpgcheck=1gpgkey=http://192.168.75.131/ambari/HDP-GPL/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1
保存并退出
将这三个文件发送到其他节点,否则以后会报错
紧接着制作源:
yum
clean all //清除YUM缓存yum
makecache //建立缓存yum
repolist
2.4将ambari数据库脚本导入到数据库
用ambari用户(上面设置的用户)登录mysql
mysql -u ambari -puse ambarisource /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
按照上面ambari用户无法直接查看到ambari这db 有两种办法可以处理。
第一种:给ambari用户本地化查看权限
CREATE USER ‘ambari‘@‘localhost‘ IDENTIFIED BY ‘Ambari-123‘;
GRANT ALL PRIVILEGES ON ambari.* TO ‘ambari‘@‘localhost‘;
然后就可以执行上面的操作,初始化ambari的sql脚本
第二种:将sql脚本导出到windows下面,然后通过远程连接可以直接用ambari登录,然后采用执行sql脚本也可以达到效果。
2.5安装Ambari
安装Ambari
yum install ambari-server -y
配置Ambari
ambari-server setup
下面是配置执行流程,按照提示操作
2.6 配置/usr/share/java下的java包
cd /usr/share/javamv mysql-connector-java-5.1.40.jar /usr/share/java/mysql-connector-java.jarcp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jarvi /etc/ambari-server/conf/ambari.properties 添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
2.7启动Amabri
ambari-server start
2.8 datanode 目录设置 can‘t start with home(s) in ambari
isAllowedDir: function(value) { var dirs = value.replace(/,/g,‘ ‘).trim().split(new RegExp("\\s+", "g")); for(var i = 0; i
三、使用Ambari界面安装Hadoop、Hbase、Log Search服务
3.1、成功启动后在浏览器输入Ambari地址:http://192.168.75.131:8080 默认用户名admin 密码admin 系统中的用户如果是已知的全部是同名同密码比如hive的密码就是hive,如果未知的组件 密码全部为admin 与系统初始密码一致。
3.2、登录成功后出现下面的界面,至此Ambari的安装成功
安装安装HDP 2.5.3 配置集群(点击上面登录成功页面的Launch Install Wizard 按钮进行集群配置)
3.3设置集群名称
3.4选择版本
这里选择如下,把离线下载的文件的路径按照格式填写进去,一定要可以访问到。
3.5设置集群机器(下载master机器上的id_rsa私钥到本地)主节点钥匙
点击register后报错
如果是python版本过高引起的ssl错误,降低python版本,目前我采用Python 2.7.5 是可以直接安装的,不需要另外降低版本。
使用如下命令,在ambari-agent.ini的security底下添加和在.cfg的https底下添加(针对所有节点)
[security]force_https_protocol=PROTOCOL_TLSv1_2
[https]verify=disable
3.6Host确认(确认前面配置集群中hosts列表 中的机器是否都可用,也可以移除相关机器,集群中机器Success后进行下一步操作)
3.7选择要安装的服务,对于不太清楚的人员,建议采用默认选择,避免引起组件缺失导致系统安装之后的问题。
3.8各个服务Master配置
3.9服务的Slaves 和 Clients节配置
3.10服务的客制化配置,如果存在报警,请即使修改地址或者增加密码。
3.11显示配置信息
3.12开始安装
3.13安装成功