ubuntu+hadoop2.6.0+集群模式

集群模式

master:deepin,slaves:ubuntu server 12.04(一台master,两台slave)

更改所有机器的主机名/etc/hostname,分别为HadoopMaster、HadoopSlave1、HadoopSlave2,并且添加各自ip到/etc/hosts,更改主机名是为了后续操作方便容易管理,不更改也可以,如果已经在$HOME/.ssh/config中配置了Host信息,也无需修改/etc/hosts。如果slave的ip地址带端口,还需要将slave机器上的/etc/ssh/sshd_config 中的Port Num(Num即该机器端口号,注意,更改之后连接本地会失败,但对集群无影响)

我们的操作全部在hduser:hadoop上面,在另外两台机器上也新建hadoop组和用户hduser(这一步不是必须的)

1. 两台slave同样需要安装ssh,安装配置java环境和hadoop环境,两台slave上的都执行sudo chown hduser:hadoop -R /usr/local/hadoop/(用户和组名根据自己本机真实情况而定)。接着在执行sudo apt-get install rsync,安装完成后重启,接下来基本都在master上进行配置

2. master机器上cd 到/usr/local/hadoop/etc/hadoop

a.    core-site.xml

<property>
  <name>fs.default.name</name>
  <value>hdfs://HadoopMaster:9000</value>
</property>
b.    hdfs-site.sh

<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/usr/local/hadoop_tmp/hdfs/namenode</value>
</property>
c.    yarn-site.xml

<property>
	<name>yarn.resourcemanager.resource-tracker.address</name>
	<value>HadoopMaster:8025</value>
</property>
<property>
	<name>yarn.resourcemanager.scheduler.address</name>
	<value>HadoopMaster:8035</value>
</property>
<property>
	<name>yarn.resourcemanager.address</name>
	<value>HadoopMaster:8050</value>
</property>
d.    mapred-site.xml

<property>
	<name>mapreduce.job.tracker</name>
	<value>HadoopMaster:5431</value>
</property>
<property>
	<name>mapred.framework.name</name>
	<value>yarn</value>
</property>
e.    同样在该目录下:

sudo gedit masters, 在里面添加
HadoopMaster
sudo gedit slaves,在里面添加
HadoopSlave1
HadoopSlave2

3. 将上述修改用rsync同步到两台slave机器上,

sudo rsync -avxP /usr/local/hadoop/ hduser@HadoopSlave1:/usr/local/hadoop/
sudo rsync -avxP -e 'ssh -p 23' /usr/local/hadoop/ hduser@HadoopSlave2:/usr/local/hadoop/<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">( -e 'ssh -p 23' 连接23号端口)</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">4. 将master上的hadoop_tmp删除,重新创建hadoop_tmp/hdfs/namenode,并为其分配用户持有者</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">5. 将slave上面的hadoop_tmp删除,重新创建</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">hadoop_tmp/hdfs/datanode,并为其分配用户持有者</span>

6. 同步之后在slave上需要做一些修改,首先你得保证master和两台slave的jdk环境是一致的,如果不同,slave中的hadoop-env.sh文件里的JAVA_HOME应该修改为与本机一致,另外在hdfs-site.xml中,由于slave是用作datanode的,所有应该将其内容修改为:

<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/usr/local/hadoop_tmp/hdfs/datanode</value>
</property>


7. 将master的ssh公钥传到两台slave上,实现免密码登录

ssh-copy-id -i $HOME/.ssh/id_rsa.pub HadoopSlave1
ssh-copy-id -i $HOME/.ssh/id_rsa.pub HadoopSlave2
8. 在master上hdfs namenode -format

9. 同样使用start-dfs.sh 和start-yarn.sh启动hadoop,然后在三台机器上分别jps,可以看到:

Picked up _JAVA_OPTIONS:   -Dawt.useSystemAAFontSettings=gasp
2675 SecondaryNameNode
2524 NameNode
2850 ResourceManager
3110 Jps
hduser@HadoopSlave1:~$ jps
2148 Jps
1800 DataNode
1932 NodeManager
hduser@HadoopSlave2:~$ jps
1377 NodeManager
1250 DataNode
1594 Jps
成功。

(注意:文件用户权限分配,ssh连接端口问题,ubuntu server 安装时探测光盘失败解决方法,亲测可用



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值