前言
今日,在更改装有Hadoop的Linux系统的主机名时,出现一个问题,更改玩主机名之后,hadoop的某些程序启动不起来启动不起来。后来,经过一番处理,终于解决了,在这里,记录一下。
1.更改/etc/hosts文件
[root@yinzhenkun ~]#gedit /etc/hosts
在相应的位置添加用户名信息。
127.0.0.1 username
2.更改/etc/sysconfig/network文件
[root@yinzhenkun ~]#gedit /etc/sysconfig/network
在相应位置更改
HOSTNAME=username
3.重新生成ssh密钥
更改完成之后。首先,需要进入到root的根目录,将.ssh文件删除。并重启(重启
是为了让主机名称的更改生效)。
[root@yinzhenkun ~]#cd ~
[root@yinzhenkun ~]#rm -rf .ssh
[root@yinzhenkun ~]#init 6
4.将之前的hadoop启动过程生成的文件删除
因为在配置hadoop时,没有指定本地存放hadoop文件的路径,所以,当hadoop执行
hadoop namenode -format命令时,会将生成的文件系统文件放在/tmp目录下,所以
在删除相应的文件时,需要删除/tmp下的有关hadoop的所有文件(这里,删除的文件
根据各位的实际情况进行操作)。
rm -rf /tmp/hadoop*
5.生成新的ssh密钥
进入root根目录,生成相应的ssh密钥,复制公钥为authorized_keys
[root@yinzhenkun ~]#cd ~
[root@yinzhenkun ~]#ssh-keygen -t rsa
[root@yinzhenkun ~]#cd .ssh
[root@yinzhenkun .ssh]#echo id_rsa.pub>authorized_keys
6.验证
[root@yinzhenkun ~]#ssh username
之后会需要输入yes,如果之后,打印出在某某时间登陆,则配置成功。
7.更改hadoop的配置文件
hadoop中主要更改的文件有如下两个:
core-site.xml、mapred-site.xml
core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://username:9000</value>
</property>
mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>username:9001</value>
</property>
8.重新初始化hadoop的文件系统。
[root@yinzhenkun conf]#hadoop namenode -format
9.重新启动hadoop
[root@yinzhenkun conf]#start-all.sh
[root@yinzhenkun conf]#jps
4767 JobTracker
4554 DataNode
4898 TaskTracker
5137 Jps
4668 SecondaryNameNode
4440 NameNode
如果hadoop相关的5个主要进程启动,则更改正确。