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

news2024/12/23 6:28:49

当我们学习搭建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安装初始软件

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安装成功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 -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

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 -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

11.1 选择要添加的服务:

11.2 分配主机

11.3 分配从服务器和客户端

11.4 设置Hive服务

 11.5 安装

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

飞书获取用户及部门信息

1、进入企业后台管理&#xff0c;创建一个企业自建应用 &#xff0c;获取App ID&#xff0c;App Secret 2、 对应用设置api权限及数据权限 3、Java客户端获取用户&#xff0c;部门信息 有两种方式可以获取&#xff1a;1、api 2、sdk的方式 我这里采用sdk的方式&#xff0c;…

如何给文件夹里面的文件批量添加前缀和编号(利用C#写的小工具)

运行结果 将上面的文件编号效果 下载过后启动这个程序即可&#xff08;这个程序灵感来源是上次给美术资源分类和编号的时候给我干吐了&#xff0c;所以写了这个工具&#xff09; 体验链接&#xff1a;laozhupeiqia/批处理 --- laozhupeiqia/批处理 (github.com) 如果对你有帮助…

【C++】面向对象编程的三大特性:深入解析继承机制

C语法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;命名空间缺省参数与函数重载C相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriori…

近几年来说最有效率的编程语言和市场最认可的编程语言分别是什么?

在过去的几年中&#xff0c;编程语言的效率和市场认可度在不断演变。不同的语言适用于不同的领域和场景&#xff0c;因而编程语言的“效率”和“市场认可”需要根据具体应用来分析。本文将从两个角度入手&#xff0c;分别探讨近几年中被认为最有效率和最受市场认可的编程语言。…

MISC - 第二天(wireshark,base64解密图片,zip文件伪加密,LSB二进制最低位,ARCHPR工具)

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;今天给大家讲解杂项 乌镇峰会种图 使用了stegsolve工具&#xff0c;查看更多信息 发现flag信息 更改为html后缀flag{97314e7864a8f62627b26f3f998c37f1} wireshark 看题目是 分析pacp数据包&#xff0c;通过网站登录…

模组差分包,可能是你远程升级失败的罪魁祸首!

也许我们已经习惯生活里的问题接连不断。。。但当收到客户的问题反馈&#xff0c;还是会心头一紧&#xff01; 最近有客户反馈在乡村里频繁出现掉线的情况。 我们赶紧排查&#xff1a;换货、换SIM卡&#xff0c;发现只有去年5月22号采购的那批模块在客户环境附近会出现掉线的…

2024年 人工智能领域的一些成果与未来发展趋势 形式丰富多样

目前人工智能领域发展迅速&#xff0c;在多个方面取得显著成果。2024 人工智能大会展览规模、首发新品数均达历史最高&#xff0c;有超过 500 家企业参展&#xff0c;展品数量超过 1500 项。 在教育领域&#xff0c;人工智能落地成果显著。只需一键扫描就可以自动批改试卷的作业…

基于yolov5滑块识别破解(一)

由于内容较长&#xff0c;将分为两个部分来说明&#xff0c;本文讲解yolov5的部署与训练。 1.YOLOv5部署 云端部署&#xff08;训练&#xff09; 服务器创建 如果自己的显卡算力不是很好的&#xff0c;或者是核显电脑&#xff0c;可以租用算力&#xff0c;价格还行一块钱左右就…

nodejs基于vue+express度假村旅游管理系统设计与实现7t82p

目录 功能介绍数据库设计具体实现截图技术栈技术论证解决的思路论文目录核心代码风格详细视频演示源码获取 功能介绍 实现了一个完整的农家乐系统&#xff0c;其中主要有用户表模块、关于我们模块、收藏表模块、公告信息模块、酒店预订模块、酒店信息模块、景区信息模块、景区…

96. UE5 GAS RPG 实现闪电链技能(一)

闪电链有一个施法的过程&#xff0c;就是在按键按下的过程&#xff0c;会在按下的过程一直持续造成伤害&#xff0c;一直等到条件不满足&#xff08;技能键位抬起&#xff0c;蓝量不足&#xff0c;被眩晕&#xff09;时&#xff0c;将结束技能&#xff0c;并退出技能状态。 所以…

以太坊客户端Geth的介绍与搭建

一、以太坊客户端 1.介绍 以太坊客户端是指用于连接、交互和参与以太坊区块链网络的软件。以太坊客户端允许用户执行各种操作&#xff0c;如发送交易、挖矿、部署智能合约、同步区块链数据等。 2.功能 区块链同步&#xff1a;客户端会下载并验证以太坊区块链的所有区块&…

7. 无线网络安全

7. 无线网络安全 (1) 无线网络面临的安全威胁 无线网络由于其开放性和无线传输的特性,面临着多种安全威胁,主要包括: 窃听:攻击者可以截获无线电信号并解析出数据,甚至在加密通信中收集加密信息用于以后的分析。 通信阻断:通过DoS攻击或其他干扰手段阻断通信,使设备间无…

TFT-LCD显示屏(1.8寸 STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 3.工作原理&#xff1a;TFT-LCD色彩空间 三、程序设计 main.c文件 lcd.h文件 lcd.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 TFT-LCD&#xff0c;全称Thin Film Transistor Liquid Crystal Display&a…

gitlab修改访问端口

目录 1.找到gitlab.rb文件&#xff0c;一般在/etc/gitlab/路径下 2.打开配置文件&#xff0c;加上代码 3.重新配置 4.重启gitlab 1.找到gitlab.rb文件&#xff0c;一般在/etc/gitlab/路径下 2.打开配置文件&#xff0c;加上代码 打开文件 sudo vi gitlab.rb 加上默认端口配…

苹果AI手机遇阻,国产手机找到超车机遇

行至九月&#xff0c;2024年&#xff0c;这个所谓AI手机的元年&#xff0c;已经走过近三个季度了。 市场最为期待的AI手机机型也基本都发布了。9月20日&#xff0c;首款搭载Apple Intelligence功能的苹果新品iPhone16正式发售。或许是为了进一步扩大销售&#xff0c;今年天猫A…

【JAVA开源】基于Vue和SpringBoot的甘肃非物质文化网站

本文项目编号 T 042 &#xff0c;文末自助获取源码 \color{red}{T042&#xff0c;文末自助获取源码} T042&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

计算机网络-小型综合网络的搭建涉及到无线路由交换安全

目录 1 拓扑架构 2 做项目的思路 3 做配置 3.1先做核心交换 3.2 防火墙的配置 4 ac 和ap 的配置 4.1 ac上配置安全的东西 5.1 测试​编辑 1 拓扑架构 要求看上面的图 2 做项目的思路 这张网很明显是一个小综合&#xff0c;设计到我们的无线交换&#xff0c;路由…

统信服务器操作系统【SSH登录常见问题】解决方案

方案适用于统信服务器操作系统D/E/A版。 文章目录 前言问题及解决方案问题一问题现象问题原因问题方案问题二问题现象问题原因问题方案问题三问题原因问题方案问题四问题现象问题原因问题方案问题五问题现象问题原因问题方案问题六问题现象问题原因问题方案前言 介绍日常使用s…

语音识别控制(软件、硬件)

1. 环境 python版本&#xff1a;3.11.9 2. 完整代码 import sqlite3 import time import wave # 使用wave库可读、写wav类型的音频文件 from funasr import AutoModel import sounddevice as sd import numpy as np from modelscope import pipeline, Tasks from pypinyin …

软件著作权登记所需要的材料

软件著作权登记所需材料全面解析 在当今数字化时代&#xff0c;软件著作权作为保护软件开发者智力劳动成果的重要法律手段&#xff0c;其登记过程显得尤为重要。 一、软件著作权登记申请表 首先&#xff0c;软件著作权登记需要提交的最基本材料是《软件著作权登记申请表》。这份…