(2013年1月5日)近日在网上找到两篇关于Ubuntu下Hadoop单机和集群安装的文章,英文的
可以用来参考一下:
1. http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/
2. http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/
总体来说,跟单机版的差不多,只是配置文件需要做些修改,以及各个服务器之间可以无密码
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进程。