基于Ambari搭建hadoop生态圈+Centos7安装教程V2.0优化版(本篇博客写的较为详细,可能比较多,请耐心看)

当我们学习搭建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

图片顺序就是安装的顺序

44f60733c1394d17a98fd3a4ffd5ec49.png

5854729f95c34599be1c88aaefb297b2.png

088d0a3be3be445594d50de9c922d482.png005d0492a4af45e28de207fffc8cd6b3.png

选好自己的路径,我感觉有很多学计算机的同学还是喜欢把东西放在C盘,尽量把东西往D盘移动,并且在D盘单独创建一个文件夹专门搭建ambari。

951e93950f6a4825aa0aeab7059152d3.png

选择4*2

029e9f1bd71f42d59079af380e9a64ad.png

选择4GB

aa2e7a38003e4bfd85df63adb844d2b2.png6a80c2cd634c4a3aa9e28c09ae7059c7.png

 7ef9255c322d4791b1018a5ef29ab39d.pngbc76d017ef904a529b03f5fff72c72b6.png

这里需要40GB

79fd936c2c424c1aa0cb0e0f2b0ee0a7.png 这个文件路径就放在你当前创建的虚拟机文件下路径下即可,不要乱放别处。8a29700a16f54c8598d3a576dd8a0da7.png895805527df746b0a0bb914ff6486ef9.png创建完之后

397cff65e9ff457e80e7813098a57f4e.png先不要着急开机,

找到自己电脑里面的Centos7镜像

8c9679604833453abbe295df0d1892c4.pngf39d69adcc744abf906bc21c4fd72f90.png

然后点击下面的确定,之后开启虚拟机

选择Install CentOS 7

5d27f0615cda429eb26649dfe5fbd60e.png然后就是等待,出现配置界面

选择英文!

141bb482d7a946ec93316ad3455a7fe0.png96a1adff009043479ce87bdc377cef50.png

步骤顺序(先了解顺序,选择下面会写):这个一个个来就好,第一步是DATE & TIME,第二步是KEYBOARD, 第三步是LANGUANGE,第四步是INSTALLATION SOURCE,第五步是SOFTWARE SELECTION。

a92db33ce432473a82afb5b0d5f46851.png第六步是INSTALLATION,第七步是KDUMP,第八步是NETWORK & HOST NAME, 第九步是SECURITY POLICY

------------------------------------------------------配置Centos7开始----------------------------------------------------

第一步:选择shanghai

e555f2759aea449f84386f92c35eaf78.png

第二步:选择English键盘

e0459aa31a004f72acf84b30b4db2924.png第三步:选择语言

633d1d37e72940e297bfd11716d7eadb.png

第四步:默认不动即可

7cb99c84011b44f6b43b4955b40646c3.png第五步:这个就是我之前在软件预备那里说的Centos7有专门的一个mini版,选择1的话,就是无可视化,也就是纯纯的命令框,选择2的话是有可视化版本的,就是有桌面,因为本人搭建ambari的时候看文件夹喜欢从可视化里面找,所以就安装GNOME Desktop了。

43006a3fdcb94a42b3ce6633b8569f5a.png

第六步:鼠标点两下那个磁盘,其他不变

f34d8a73ac9f4d96ac2fae6e12fd76a3.png第七步:不要勾选这个Enable kdump

9dd68a8dc64e448bb0c35be3ed388d64.png第八步:网卡打开,

e7afb81216a84f8ba4c26410bfa818f9.png第九步:这个不用管。

640ed50c089b4bdf95c12c0487224f9e.png

然后就点击下方的

90d103a21ec04b76a9ce16919dde3c3a.png

这里两个都设置一下(实际上要是你只设置第一个的话,那么你进入系统还是要设置第二个,而且也比较繁琐,所以两个都设置比较好)

03cc9d1e10754eac840421864a6f5cbb.png第一个:上下密码设置一样(建议设置简单的,因为后续在虚拟机操作需要输入很多次密码!)

这里的Done点击两下

cb48565cb479468facb66ed1261a6a34.png第二步:这个也是一样,只不过多了个用户名,我设置的是young,密码还和第一步一样,Done一样点击两下

1b6a711b8ae949c5a9e50c2cce26202f.png

然后等待。。。。。进入系统,等待这个加载完

a1a3dac8b4454f0aafbb1bbfc4da4e17.png然后完成安装

1e1b7ae1fbdb47d9aa83a422f424b0aa.png

依然是配置

d7148e42b483452283fe71c2c87a0df6.png第一步:打勾

ec66fadf46da4a8abb745799ca6f9b6e.png第二步:

1bfd18ca45f84a9cb8f64782db18dee2.png

第三步:点击右下角6b1c92d696174c41bf59ba290ce1717f.png

接下来就是进入用户了,点击用户

8d41531cbe4142a0a604aa8a89dbf32c.png

输入你之前设置的密码,可能出现输入不了数字,就是刚打开虚拟机的时候,数字键盘那个Num Lock灯灭了,按一下就能输入数字了。这个是虚拟机的通病。

413766761ad2428f8af189b12b953e5e.png

继续选English,点击右上角的Next

2f4a0395d3d94e808d4cb34537521369.png

选择English(US)下一步

a32fa47ebf4340208faf0ca7fb67b5a8.png

默认的就好,继续Next

796bec5a9c1d4b8e8e539b1ad18f1781.png

点击右上角的skip,这个时候Centos7终于安装好了!

cf00f6490add41729cd75e3cc2383ce0.png

三、开始安装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安装初始软件

yum -y install ntp openssh wget  vim  openssh-clients openssl gcc openssh-server  python-devel 

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安装成功268a838d8fed41d197dfc0d6bff40216.png

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

8343085a52494c138dcfbcff066fd9af.png

修改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 -Snulimit -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

741eafdcb04e46289c70efb82cb19c9c.png

修改配置文件: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查看

红色的就是你自己的网段(注意,不要设置我的网段了,你是多少你就写多少)

bfc107cdae7a4a5abf39d7626f6f16c5.png

如下图所示的配置截图,则需要把上面配置项修改为

192.168.114.2这个不要变,因为2是默认的子网掩码。

IPADDR="192.168.114.145"
GATEWAY="192.168.114.2"

重启网络

/etc/init.d/network  restart

然后关机

8d564c489fb54dbb96bf7d7a80951eb7.png

五、克隆主机

然后克隆三个虚拟机出来,被克隆的作为母机,防止以后三个虚拟机崩溃然后重新装系统。建议在克隆的时候,单独创建三个文件夹,定义好名字,然后克隆放到相应的文件夹就好

第一步点击鼠标右键,然后二三步点击左键就好

32f3bf314d364963aa9072fbf70296bc.png

点击下一步

998b6c1601e843738802f0f72376bfb1.png

选择这个选项

10806758f5264ad7a364e2717a5128c8.png

解释一下,第一步就是你想起的名字(不影响虚拟机里面的主机名,能够在外面区分master,slave1,slave2即可),第二步就是选择的文件夹,第三步就是放在三个文件夹下面,最好是单独创建三个文件夹,master,slave1,slave2各方进一个文件夹就好,然后完成,就开始克隆了,克隆三个,记住,克隆三个!。

3921772fe8f34c2d87c35828cf12088b.png

克隆好之后,三个虚拟机全部打开(建议是一个一个打开,三个一起打开一般电脑遭不住)

0bb84c483c154c92aebf724a12cadb93.png

进入虚拟机里面修改主机名,这个主机名也就是要设置的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这个前面三个改成自己虚拟机里面的网段就行。

3849e689a7df406a83c0b08927c8d0e6.png

设置自动启动

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.gzHDP-2.6.3.0-centos7-rpm.tar.gzHDP-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 -p123456mysql> 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 -p123456mysql> 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 : adminCluster Name : hadoopTotal 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 executemethod(env)
File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py", line 37, in installself.install_packages(env)
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 803, in install_packagesname = self.format_package_name(package['name'])
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 538, in format_package_nameraise 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

11.1 选择要添加的服务:

11.2 分配主机

11.3 分配从服务器和客户端

11.4 设置Hive服务

 11.5 安装

附语:还要学习HDFS命令操作。。。。(自行网上搜索)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/430300.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初始main方法,标识符和关键字

1. 初识Java的main方法 1.1 main方法示例 public class HelloWorld{public static void main(String[] args){System.out.println("Hello,world");} }图解&#xff1a; 通过上述代码&#xff0c;我们可以看到一个完整的Java程序的结构&#xff0c;Java程序的结构…

springbootKPL比赛网上售票系统

基于springbootvue实现的KPL比赛网上售票系统 &#xff08;源码L文ppt&#xff09;4-068 4.2 系统结构设计 架构图是系统的体系结构&#xff0c;体系结构是体系结构体系的重要组成部分。KPL比赛网上售票系统的总体结构设计如图4-2所示。 图4-2 系统总体架构图 4.3数据…

python全栈学习记录(十七)logging、json与pickle、time与datatime、random

logging、json与pickle、time与datatime、random 文章目录 logging、json与pickle、time与datatime、random一、logging二.json与pickle三.time与datatime四.random 一、logging logging模块用来记录日志信息。 import logging # 进行基本的日志配置 logging.basicConfig( fi…

全面详尽的 PHP 环境搭建教程

目录 目录 PHP 环境搭建概述 在 Windows 上搭建 PHP 环境 使用集成环境 XAMPP 安装步骤 配置和测试 常用配置 手动安装 Apache、PHP 和 MySQL 安装 Apache 安装 PHP 安装 MySQL 配置 PHP 连接 MySQL 在 Linux 上搭建 PHP 环境 使用 LAMP 方案 安装 Apache 安装 …

zabbix入门单机部署

zabbix官网 1进入官网后选择右上角Download 选择你要的版本以及需要的组件&#xff0c;网页下方会自动生成需要操作的步骤 &#xff0c;跟着步骤一步一步安装即可&#xff1a; 这里跟着官网步骤一步步走下去就可以了 但是需要注意的是安装 yum install centos-release-scl源…

C++20 std::format

一、前言 1、传统 C 格式化的问题与挑战 可读性差&#xff1a;使用 C 中的 printf 和 scanf 家族函数进行格式化输出和输入时&#xff0c;它们的语法较为复杂&#xff0c;难以阅读。在较大的代码项目中&#xff0c;可读性差会导致维护困难。类型安全性差&#xff1a;printf 和…

vue入门小练习

文章目录 1.案例需求2.编程思路3.案例源码4.小结 1.案例需求 一个简易的计算器&#xff0c;其效果如下&#xff1a; 图片切换&#xff0c;其效果如下&#xff1a; 简易记事本&#xff0c;其效果如下&#xff1a; 2.编程思路 1.这个Vue.js应用实现了一个简单的计算器&#x…

中小微企业生产管理利器-- 超轻量生产工单系统

为解决中小微制造企业的生产管理难题&#xff0c;搭贝官方自主设计并推出了一款开箱即用的超轻量「生产工单系统」应用。该系统具备5分钟上手&#xff0c;3小时落地的优势&#xff0c;无需实施即可轻松实现生产任务的敏捷管理&#xff0c;同时支持自定义修改&#xff0c;能够适…

PostgreSQL的学习心得和知识总结(一百五十一)|[performance] PostgreSQL列对齐

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…

鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别

一、介绍 鸟类识别系统。本系统采用Python作为主要开发语言&#xff0c;通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型&#xff0c;然后进行模型的迭代训练&#xff0c;得到一个识别精度较高的模型&#xff0c;然后在…

HarmonyOS应用开发(组件库)--组件模块化开发、工具包、设计模式(持续更新)

致力于&#xff0c;UI开发拿来即用&#xff0c;提高开发效率 正则表达式...手机号校验...邮箱校验 文件判断文件是否存在 网络下载下载图片从沙箱中图片转为Base64格式从资源文件中读取图片转Base64 组件输入框...矩形输入框...输入框堆叠效果&#xff08;用于登录使用&#xf…

Django 请求配置

http请求配置 请求流程 urls.py配置 from first_app import viewsurlpatterns [path(admin/, admin.site.urls),path(test/,views.first_test), ] views.py配置 from django.shortcuts import render,HttpResponse# Create your views here. def first_test(request):prin…

Linux相关概念和重要知识点(6)(make、makefile、gdb)

1.make、makefile &#xff08;1&#xff09;什么是make、makefile&#xff1f; 在我们写完代码后&#xff0c;要编译运行&#xff0c;如果有多个.c文件就需要每次都自己用gcc -o来处理&#xff0c;这十分麻烦。当我们想要自定义多个文件的处理时&#xff0c;我们会浪费很多时…

全国职业院校技能大赛(大数据赛项)-平台搭建Spark、Scala笔记

Spark作为一个开源的分布式计算框架拥有高效的数据处理能力、丰富的生态系统、多语言支持以及广泛的行业应用。Scala是一种静态类型的编程语言&#xff0c;它结合了面向对象编程和函数式编程的特性&#xff0c;被誉为通用的“大数据语言”。而二者的结合更能迸发出新奇的化学反…

ER论文阅读-Decoupled Multimodal Distilling for Emotion Recognition

基本介绍&#xff1a;CVPR, 2023, CCF-A 原文链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2023/papers/Li_Decoupled_Multimodal_Distilling_for_Emotion_Recognition_CVPR_2023_paper.pdf Abstract 多模态情感识别&#xff08;MER&#xff09;旨在通过语言、…

MODELS 2024:闪现奥地利,现场直击报道

周末出逃&#xff01;小编闪现至奥地利林茨&#xff0c;亲临第27届MODELS 2024国际会议&#xff0c;以第一视角引领你深入会议现场&#xff0c;领略其独特风采。利用午饭时间&#xff0c;小编紧急码字&#xff0c;只为第一时间将热点资讯呈现给你~ 会议介绍&#xff1a; MODEL…

数据结构篇--折半查找【详解】

折半查找也叫做二分查找或者对数查找&#xff0c;是一种在有序数组中查找特定元素的查找算法。 折半查找的算法步骤如下&#xff1a; 将目标关键字key与数组中的中间元素比较&#xff0c;若相等则查找成功。key大于中间元素&#xff0c;就到数组中大于中间元素的部分进行查找&…

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)2.1-2.2

目录 第四门课 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;第二周 深度卷积网络&#xff1a;实例探究&#xff08;Deep convolutional models: case studies&#xff09;2.1 为什么要进行实例探究&#xff1f;&#xff08;Why look at case studies?&…

【ComfyUI】自定义节点ComfyUI_LayerStyle——模仿 Adob​​e Photoshop 的图层样式、图层混合、图文混合、添加不可见水印

官方代码&#xff1a;https://github.com/chflame163/ComfyUI_LayerStyle.git 相关资料下载&#xff1a;https://pan.baidu.com/s/16vmPe6-bycHKIjSapOAnZA?pwd0919 简介 在ComfyUI画布点击右键 - Add Node, 找到 “&#x1f63a;dzNodes”。 节点根据功能分为5组&#xff…

深入Android UI开发:从自定义View到高级布局技巧的全面学习资料

在Android开发的世界中&#xff0c;UI设计和实现是吸引用户的关键。本文将为您介绍一套全面的Android UI开发学习资料&#xff0c;包括详细的学习大纲、PDF文档、源代码以及配套视频教程&#xff0c;旨在帮助您从自定义View到高级布局技巧&#xff0c;全面提升您的UI开发技能。…