敏捷、分布式、ALM过程自动化、企业应用架构
posts - 14, comments - 0, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

硬件资源:

三台CentOS5.6虚拟机(Vmware

本机 windows7 64x

 

基本资源配置:

三台虚拟机均是克隆自同一个镜像

已经安装了Java环境(jdk1.6.0_25

Hadoop路径在/usr/hadoop/hadoop-0.20.205.0

 

操作步骤:

1、机器名称规范

ip分别为128129130,将128设置为master,其他设置为slave

修改

/etc/sysconfig/network

/etc/hosts

两处配置,名称分别为hadoop-master\hadoop-slave01\hadoop-slave02

注意:此处名称最好不用使用下划线,有可能引发namenode的启动异常。

 

2、修改Hadoop配置 

master节点的conf中修改masterslave文件,分别为机器的ip地址

 

修改master节点的conf中:

core-site.xml

<property>

<name>fs.default.name</name>

<value>hdfs://ip-master:9000</value>

</property>

 

mapred-site.xml

<property>

<name>mapred.job.tracker</name>                                   

<value>master:9001</value>                                

</property>

 

hdfs-site.xm

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

注意此处的端口号均为默认。

 

 

3、建立m-s之间的ssh连接

首先masterslave机器都需要进行ssh信任文件生成,执行如下命令:

$ ssh-keygen -t rsa

中间需要输入的地方直接回车,接受缺省值即可

 

由于使用root用户登录,所以密钥文件生成在 /root/.ssh/文件夹下,存有一对密钥id_dsaid_dsa.pub

此处id_dsa(私钥)必须为其他用户不可读,所以文件属性应当是600

 

master机器执行:

id_dsa.pub(公钥)复制为 authorized_keys

$ cp id_dsa.pub authorized_keys

如果是多台机器需要,无密码登陆,则各自机器产生公钥追加到authorized_keys即可.

 

使用scp协议覆盖slave端的密钥文件夹,使得slave机器信任来自master的连接:

$ scp /root/.ssh/* ip-slave:/root/.ssh

 

 

4、启动服务 

建议将$HADOOP_HOME/bin下的所有文件给与执行权限:

$ chmod 777 bin

 

master作为namenod需要执行如下脚本:

$HADOOP_HOME/bin/hadoop namenode –format

 

完成后执行 $HADOOP_HOME/bin/start-all.sh

 

5、问题检查

Hadoop根目录下的logs文件中,检查各个服务日志的启动情况

 

 

6、其他情况说明:

Q: $HADOOP_HOME is deprecated

A: 基本不会产生任何影响。由于脚本启动时设置了该环境变量,就会提示用户原有环境变量失效。可以取消环境变量设置,或者直接去bin/hadoop中找到这句话,去掉即可

 

Q: 无效的选项 -jvm / Unrecognized option: -jvm

A: 在使用root用户登录时 bin/hadoop 脚本就会进行判断,加上-jvm参数。此处是为了进入jsvchttp://commons.apache.org/daemon/jsvc.html),此处并不确定是否bug,也不再进行详细的追溯,解决方法就是进入 bin/hadoop 脚本中 找到 jvm 参数并去掉。

 

 

 

 

 

 

 


只有注册用户登录后才能发表评论。


网站导航: