当我们学习搭建hadoop的时候,未免也会遇见很多繁琐的事情,比如很多错误,需要解决。在以后公司,也不可能让你一个一个搭建hadoop,成千上万的电脑,你再一个个搭建,一个个报错,而且每台电脑错误还不一样,这就造成了很大的困扰,所以直接就用ambari里面集成的hadoop生态来用即可在这里,在这里我将写给出如何搭建Ambari以及搭建hadoop生态圈。
本片博客也有写的不好的地方,还请各位同学指正!感谢!
同学在看我文章的时候,要是没安装Centos7可以从头看,装的话直接跳到标题三:开始安装ambari即可。
前提注意(特别建议看)
1.要是三个虚拟机都要操作的话,我会特意写出来,没特地说明就是只用在虚拟机master里面操作
2.在这个期间不要提前乱改一些配置文件,不要因为提前就已知一些事后问题了,就开始提前修改或者注释一些文件内容。
3.最好搭建的时候不要中途断网或者什么一系列操作,或者就是说一会干干这一会干干那的,要做就要做一步到位是最好的!
4.Centos7的语言选择用英文的,不要用中文的,听别人说输入一些英文符号可能中文会识别解码,造成一些不必要的错误,毕竟这些东西是老外开发的,国际英文还是占据首要第一语言。
5.尽量在XShell里面操作虚拟机。
6.记住要在某一步,感觉自己前面做的很好,留快照!!!(快照不知道啥作用的也不会操作的在网上搜索补充和学习)
声明:
我写这个博客是基于上一个博主写的,博主csdn链接基于Ambari搭建大数据分析平台-CSDN博客,因为本人是按照他的博客完成的ambari操作,很多图片也是引用他的,本人感觉他的博客只能算是完成了百分之90,也就是相当于一个受伤的野马在奔跑,总会要摔倒的,所以我在这里基于他的博客做了一个优化和补充。
一、安装ambari预备
软件预备:这个在官网下载也可以,也可以用镜像下载,但是不建议在官网,建议在以下网盘下载或者镜像
链接:https://pan.baidu.com/s/18SGZkYnyq9AAjp5SLYqpZA?pwd=jiau
密码:jiau
(1)VMware Workstation 17 Pro
(2)CentOS-7-x86_64-DVD-2009.iso(mini版本也可以,差别就是mini无可视化界面,看个人喜好)
(3)ambari-2.6.0.0-centos7.tar.gz
(3)HDP-2.6.3.0-centos7-rpm.tar.gz
(4)HDP-UTILS-1.1.0.21-centos7.tar.gz
(5)jdk-8u112-linux-x64.tar.gz
(6)MySQL-5.6.46-1.el7.x86_64.rpm-bundle.tar
(7)mysql-connector-java-5.1.40.jar
(8)XShell,Xftp
首先在网上自行搜索安装VMware Workstation 17 Pro以及破解教程。
二、安装Centos7
2.1在VMware Workstation 17 Pro安装CentOS-7-x86_64-DVD-2009.iso
图片顺序就是安装的顺序
选好自己的路径,我感觉有很多学计算机的同学还是喜欢把东西放在C盘,尽量把东西往D盘移动,并且在D盘单独创建一个文件夹专门搭建ambari。
选择4*2
选择4GB
这里需要40GB
这个文件路径就放在你当前创建的虚拟机文件下路径下即可,不要乱放别处。创建完之后
先不要着急开机,
找到自己电脑里面的Centos7镜像
然后点击下面的确定,之后开启虚拟机
选择Install CentOS 7
然后就是等待,出现配置界面
选择英文!
步骤顺序(先了解顺序,选择下面会写):这个一个个来就好,第一步是DATE & TIME,第二步是KEYBOARD, 第三步是LANGUANGE,第四步是INSTALLATION SOURCE,第五步是SOFTWARE SELECTION。
第六步是INSTALLATION,第七步是KDUMP,第八步是NETWORK & HOST NAME, 第九步是SECURITY POLICY
------------------------------------------------------配置Centos7开始----------------------------------------------------
第一步:选择shanghai
第二步:选择English键盘
第三步:选择语言
第四步:默认不动即可
第五步:这个就是我之前在软件预备那里说的Centos7有专门的一个mini版,选择1的话,就是无可视化,也就是纯纯的命令框,选择2的话是有可视化版本的,就是有桌面,因为本人搭建ambari的时候看文件夹喜欢从可视化里面找,所以就安装GNOME Desktop了。
第六步:鼠标点两下那个磁盘,其他不变
第七步:不要勾选这个Enable kdump
第八步:网卡打开,
第九步:这个不用管。
然后就点击下方的
这里两个都设置一下(实际上要是你只设置第一个的话,那么你进入系统还是要设置第二个,而且也比较繁琐,所以两个都设置比较好)
第一个:上下密码设置一样(建议设置简单的,因为后续在虚拟机操作需要输入很多次密码!)
这里的Done点击两下
第二步:这个也是一样,只不过多了个用户名,我设置的是young,密码还和第一步一样,Done一样点击两下
然后等待。。。。。进入系统,等待这个加载完
然后完成安装
依然是配置
第一步:打勾
第二步:
第三步:点击右下角
接下来就是进入用户了,点击用户
输入你之前设置的密码,可能出现输入不了数字,就是刚打开虚拟机的时候,数字键盘那个Num Lock灯灭了,按一下就能输入数字了。这个是虚拟机的通病。
继续选English,点击右上角的Next
选择English(US)下一步
默认的就好,继续Next
点击右上角的skip,这个时候Centos7终于安装好了!
三、开始安装ambari
本人一般是在XShell连接虚拟机下操作的,所以在这里不讲怎么用XShell连接虚拟机,网上也有教程。
3.1换镜像源
首先要换到root用户下操作这些命令,在命令框或者XShell输入进入管理员用户(也就是获得管理员权限)
su root
然后进去yum.repos.d文件,更换镜像源,你可以一步一步复制下来操作。
//进入yum.repos.d文件
cd /etc/yum.repos.d
//换第一个镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://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
3.2安装初始软件
export JAVA_HOME=/opt/jdk1.8.0_112
export PATH=${JAVA_HOME}/bin:$PATH
3.3安装JDK
下载文末网盘资源中的文件:jdk-8u112-linux-x64.tar.gz
借助工具(比如xftp, lrzsz, Winscp)将上面文件上传到虚拟机master
3.3.1安装jdk
解压jdk-8u112-linux-x64.tar.gz(本人喜欢把软件放在/opt目录下)
tar -xvf jdk-8u112-linux-x64.tar.gz -C /opt
运行命令 vi /etc/profile
修改环境变量,在文件末尾添加如下内容
export JAVA_HOME=/opt/jdk1.8.0_112
export PATH=${JAVA_HOME}/bin:$PATH
执行如下命令使环境变量生效
source /etc/profile
3.3.2测试jdk是否安装成功
java -version
当出现这个界面的时候,说明jdk安装成功
3.4关闭防火墙,SElinux,PackageKit,检测umask值,最大文件描述
3.4.1关闭防火墙
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld #关闭开机启动
systemctl status firewalld #查看防火墙状态
3.4.2关闭SELinux
setenforce 0
修改配置文件进行配置: vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
如果系统有安装 PackageKit,需要修改配置文件vim /etc/yum/pluginconf.d/refresh-packagekit.conf
先检测有没有PackageKit文件
rpm -qa | grep PackageKit
弹出下面这些东西就说明有PackageKit
修改vim /etc/yum/pluginconf.d/refresh-packagekit.conf(里面就是什么东西都没有,不用疑惑或者猜想配置文件里面有一大堆东西而怀疑自己)
enabled=0
3.4.3修改umask
确保umask值为0022
#查看
umask
#修改为0022
umask 0022
针对所有交互用户进行永久性修改
echo umask 0022 >> /etc/profile
3.4.4修改最大文件描述
最大文件描述至少需要10000,可通过如下命令查看
ulimit -Sn
ulimit -Hn
可通过如下命令修改(说明,公司一般需要设置65535,我们自己用10000也可以,但是我建议设置65535比较好)
ulimit -n 65535
修改配置文件vi /etc/security/limits.conf
,在文件尾部添加如下代码即可:
# End of file
* soft nofile 65535
* hard nofile 65535
* soft nproc 131072
* hard nproc 131072
四、设置静态IP
4.1修改IP地址
先看一下自己虚拟机的ip地址
ifconfig
我的虚拟机给我分配的192.168.114.145这个后面的145这个网段,那么一会我下面我就把ip最后的网段设置145
修改配置文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33(我建议你把里面的文件全删了,换成我这个就好,然后在改动一点东西)
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.91.129"
NETMASK="255.255.255.0"
GATEWAY="192.168.91.2"
DNS1="114.114.114.114"
DNS2="8.8.8.8"
注意,IP段需要查看VMware的虚拟网络配置情况,可以通过菜单编辑
-> 虚拟网络编辑器
-> VMnet8
查看
红色的就是你自己的网段(注意,不要设置我的网段了,你是多少你就写多少)
如下图所示的配置截图,则需要把上面配置项修改为
192.168.114.2这个不要变,因为2是默认的子网掩码。
IPADDR="192.168.114.145"
GATEWAY="192.168.114.2"
重启网络
/etc/init.d/network restart
然后关机
五、克隆主机
然后克隆三个虚拟机出来,被克隆的作为母机,防止以后三个虚拟机崩溃然后重新装系统。建议在克隆的时候,单独创建三个文件夹,定义好名字,然后克隆放到相应的文件夹就好
第一步点击鼠标右键,然后二三步点击左键就好
点击下一步
选择这个选项
解释一下,第一步就是你想起的名字(不影响虚拟机里面的主机名,能够在外面区分master,slave1,slave2即可),第二步就是选择的文件夹,第三步就是放在三个文件夹下面,最好是单独创建三个文件夹,master,slave1,slave2各方进一个文件夹就好,然后完成,就开始克隆了,克隆三个,记住,克隆三个!。
克隆好之后,三个虚拟机全部打开(建议是一个一个打开,三个一起打开一般电脑遭不住)
进入虚拟机里面修改主机名,这个主机名也就是要设置的master,slave1,slave2。
hostnamectl --static set-hostname (主机名)
之后在三个虚拟机都设置IP(因为是克隆母机的,这三个IP全部都一样)
修改配置文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.91.129"
NETMASK="255.255.255.0"
GATEWAY="192.168.91.2"
DNS1="114.114.114.114"
DNS2="8.8.8.8"
如下图所示的配置截图,则需要把上面配置项修改为(这个时候看看母机最后是多少,接着往往后走就行,比如我母机192.168.114.146后面是146,那我后面三个就是147,148,149,不能超过255)
IPADDR="192.168.114.146"
GATEWAY="192.168.114.2"
三个设置好之后全部重新启动
六、hosts配置,同步时钟
6.1hosts配置
在主机master配置vi /etc/hosts
,在文件末尾添加如下内容:
192.168.114.146 master
192.168.114.147 slave1
192.168.114.148 slave2
使用scp同步到salve1, slave2
scp /etc/hosts root@slave1:/etc/
scp /etc/hosts root@slave2:/etc/
6.2同步时钟
**目的:**在master服务器上启动ntp服务,然后slave1和slave2每10分钟同步一次时间
在master主机下操作
配置vi /etc/ntp.conf
第1个就只用把restrict192.168.114.0这个前面三个改成自己虚拟机里面的网段就行。
设置自动启动
systemctl start ntpd.service #启动服务
systemctl enable ntpd.service #开机启动
slave1、slave2主机(只在slave1和slave2主机下操作)
在slave2和slave2的主机上运行如下命令,可以让它们的时间与master服务器同步
ntpdate master
将时间同步设为定时任务,运行如下命令设置定时任务
crontab -e
编辑如下内容
*/10 * * * * /usr/sbin/ntpdate master
七、免密登录
这步操作要在三个虚拟机都要操作
这里只演示master主机操作(其他两个同样)
ssh-keygen -t rsa #大概按3-4次下Enter键,到方框之后在按一下,开始下面操作
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
测试,如果不需要输入密码而顺利打印出时间信息,则免密登录设置成功
ssh slave1 date; ssh slave2 date; ssh master date;
八、创建本地源
这部分操作只需要在master主机上操作即可
下载文末网盘资源中的文件:ambari-2.6.0.0-centos7.tar.gz
、HDP-2.6.3.0-centos7-rpm.tar.gz
、HDP-UTILS-1.1.0.21-centos7.tar.gz
借助工具(比如xftp, lrzsz, Winscp)上传到虚拟机master用户,在master用户下用mv命令移动到/root目录。
mv ambari-2.6.0.0-centos7.tar.gz /root
mv HDP-2.6.3.0-centos7-rpm.tar.gz /root
mv HDP-UTILS-1.1.0.21-centos7.tar.gz /root
1. 安装httpd服务
yum -y install httpd #安装httpd
systemctl restart httpd.service #开启httpd服务
systemctl enable httpd.service #开机启动
2. 将包放到/var/www/html目录
tar -zxvf /root/ambari-2.6.0.0-centos7.tar.gz -C /var/www/html/
tar -zxvf /root/HDP-2.6.3.0-centos7-rpm.tar.gz -C /var/www/html/
mkdir /var/www/html/HDP-UTILS
tar -zxvf /root/HDP-UTILS-1.1.0.21-centos7.tar.gz -C /var/www/html/HDP-UTILS
试试能否成功访问:http://192.168.91.128
成功的话网页就是出现一个巨大的Test 123。。。
3. 制作本地源
3.1 安装本地源制作相关工具
yum install yum-utils createrepo yum-plugin-priorities repolist -y
createrepo /var/www/html
3.2 修改源地址
3.2.1修改ambari.repo
vi /var/www/html/ambari/centos7/2.6.0.0-267/ambari.repo
修改内容如下:
#VERSION_NUMBER=2.6.0.0-267
[ambari-2.6.0.0]
name=ambari Version - ambari-2.6.0.0
baseurl=http://master/ambari/centos7/2.6.0.0-267
gpgcheck=1
gpgkey=http://master/ambari/centos7/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
cp /var/www/html/ambari/centos7/2.6.0.0-267/ambari.repo /etc/yum.repos.d/
3.2.2修改hdp.repo
vi /var/www/html/HDP/centos7/2.6.3.0-235/hdp.repo
内容如下
#VERSION_NUMBER=2.6.3.0-235
[HDP-2.6.3.0]
name=HDP Version - HDP-2.6.3.0
baseurl=http://master/HDP/centos7/2.6.3.0-235
gpgcheck=1
gpgkey=http://master/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 Version - HDP-UTILS-1.1.0.21
baseurl=http://master/HDP-UTILS
gpgcheck=1
gpgkey=http://master/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
cp /var/www/html/HDP/centos7/2.6.3.0-235/hdp.repo /etc/yum.repos.d/
上面就创建好了主机上的文件,然后可以通过下面命令清除yum的缓存
yum clean all
yum makecache
yum repolist
可以打开浏览器查看一下:
http://master/ambari/centos7/
http://master/HDP/centos7/
如果希望在本地计算机上使用http://master/ambari/centos7/和http://master/HDP/centos7/访问, 需要配置本机的hosts文件(这一步需要在windows下获得管理员权限,自己对windows操作不熟悉的话,建议不要用,等用的时候老师会讲)
C:\Windows\System32\drivers\etc\hosts
, 添加如下内容即可:
192.168.91.128 master
192.168.91.129 slave1
192.168.91.130 slave2
3.3 同步源文件
cd /etc/yum.repos.d
scp ambari.repo slave1:/etc/yum.repos.d/ambari.repo
scp ambari.repo slave2:/etc/yum.repos.d/ambari.repo
scp hdp.repo slave1:/etc/yum.repos.d/hdp.repo
scp hdp.repo slave2:/etc/yum.repos.d/hdp.repo
九、安装Ambari
Ambari有两种安装模式
一种是使用默认postgresql数据库的存储安装元数据
使用第三方数据库作为Ambari元数据库
我们这里使用mysql数据库作为Ambari元数据库MySQL-5.6.46-1.el7.x86_64.rpm-bundle.tar、mysql-connector-java-5.1.40.jar
借助工具(比如xftp, lrzsz, Winscp)上传到虚拟机master用户,在master用户下用mv命令移动到/root目录。
mv MySQL-5.6.46-1.el7.x86_64.rpm-bundle.tar /root
mv mysql-connector-java-5.1.40.jar /root
9.1安装Ambari服务
yum -y install ambari-server
yum install ambari-agent
如果出现安装失败,请检查本地源创建是否成功
9.2 配置Ambari
9.2.1 卸载MariaDB 和 已有MySQL
rpm -qa | grep -i mariadb
这里要注意的是,不要跟这我贴这个图片删除,你上面显示的是多少版本,你就改多少就可以,例如我的是mariadb-libs-5.5.68-1.el7.x86_64,那我就把下面这个里面的52换成68就可以
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
卸载MySQL
rpm -qa | grep -i mariadb
删除服务
systemctl list-unit-files --type=service | grep -i mysql
如果查找到mysql服务,使用下面的命令进行删除
chkconfig --del mysql
9.3 安装mysql数据库
安装依赖
yum -y install perl autoconf
这里用的离线安装(在线安装自行搜索网上教程)
tar -xvf MySQL-5.6.46-1.el7.x86_64.rpm-bundle.tar
rpm -ivh MySQL-client-5.6.46-1.el7.x86_64.rpm
rpm -ivh MySQL-server-5.6.46-1.el7.x86_64.rpm
#查看安装时产生的随机密码
cat /root/.mysql_secret
#启动mysql
service mysql start
mysql -uroot -p #登入mysql
Enter password: #输入刚才查看的随机密码
mysql> set password for 'root'@'localhost' = password('123456'); #修改密码
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
mysql> flush privileges; #刷新
mysql> exit
#MySQL服务自启动
chkconfig mysql on
MySQL 中 user 表中主机配置
mysql -uroot -p123456
mysql> show databases; #显示数据库
mysql> use mysql; #使用mysql数据库
mysql> show tables; #显示数据库mysql中的所有表
mysql> desc user; #显示user表的结构
mysql> select User,Host,Password from user; #查看User表
# 删除 root 用户的其他 host
mysql>
delete from user where Host='master';
delete from user where Host='127.0.0.1';
delete from user where Host='::1';
mysql> flush privileges; #刷新
mysql> quit;
配置Mysql驱动
mkdir /usr/share/java
cp /root/mysql-connector-java-5.1.40.jar /usr/share/java/mysql-connector-java.jar
修改ambari.properties,添加mysql驱动路径
vi /etc/ambari-server/conf/ambari.properties
在文件末尾添加如下内容:
server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
在MySQL中创建数据库
mysql -uroot -p123456
mysql> CREATE DATABASE ambari;
mysql> use ambari;
mysql> CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambarizk123';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
mysql> CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambarizk123';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
mysql> CREATE USER 'ambari'@'master' IDENTIFIED BY 'ambarizk123';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'master';
mysql> FLUSH PRIVILEGES;
mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
mysql> show tables;
mysql> use mysql;
mysql> select Host,User,Password from user where user='ambari';
配置Ambari
ambari-server setup
下面是配置执行流程,按照提示操作
(1)提示是否自定义设置。输入: y
Customize user account for ambari-server daemon [y/n] (n)? y
(2)ambari-server 账号, 如果直接回车就是默认选择 root 用户(按回车就行)
Enter user account for ambari-server daemon (root):
(3)设置JDK。输入:3
Checking JDK...
Do you want to change Oracle JDK [y/n] (n)? y
[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
如果上面选择 3 自定义 JDK,则需要设置 JAVA_HOME。输入:/opt/jdk1.8.0_112(这个是我的jdk路径,你们一定要写后面的版本号,不要只写个jdk)
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: /opt/jdk
Validating JDK on Ambari Server...done.
Completing setup...
(4)数据库配置。选择:y
Configuring database...
Enter advanced database configuration [y/n] (n)? y
(5)选择数据库类型。输入: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
(6)设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。
如果想重命名,就输入。
Hostname (localhost): master
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (bigdata):ambarizk123 (这里输入时不会显示)
Re-enter password:ambarizk123 (这里输入时不会显示)
(7)将 Ambari 数据库脚本导入到数据库
WARNING: Before starting Ambari Server, you must run the following DDL against the
database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-
CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)?
9.4 启动 Ambari
ambari-server start
成功启动后在浏览器输入Ambari地址测试:http://master:8080 (需要配置hosts, 没配置时可以直接访问 192.168.91.128:8080)
(9)错误处理
如果出现错误,请注意查看日志,根据具体的错误内容进行处理,默认ambari-server的日志在/var/log/ambari-server/ambari-server.log里面。如果在处理日志的过程中或者后面安装的过程中出现一些莫名的错误,可以重置的安装。如果上面进行的默认数据库的配置,可以使用下面的代码重置ambari-server
ambari-server stop
ambari-server reset
ambari-server setup
十、搭建集群
10.1 登录
登录界面,默认管理员账户登录http://master:8080/ (需要配置hosts, 没配置时可以访问 192.168.91.128:8080), 账户:admin 密码:admin
注意,如果在windows上要访问master,需要配置 C:\Windows\System32\drivers\etc\hosts
10.2 安装向导
10.3 配置集群的名字为hadoop
10.4 选择版本和本地库
在redhat7后面填写:
//master的ip地址
http://192.168.114.146/HDP/centos7/2.6.3.0-235
http://192.168.114.146/HDP-UTILS
在这里,你一定要把redhat7放到第一位,也就是你可以把其他的删除了,什么ubuntu,别的系统给移除了,也就是Remove,留下一个redhat7就可以
10.4.1安装配置
填写主机地址以及主节点的id.rsa
文件
需要首先把master节点为的私密(/root/.ssh/id_rsa
)拷贝到windows:
这里把id_rsa放到windows还是有点讲究的。我拿Xftp为例
先到虚拟机下执行以下命令
//在root管理员的权限下
cd /root/.ssh //进入该目录
ls //查看当前文件下的所有文件
//如果看见有id_rsa这个文件,就说明在root用户下,不在的话自己找一下,
这个文件是看不见的,一般来说是在root目录下。
cp id_rsa /home/用户名 //复制到主目录下
cd /home/用户名
chmod -R 777 /home/用户名/id_rsa //修改权限才能传到windows桌面下
浏览那里选择,你把虚拟机里面的id_rsa放到windows下的文件,找到windows下的id_rsa选择即可
10.5 安装ambari的agent,同时检查系统问题
在这里,我要着重讲解以下,要是同学们安装的时候这三个显示的是preparing的话,先等10分钟左右,如果还是在preparing的话,那基本是前面某个步骤是没操作好,可以先看日志,实在不行就回到快照,最后的办法就是重装。按理说这三个刚开始就显示installing。
如果同学们出现的是installing,那么大概率是失败的,最后出现的是Failed。
出现Failed的解决办法
修改 /etc/ambari-agent/conf/ambari-agent.ini, 在[security]模块末尾添加如下信息:
[security]
force_https_protocol=PROTOCOL_TLSv1_2
然后再重试,也就是Retry,成功之后往后进行
10.6 选择要安装的服务
这里其实只用安装HDFS,YARN+MapReduce2,HBASE,Pig,Sqoop,ZooKeeper,Flume就可以
10.7 分配主节点
虚拟机的配置有限,实验时采用默认的方式即可。(不用修改什么,直接进行下一步就好)
10.8 分配从节点
注意,不要勾选NFS,Phonenix这两列就行,其他勾选上
10.9 自定义服务
10.9.1 检查
Admin Name : admin
Cluster Name : hadoop
Total Hosts : 3 (3 new)
Repositories:
redhat7 (HDP-2.6):
http://192.168.91.128/HDP/centos7/2.6.3.0-235
redhat7 (HDP-UTILS-1.1.0.21):
http://192.168.91.128/HDP-UTILS
Services:
HDFS
DataNode : 3 hosts
NameNode : master
NFSGateway : 0 host
SNameNode : slave1
YARN + MapReduce2
App Timeline Server : slave1
NodeManager : 3 hosts
ResourceManager : slave1
Tez
Clients : 3 hosts
HBase
Master : master
RegionServer : 3 hosts
Phoenix Query Server : 0 host
Pig
Clients : 3 hosts
Sqoop
Clients : 3 hosts
ZooKeeper
Server : 3 hosts
Flume
Flume : 3 hosts
Ambari Metrics
Metrics Collector : slave2
Grafana : master
Kafka
Broker : master
SmartSense
Activity Analyzer : master
Activity Explorer : master
HST Server : master
Slider
Clients : 3 hosts
10.10 安装
注释掉 /usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py文件的533行
vim /usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py
# package_version = None //在533行前面加上#, 缩进和上面#对齐
可能用到的命令
set nu //显示行
遇到出错,需要查看日志文件,进行相应解决
如果没修改 /usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py,可能会有如下错误:
Traceback (most recent call last):
File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py", line 73, in <module>
HdfsClient().execute()
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 367, in execute
method(env)
File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py", line 37, in install
self.install_packages(env)
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 803, in install_packages
name = self.format_package_name(package['name'])
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 538, in format_package_name
raise Fail("Cannot match package for regexp name {0}. Available packages: {1}".format(name, self.available_packages_in_repos))
resource_management.core.exceptions.Fail: Cannot match package for regexp name hadoop_${stack_version}. Available packages: ['accumulo', 'accumulo-conf-standalone', 'accumulo-source', 'accumulo_2_6_3_0_235', 'accumulo_2_6_3_0_235-conf-standalone', '
123456789101112
10.11 查看&管理集群
十一、添加服务(没安装hive的可以不用做,这一步做给自己看的)
我们将要添加hive服务,先运行如下命令:
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar