安装环境部署
使用版本
- Ubuntu:ubuntu-16.04.6-server-amd64
- Ambari:ambari-2.5.0.3-ubuntu16
- HDP:HDP-2.6.0.3-ubuntu16
- HDP-UTILS:HDP-UTILS-1.1.0.21-ubuntu16
设置每台主机的host
首先修改每一台主机的hostname
输入命令:
1 | vim /etc/hostname |
命名随意,不重复就行。
输入命令:
1 | vim /etc/hosts |
进入hosts编辑页面
每台主机host的配置都要相同
1 | # 127.0.0.1 localhost ambari01 |
ip地址后的名称与hostname中的名称相同
修改完后ping其他不同的主机,看能不能ping通
链接Xshell
安装Ubuntu的时候,勾选安装OpenSSH,系统打开后就能直接使用ssh服务了。
登录每台主机,输入命令:
1 | vim /etc/ssh/sshd_config |
将该文件下的 PermitRootLogin的值改为 yes
输入以下命令重启一下SSH服务:
1 | /etc/init.d/ssh restart |
重启成功后就能使用xShell连接虚拟机进行操作了。
免密登录从机
首先在主机上运行 sudo ssh-keygen ,然后一路回车,生成本机公私密钥。 注意要一路回车,不用输入任何字符。 然后执行以下命令:
1 | ssh-copy-id root@ambari01 |
注意也要对自己本机也操作一次,不然后面在ambari服务器上安装组件的时候本机会显示permision denied 的情况。
执行以上命令时,会依次提示输入每台从机的root密码,然后主机就会自动将公钥发送给各个从机的机器中并立即生效。
执行后可以通过执行ssh root@ambari02 进行测试,可以直接登陆从机,无需密码。
保存主机的私钥
复制一份刚才主机生成的私钥,后面ambari搭建集群的时候会需要用到,密钥的文件位于 /root/.ssh/id_rsa,执行以下命令:
1 | cp /root/.ssh/id_rsa /root |
将密钥复制到root文件目录下,然后通过xftp将文件下载到Windows本地。因为xftp不能直接访问.ssh目录。
安装yum和ntp
每个从机、主机都需要安装yum、ntp,否则后面Ambari部署有些会不通过。
1 | apt-get install yum |
python版本 > 2.6
一般Ubuntu默认都会安装python2.7,此条可以忽略。
准备工作完毕。下面开始集群的搭建。
下载HDP与HDP-UTILS离线安装包
前面一个安装包大约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,具体网址为下:
1 | https://docs.hortonworks.com/HDPDocuments/Ambari-2.5.0.3/bk_ambari-installation/content/hdp_26_repositories.html |
然后就是漫长的下载之路了,一共6G左右,记住要选择对应的Ambari和虚拟机版本。下载HDP和HDP-UTILS两个文件。
安装 Ambari
Ambari只需要在主机上安装,而后安装组件时其他从机会自动部署。
继续在刚才的网站上,找到 Download the Ambari Repository,选择对应的虚拟机版本,然后按照官方手册指引,root用户登录主机后依次执行以下三句命令即可完成安装源的配置。
1 | 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 |
要注意ambari版本的问题,不要版本不一致。
具体操作可以查看官方操作手册。
然后进行ambari-server 的安装
1 | apt-get install ambari-server |
一共七百多MB,大概安装个二十分钟左右,视网速而定。
配置 Ambari
执行命令
1 | ambari-server setup |
进行配置ambari-server,一路回车进行配置,途中会安装JDK,选择JDK1.8继续安装。
中途也会遇到选择安装数据库,默认选择安装MySQL,继续安装。
ambari的用户名和密码如果不进行设置则默认都为admin。
安装好后将JDK1.8安装包发送给每个从机,都将JDK1.8安装一遍。
启动 Ambari
操作手册上如是说:
1 | - Run the following command on the Ambari Server host: |
执行 ambari-server start ,稍候片刻启动服务。然后进入网址 http://<主机IP>:8080 就可以进入Ambari的登录界面。账号密码如果刚才没有配置,则均为admin。
部署HDP离线安装包
安装Nignx
也不一定是要nignx,只要能提供Http服务,来作为HDP离线包的下载服务器就行。
主机上运行:
1 | apt-get install nignx |
安装完成后浏览器进入 http://<主机IP>:80 查看是否有Nignx欢迎页面。
上传HDP离线安装包
使用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下
执行以下命令将默认的欢迎页面重命名:
1 | mv /var/www/html/index.nginx-debian.html /var/www/html/index.nginx-debian.html.bak |
进入nignx的配置页面
1 | vim /etc/nginx/sites-enabled/default |
在 server{…} 里添加一句 autoindex on; 即打开目录浏览功能。
以上步骤做完后,再次访问 http://<主机IP>:80 时,能看到目录结构,同时能找到HDP以及HDP-UTILS,能够从页面上下载,HDP离线安装包就配置好了。
开始创建集群
- 进入 http://<主机IP>:8080 Ambari登录页面,账号密码均为admin;ambari登录界面
- 登陆后选择Launch Install Wizard;在这里插入图片描述
- 命名你的集群,好听点就行;
- 下一步,选择本地Repository,选择对应的虚拟机版本,链接填刚才配置好的Nignx的服务器路径址,即http://<主机IP>/HDP/ubuntu16/ 和 http://<主机IP>/HDP-UTILS-1.1.0.21/;在这里插入图片描述
- 进入install options,输入集群机器的ip,选择之前下载到本地的id_rsa文件。点击Register and confirm 进入下一步;在这里插入图片描述
- confirm host 之后,进行选择服务,即要安装的大数据组件,进行安装
- 进行到Customize Services时可能会让你进行一些密码的设置,比如hive组件之类的,设置好不报错后继续安装;在这里插入图片描述
- 安装成功即完成部署。在这里插入图片描述
完结撒花!
