1、业务需求说明:由于公司网络进行了整改,随之而来的就是对应的ip网段发生了变化,其中我的hadoop的集群各主机的ip也相应的发生了改变,因此需要对各主机进行修改ip。 2、具体操作: 首先停止cdh各组件的服务,修改各主机的ip。修改完后,本以为完事儿了,启动Cloudera Management Service时,发现启动失败,无法启动。那么问题就来了,如何通过cloudera-manager来修改主机的ip呢?郁闷的是Cloudera-Manager并没有提供修改集群ip的方法,因此,需要修改主机的ip只能另辟蹊径了。 3、柳暗花明又一村。 通过在网上搜索,发现很多网友也遇到了我同样的问题,其中有些人说只能重装,个人感觉这肯定不会这样子,因此这个方法抛弃。于是功夫不负有心人,在网上看到了有人通过命令行的方式来修改主机的ip。这个可以。下面将该方法步骤详细介绍一下:方法的主要思想是:由于cloudera-manager在安装的时候,会配置相应的数据库,该数据库是用来存储集群的所有的配置信息。cloudera-mamanger每次启动的时候,都会从数据库中读取这些配置信息,因此想修改主机的ip,只需要修改存在数据库中的主机的ip即可。 4、具体方法 (1)首先在安装cloudera-manager的主机上,停止所有的cloudera管理进程 service cloudera-scm-agent stop service cloudera-scm-server stop (2)查看postgresql 的scm用户的密码 grep password /etc/cloudera-scm-server/db.properties (3)登陆postgresql 数据库 输入命令:psql -h localhost -p 7432 -U scm 提示你输入密码,密码就是上面步骤(2)的密码。 (4)修改postgresql数据库中的数据(即主机的ip) 1) 查看pg中存储情况 select host_id, host_identifier, name, ip_address from hosts; 查询的结果如下: host_id | host_identifier | name | ip_address 2)修改各主机的ip(分别修改各主机的ip) update hosts set (ip_address) = ('192.10.2.217') where name='hadoop1'; 3)退出postgresql数据库 输入命令: \q 即可 (5)修改所有机器的cloudera-scm-agent的配置文件 1)打开cloudera-scm-agent的配置文件 vi /ect/cloudera-scm-agent-/config.ini 2)修改server_host的值(这个是指定cloudera-scm-server的ip) 将该值设置为cloudera-scm-server的ip即可。 (6)修改各主机的 /etc/hosts文件,将现在的hostname与IP地址对应上 (7)重启服务 service cloudera-scm-agent start 注:如果agent启动失败,查看是否9000或9001端口被占用 netstat -nap | grep 9000 netstat -nap | grep 9001 如果被占用,kill –9 相关进程,再重新启动agent服务即可. (8)重启cloudera-manager上的服务即可。
|
|
来自: 昵称10504424 > 《工作》