在ubuntu部署分布式hadoop

安装一个Hadoop集群时,须要专门指定一个服务器做为主节点。node

三台虚拟机搭建的集群:(搭建集群时主机名不能同样,主机名在/etc/hostname修改)服务器

master机器:(集群的主节点,驻留NameNode和JobTracker守护进程less

IP:10.61.1.21        机器名:wangwei1ssh

slaves机器:(集群的从节点,驻留DataNode和TaskTracker守护进程oop

IP:10.61.1.22        机器名:wangwei2spa

IP:10.61.1.23        机器名:wangwei3code

这三台机器都安装好了hadoop-1.0.3,JDK和ssh。orm

这三台机器都要编辑/etc/hostsxml

增长:blog

10.61.1.21    wangwei1
10.61.1.22    wangwei2
10.61.1.23    wangwei3
SSH Access

master必须能以passless ssh访问slaves

wangwei@wangwei1:~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub wangwei@wangwei2
wangwei@wangwei1:~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub wangwei@wangwei3

执行以上的命令都须要输入对方的密码。

完成后,能够在master上分别运行:

wangwei@wangwei1:~$ ssh wangwei2
wangwei@wangwei1:~$ ssh wangwei3

看是否不须要输入密码,若是不须要则设置正确。

配置

只对于master机器(wangwei1):

更新conf/masters文件以下:

wangwei1

更新conf/slaves文件以下:

wangwei1

wangwei2

wangwei3

对于这三台机器

更新三个配置文件的相关属性

复制代码
<!-- In: conf/core-site.xml -->
<property>
<name>fs.default.name</name>
<value>hdfs://wangwei1:9000</value> ------定位文件系统的NameNode
</property>

<!-- In: conf/mapred-site.xml -->
<property>
<name>mapred.job.tracker</name>
<value>wangwei1:9001</value> --------定位JobTrecker所在主节点
</property>

<!-- In: conf/hdfs-site.xml -->
<property>
<name>dfs.replication</name>
<value>3</value> -----------增大HDFS备份参数
</property>
复制代码

 

第一次运行

首先须要Format namenode

(格式化以前最好在全部机器上清空hdfs/data,hdfs/name,以避免形成冲突)

在wangwei1上运行:

wangwei@wangwei1:~/hadoop$ bin/hadoop namenode -format
开启集群
开启 HDFS daemons

在wangwei1上运行:

wangwei@wangwei1:~/hadoop$ bin/start-dfs.sh

开启后,能够在master和slave上运行jps命令,查看开启的daemons

开启MapReduce daemons

在wangwei1上运行:

wangwei@wangwei1:~/hadoop$ bin/start-mapred.sh

能够在master和slave上运行jps命令,查看开启的daemons

运行MapReduce Job

在wangwei1机器上运行WordCount:

首先在dfs中建立input目录

wangwei@wangwei1:~/hadoop$ bin/hadoop dfs -mkdir input

将conf中的文件拷贝到dfs中的input:

wangwei@wangwei1:~/hadoop$ bin/hadoop dfs -copyFromLocal conf/* input
运行WordCount
 
 
wangwei@wangwei1:~/hadoop$ bin/hadoop jar hadoop-1.0.3-examples.jar wordcount input output
显示输出结果文件:
 
 
wangwei@wangwei1:~/hadoop$ bin/hadoop dfs -cat output/*
关闭集群
关闭MapReduce daemons

在master上运行:

 
 
wangwei@wangwei1:~/hadoop$ bin/stop-mapred.sh

关闭HDFS daemons

在master上运行:

 
 
wangwei@wangwei1:~/hadoop$ bin/stop-dfs.sh
相关文章
相关标签/搜索