Ubuntu16.04 安装 CDH5.14.2(虚拟机及云端大部分相似,云端要
注意出入口端口规则)centos 也与之差别不大,使用相应的版本即可。
(一).环境及软件准备:
因为我是在虚拟机上安装的,即:
1.环境:Ubuntu16.04 desktop x 4 台或者更多或者 3 台,具体看自己的机
器而定 (由于 cdh 需要的内存很多,建议安装 ubuntu server 版,或者 centos Minimal
版 以减少不必要的内存消耗。 )
o
ip 分别为:192.168.68.131(master:5G 内存),192.168.68.132(slave1:
2G 内存),192.168.68.133(slave2:2G 内存),192.168.68.134(slave3:
2G 内存)
o 用户统一使用 root 用户,避免权限问题
2.需下载安装的软件:
o
cm 压缩包:cloudera-manager-xenial-cm5.14.2_amd64.tar.gz
o CDH 离线资源包(parcels):
o CDH-5.14.2-1.cdh5.14.2.p0.3-xenial.parcel
o CDH-5.14.2-1.cdh5.14.2.p0.3-xenial.parcel.sha1
o manifest.json
注意:Ubuntu 有多个版本:16.04 代号为 Xenial Xerus,这里 cdh 安装版本要与自己的
ubuntu 一致,不然会出现兼容问题导致安装失败。
Ubuntu 前期准备:
需要部署的服务有:
o
ssh 服务(免密登录,用于机器之间的通信)
o ntp 服务(用于同步机器之间的时间,因为集群需要时间同步,不然会出错)
o
java(jdk1.8)我选择的 1.8
o mysql5.7(我用的 mysql5.7.22 这个版本)
二) .主机环境配置:
需要把 ip、设置为静态 ip,ubuntu 桌面版可以在桌面右上角手动修改,网关为虚拟机
中右上角编辑里的虚拟网络编辑器里的 NAT 设置中可以看到。
也可使用命令行修改静态 ip,具体可找度娘问问。
1.修改 hostname:(所有节点)修改为对应的主机名方便区分及管理
主节点master:
root@master:~# vim /etc/hostname
~~~~~~~内容~~~~~~~
master
~~~~~~~内容~~~~~~~
从节点slave[1-3]:,
root@slave1:~# vim /etc/hostname
~~~~~~~内容~~~~~~~
slave1
~~~~~~~内容~~~~~~~
2.修改 hosts(所有节点):(分发到其余 slave)
root@master:~# vim /etc/hosts
~~~~~~~~~~~内容~~~~~~~~~~~
127.0.0.1
localhost
192.168.68.131 master
192.168.68.132 slave1
192.168.68.133 slave2
192.168.68.134 slave3
# The following lines are desirable for IPv6 capable hosts
::1
ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
~~~~~~~~~~~内容~~~~~~~~~~~
注意:部分主机含有 127.0.1.1 的地址 用#注释或删除
3.更新软件包(所有节点):用于后面相关服务的安装,不更新后面会出现
安装问题。
root@master:~# apt update
4.关闭防火墙(所有节点):(虚拟机的防火墙默认好像是关闭了的,也可试试,
具体也可以百度查看相关文档)
root@slave1:~# ufw disable
Firewall stopped and disabled on system startup
5.重启系统:reboot 因为更改/etc/hostname 必须要重启系统才能生效,更新软件包,
以及关闭防火墙有时也需要重启系统来应用部分配置,因此在这步进行系统重启。
6.ssh 服务配置:
首先要安装 ssh 服务:(root 用户下),
apt install openssh-server 服务(所有节点),也方便使用 xshell 远程连接
在 root 下执行 ssh-keygen -t rsa # 注意在接下来的命令行交互中,直接按回车
跳过输密码
cd /root/.ssh /
cat id_rsa.pub>> authorized_keys
ssh-copy-id root@slave1# root 是远程主机用户名
ssh-copy-id root@slave2
ssh-copy-id root@slave3
ssh-copy-id 如 果 不 行 的 话 , 可 以 在 master 使 用 cp 把 id_isa.pub 拷 贝 到
/home/ubuntu/目录下,在使用 scp 拷贝到其他节点,然后执行 cat id_rsa.pub>>
/root/.ssh/authorized_keys
各节点执行 ssh localhost 第一次需要输入 yes,之后不需要输入任何信息即为成功。
有时候不成功可以检查一下:
/etc/ssh/sshd_config 配置文件中的以下选项(所有节点):
root@master:~# vim /etc/ssh/sshd_config
~~~~~~~~查找并修改~~~~~~~~
PermitRootLogin yes(是否启用,是否为 yes)
PasswordAuthentication yes(是否启用,是否为 yes)
~~~~~~~~查找并修改~~~~~~~~
root@master:~# /etc/init.d/ssh restart
7.配置 ntp 服务:(同步时间)
安装 ntp 服务(所有节点)
root@master:~# apt-get install ntp
master:编辑 vim /etc/ntp.conf
改配置为上图所示,最后一个红框表示允许 192.168.68.0 网段内的主机同步此 master 上
的时间
slave:
root@slave1:~# vim /etc/ntp.conf
//用#注释掉所有 pool 与 server 添加一下内容
~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~
server master
~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~
即:
ntp 我是这样配置的。目测时间是同步的
重启 ntp 服务:
root@master:~t# service ntp restart
8.安装配置 JAVA:(所有节点):
1,安装 JAVA:
我使用的是 jdk1.8
使用 tar 包,解压到指定的目录即可,在配置环境变量,当然,也可以 ln –s 使用软连
接。
root@master:/opt#tar –zxvf jdk-8u172-linux-x64.tar.gz
环境变量在末尾:
保存:wq
root@master;/opt#source /etc/profile
9.安装 mysql:
先创建一个文件夹用于存放解压后的 deb 文件
root@master:/opt#mkdir mysqldata
root@master:/opt/mysqldata#tar
-xvf
mysql-server_5.7.22-1ubuntu16.04_amd64.deb-bundle.tar
可参考如下:
到官网下载 MySQL5.7.22 的压缩包:
mysql-server_5.7.22-1ubuntu16.04_amd64.deb-bundle.tar