最近集群有个节点挂掉了,在修复以后,重新作为新节点加入到集群中。
记录下过程及相关疑问
安装CM
- 基本配置:host,SSH免密,jdk,防火墙及时间同步
- 安装配置CM子节点,创建parcels,后续安装的软件都会分发到该文件夹下
- 启动当前节点的CM,转到CDH管理界面,可以看到节点已添加到主机列表中
- 选择该节点,添加角色:例如:hdfs,yarn等上的角色
- 安装 HDFS 服务时添加 Balancer 角色,用于重新平衡节点上的存储。需要手动开启,
- balancer可以设置带宽:dfsadmin -setBalancerBandwidth newbandwidth
- 随后便可以正常使用了!
其他
- CDH5.12默认安装spark1.6,需要升级为2.x.两个版本可以共存,使用的端口不同( History Server port is 18089 instead of the usual 18088)
- Phoenix:是一个开源的HBASE SQL层,是一个中间件,使用Phoenix我们就可以使用标准的JDBC API代替HBase客户端API来创建表,插入数据,查询你的HBase数据,具体的介绍请看官网http://phoenix.apache.org/。
- Gateway 并不是一个角色,而是网关代理,就是告诉你这是我的一个使用的节点,但并没有实际的角色存在。
22年11月添加新节点
重要说明:CDH自2021年2月开始收费,无法进行免费安装了。官方说明如下:
自 2021 年 2 月 1 日起,CDH 和 Cloudera Manager 的所有下载都需要
用户名和密码并使用修改后的 URL。
在下载下述存储库内容时,您必须使用修改后的 URL,包括用户名和密码。
您可能需要将 Cloudera Manager 升级到使用修改后的 URL 的较新版本。
这可能会影响新安装、升级、向集群添加新主机以及添加新集群。
解决办法如下:
因之前安装CHD有,有下载安装包。列表如下:
CM安装包:cloudera-manager-el6-cm5.14.4_x86_64.tar.gz
CDH安装包:
CDH-5.14.4-1.cdh5.14.4.p0.3-el6.parcel
CDH-5.14.4-1.cdh5.14.4.p0.3-el6.parcel.sha
manifest.json
mysql:mysql-connector-java-5.1.41.jar
因此无需连接远程地址。直接安装即可。
记录安装过程中的错误
无法安装 cloudera-manager-agent
因CDH社区收费,导致的远端连接yum源失效。需成为付费用户或找寻其他离线资源
目前我通过谷歌找到了一个网址可以下载CM和CDH的parcels安装包
CM5
http://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/cm5/redhat/7/x86_64/cm/
或使用`开源`的Hadoop和Ambari
不良 : 该主机已与 Cloudera Manager Server 建立联系。 该主机未与 Host Monitor 建立联系。
修改host文件,与其他节点一致。
CDH检测不到新增节点。
需要检测cloudera-scm-agent是否启动。
本机故障是因为9000端口被占用,导致agent启动不久后,就会挂掉。kill掉使用9000端口的tcp服务。在启动agent成功。集群能检测到agent。接下来开始安装子节点的其他服务。
检查已知端口占用情况
netstat -anp | grep 9000
查询得到的“1237682/java”,这里的1237682就是端口占用的对应进程的进程号,我们杀掉对应进程号即可
kill 1237682
cloudera-scm-agent 已死,但 pid 文件存在
解决方案
在CDH安装目录下的run目录下有两个目录,分别是cloudera-scm-agent和cloudera-scm-server,哪个服务死了就进哪个目录,然后删掉对应的pid文件。再OK了。