如何修改主机IP

1. 介绍

本节介绍如何在Cloudera Manager中更新已有主机的IP信息,操作后除IP地址以外的其他信息,如主机名、节点属性、配置、环境等皆不变,整个过程中无添加或移除节点操作。

2. 操作影响

操作过程中需要停止集群服务、停止Cloudera Manager服务;需要禁止其他用户进行集群操作。

3. 步骤

3.1 停止集群服务

在Cloudera Manager界面,停止集群组件服务

3.2 停止集群管理服务

在Cloudera Manager界面,停止集群管理服务

3.3 停止CM Server服务

在Cloudera Manager节点上,进入命令行执行:

service cloudera-scm-server stop

3.4 停止CM Agent服务

在所有IP地址发生变更的节点上,进入命令行执行

service cloudera-scm-agent stop

3.5 备份CM Server数据库

备份Cloudera Manager Server的后台数据库,如果外部数据库选用的是Mysql,可以使用mysqldump命令,如下示例:

mysqldump -uroot -prootroot cm > ~/cm_bak_20150423.sql
mysqldump -uroot -prootroot metastore > ~/metastore_bak_20150423.sql

3.6 修改主机名文件

在所有IP地址发生变更的节点上,编辑/etc/hosts文件,修改IP地址,如下示例:

cp /etc/hosts /etc/hosts.bak
vim /etc/hosts

hosts文件格式示例如下,第一列为IP,第二列为机器名称:

127.0.0.1   localhost
168.9.2.201 hdhead1
168.9.2.202 hdhead2
168.9.2.204 hddata1
168.9.2.205 hddata2
168.9.2.206 hddata3
168.9.2.207 hddata4
168.9.2.208 hddata5
168.9.2.209 hddata6

3.7 修改config.ini文件

在所有IP地址发生变更的节点上,编辑config.ini文件,修改CM Server的IP地址:

vim /etc/cloudera-scm-agent/config.ini

比如,修改原server host地址168.9.3.12为新地址168.9.2.202

#server_host=168.9.3.12
server_host=168.9.2.202

3.8 修改CM数据库的HOST表

修改CM外部数据库中的HOST表,更新IP_ADDRESS,如下示例:

3.8.1.进入 mysql

mysql> use cm;
mysql> SELECT NAME, IP_ADDRESS FROM HOSTS;
+---------+------------+
| NAME    | IP_ADDRESS |
+---------+------------+
| hdhead2 | 168.9.3.12 |
| hdhead1 | 168.9.3.11 |
| hddata2 | 168.9.3.52 |
| hddata1 | 168.9.3.51 |
| hddata6 | 168.9.3.56 |
| hddata3 | 168.9.3.53 |
| hddata5 | 168.9.3.55 |
| hddata4 | 168.9.3.54 |
+---------+------------+

8 rows in set (0.00 sec)

3.8.2.通过NAME更新 IP_ADDRESS

update HOSTS set IP_ADDRESS='168.9.2.201' where NAME='hdhead1';
commit;
update HOSTS set IP_ADDRESS='168.9.2.202' where NAME='hdhead2';
commit;
update HOSTS set IP_ADDRESS='168.9.2.204' where NAME='hddata1';
commit;
update HOSTS set IP_ADDRESS='168.9.2.205' where NAME='hddata2';
commit;
update HOSTS set IP_ADDRESS='168.9.2.206' where NAME='hddata3';
commit;
update HOSTS set IP_ADDRESS='168.9.2.207' where NAME='hddata4';
commit;
update HOSTS set IP_ADDRESS='168.9.2.208' where NAME='hddata5';
commit;
update HOSTS set IP_ADDRESS='168.9.2.209' where NAME='hddata6';
commit;

3.8.3.检查新的IP_ADDERSS

mysql> SELECT NAME, IP_ADDRESS FROM HOSTS;

+---------+-------------+
| NAME    | IP_ADDRESS  |
+---------+-------------+
| hdhead2 | 168.9.2.202 |
| hdhead1 | 168.9.2.201 |
| hddata2 | 168.9.2.205 |
| hddata1 | 168.9.2.204 |
| hddata6 | 168.9.2.209 |
| hddata3 | 168.9.2.206 |
| hddata5 | 168.9.2.208 |
| hddata4 | 168.9.2.207 |
+---------+-------------+

8 rows in set (0.00 sec)

3.9 启动CM Server服务

在Cloudera Manager节点上,进入命令行执行:

service cloudera-scm-server start

3.10 启动CM Agent服务

在所有IP地址发生变更的节点上,进入命令行执行:

service cloudera-scm-agent start

3.11 启动集群管理服务

在Cloudera Manager界面,启动集群管理服务

3.12 启动集群服务

在Cloudera Manager界面,启动集群组件服务

3.13 部署客户端配置

在Cloudera Manager界面,点击“部署客户端配置”

3.14 验证集群

1.在Cloudera Manager界面,观察各个组件状态是否正常 2. 进入“主机”界面,观察主机IP地址是否已更新 3. 进入命令行,分别执行hadoop fs、hive、impala-shell等命令验证组件工作是否正常,如下示例:

[root@hdhead1 ~]# hadoop fs -ls /

Found 4 items

drwxr-xr-x   - hdfs supergroup          0 2015-03-24 13:16 /htdata
drwxr-xr-x   - hdfs supergroup          0 2015-03-16 15:01 /opt
drwxrwxrwt   - hdfs supergroup          0 2015-03-24 11:43 /tmp
drwxrwxrwx   - hdfs supergroup          0 2015-03-24 13:32 /user

results matching ""

    No results matching ""