(2013年1月5日)近日在网上找到两篇关于Ubuntu下Hadoop单机和集群安装的文章,英文的
可以用来参考一下:
1.
2.
总体来说,跟单机版的差不多,只是配置文件需要做些修改,以及各个服务器之间可以无密码ssh切换。现在简单描述一下:
1. 所有机器的安装目录要保持一致,比如都是在~/hadoop/目录下,将hadoop添加到环境变量当中去,修改.bashrc,在后面添加:
export HADOOP_HOME=/home/user/hadoop/hadoop
export PATH=${HADOOP_HOME}/bin:${PATH}
export HADOOP_CONF_DIR=$HADOOP_HOME/conf
CLASSPATH=.:$HADOOP_HOME/lib
2. 修改hadoop-env.sh
export Java_HOME=$JAVA_HOME
export HADOOP_CLASSPATH="$HADOOP_CLASSPATH"
export HADOOP_HEAPSIZE=2048
3. 设置masters内容
machine1 (/etc/hosts里面需要配置好的,具体查看这个文件)
4. 设置slaves内容
machine1
machine2
5. 设置core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/user/hadoop/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://machine1:9000</value>
</property>
</configuration>
6. 设置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
7. 设置mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>machine1:9001</value>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-server -Xmx1g -Djava.net.preferIPv4Stack=true</value>
</property>
</configuration>
注:mapred.child.java.opts是执行task的时候新建的子JVM虚拟机最大内存的指定,默认是640M
所以也可以不设置,只有当你运行任务内存不够的时候设置这个值。
将hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves文件分发到其它hadoop node, 依然是通过start-dfs.sh start-mapred.sh启动hadoop, 启动好之后,master机器上的进程还是跟单机版的一样有namenode, datanode, secondaryNameNode,jobtracker, tasktracker, slave机器上有两个进程,一个是datanode , 一个tasktracker进程。
更多Hadoop相关信息见Hadoop 专题页面 ?tid=13
相关阅读:
Hadoop 1.2.1 单节点安装(Single Node Setup)步骤
在CentOS上安装Hadoop
CentOS 6.3 x86_64安装与配置Hadoop-1.0