首先修改每一台主机的hostname
输入命令:
vim /etc/hostname
命名随意,不重复就行。
输入命令:
vim /etc/hosts
进入hosts编辑页面
每台主机host的配置都要相同
# 127.0.0.1 localhost ambari01
192.168.2.93 ambari01
192.168.2.94 ambari02
192.168.2.95 ambari03
ip地址后的名称与hostname中的名称相同
修改完后ping其他不同的主机,看能不能ping通
安装Ubuntu的时候,勾选安装OpenSSH,系统打开后就能直接使用ssh服务了。
登录每台主机,输入命令:
vim /etc/ssh/sshd_config
将该文件下的 PermitRootLogin的值改为 yes
输入以下命令重启一下SSH服务:
/etc/init.d/ssh restart
重启成功后就能使用xShell连接虚拟机进行操作了。
首先在主机上运行 sudo ssh-keygen ,然后一路回车,生成本机公私密钥。 注意要一路回车,不用输入任何字符。 然后执行以下命令:
ssh-copy-id root@ambari01
ssh-copy-id root@ambari02
ssh-copy-id root@ambari03
注意也要对自己本机也操作一次,不然后面在ambari服务器上安装组件的时候本机会显示permision denied 的情况。
执行以上命令时,会依次提示输入每台从机的root密码,然后主机就会自动将公钥发送给各个从机的机器中并立即生效。
执行后可以通过执行ssh root@ambari02 进行测试,可以直接登陆从机,无需密码。
复制一份刚才主机生成的私钥,后面ambari搭建集群的时候会需要用到,密钥的文件位于 /root/.ssh/id_rsa,执行以下命令:
cp /root/.ssh/id_rsa /root
将密钥复制到root文件目录下,然后通过xftp将文件下载到Windows本地。因为xftp不能直接访问.ssh目录。
每个从机、主机都需要安装yum、ntp,否则后面Ambari部署有些会不通过。
apt-get install yum
apt-get install ntp
一般Ubuntu默认都会安装python2.7,此条可以忽略。
准备工作完毕。下面开始集群的搭建。
前面一个安装包大约5.9G,如果选择在线安装则太费时间,因此下载已经编译好的HDP安装包进行离线安装。
首先进入 https://docs.hortonworks.com/ 找到ambari,选择自己想要的版本。本文使用的是Ambari-2.5.0.3版本。选择好版本后,找到Apache Ambari Installation ,点击进入后,通过点击 Getting Ready -> Using a Local Repository -> Obtaining the Repositories -> HDP Stack Repositories 找到HDP离线版下载,我使用的版本为 HDP-2.6.0.3,具体网址为下:
https://docs.hortonworks.com/HDPDocuments/Ambari-2.5.0.3/bk_ambari-installation/content/hdp_26_repositories.html
然后就是漫长的下载之路了,一共6G左右,记住要选择对应的Ambari和虚拟机版本。下载HDP和HDP-UTILS两个文件。
Ambari只需要在主机上安装,而后安装组件时其他从机会自动部署。
继续在刚才的网站上,找到 Download the Ambari Repository,选择对应的虚拟机版本,然后按照官方手册指引,root用户登录主机后依次执行以下三句命令即可完成安装源的配置。
wget -O /etc/apt/sources.list.d/ambari.list http://public-repo-1.hortonworks.com/ambari/ubuntu16/2.x/updates/2.5.0.3/ambari.list
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
apt-get update
要注意ambari版本的问题,不要版本不一致。
具体操作可以查看官方操作手册。
然后进行ambari-server 的安装
apt-get install ambari-server
一共七百多MB,大概安装个二十分钟左右,视网速而定。
执行命令
ambari-server setup
进行配置ambari-server,一路回车进行配置,途中会安装JDK,选择JDK1.8继续安装。
中途也会遇到选择安装数据库,默认选择安装MySQL,继续安装。
ambari的用户名和密码如果不进行设置则默认都为admin。
安装好后将JDK1.8安装包发送给每个从机,都将JDK1.8安装一遍。
操作手册上如是说:
- Run the following command on the Ambari Server host:
ambari-server start
- To check the Ambari Server processes:
ambari-server status
- To stop the Ambari Server:
ambari-server stop
执行 ambari-server start ,稍候片刻启动服务。然后进入网址 http://<主机IP>:8080 就可以进入Ambari的登录界面。账号密码如果刚才没有配置,则均为admin。
也不一定是要nignx,只要能提供Http服务,来作为HDP离线包的下载服务器就行。
主机上运行:
apt-get install nignx
安装完成后浏览器进入 http://<主机IP>:80 查看是否有Nignx欢迎页面。
使用xftp进行文件传输,xftp连接主机后进入 /var/www/html 目录,将HDP-UTILS-1.1.0.21-ubuntu16.tar.gz和HDP-2.6.0.3-ubuntu16-deb.tar.gz两个文件传到该目录下。
在linux终端下新建文件夹HDP-UTILS-1.1.0.21,将压缩包HDP-2.6.0.3-ubuntu16-deb.tar.gz直接解压,将压缩包HDP-UTILS-1.1.0.21-ubuntu16.tar.gz解压到新建的文件夹HDP-UTILS-1.1.0.21下
执行以下命令将默认的欢迎页面重命名:
mv /var/www/html/index.nginx-debian.html /var/www/html/index.nginx-debian.html.bak
进入nignx的配置页面
vim /etc/nginx/sites-enabled/default
在 server{…} 里添加一句 autoindex on; 即打开目录浏览功能。
以上步骤做完后,再次访问 http://<主机IP>:80 时,能看到目录结构,同时能找到HDP以及HDP-UTILS,能够从页面上下载,HDP离线安装包就配置好了。
参考文章:如何优雅地使用Apache Ambari安装HDFS、HBase等分布式应用