环境:ubuntu12.04 server, jdk1.7 , VM虚拟机
版本:hadoop1.2.1
hadoop 完全分布式安装,目前是2台机子,分别为:
192.168.41.110 (作为 hadoop 的namenode节点)
192.168.40.126 (作为 hadoop 的datanode节点)
一、给每一台机安装jdk
方法:http://jingyan.baidu.com/article/27fa7326fb6b9d46f8271fae.html
二、配置文件
配置文件时,建议使用SSH Secure Shell Client,在windows中修改完之后,再发送到目的机器中,这样大大减少了配置的时间(ubuntu上必须安装SSH,否则后面的操作也无法进行)。
SSH Secure Shell Client下载地址:http://pan.baidu.com/share/link?shareid=1070427656&uk=453365188
配置 192.168.41.110 namenode节点
1.修改hadoop/conf/core-site.xml文件,修改结果如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.41.110:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value> /usr/local/hadoop/hadoopdata/fs.data(要自己创建)</value>
</property>
</configuration>
2 修改hadoop/conf/hadoop-env.sh配置文件,在该文件的头部添加相关的环境变量。
export JAVA_HOME=/usr/local/java
export HADOOP_HOME_WARN_SUPPRESS=TRUE
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/conf
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_USER_CLASSPATH_FIRST=true
export HADOOP_PID_DIR=/var/hadoop/pids
3 修改hadoop/conf/ hdfs-site.xml 配置文件,修改结果如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1(datanode节点个数)</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/hadoopdata/dfs.data(要自己创建)</value>
</property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/hadoopdata/dfs.data(要自己创建)</value>
</property>
<property>
<name>dfs.block.size</name>
<value>5242880</value>
<description>The default block size for new files.</description>
</property>
</configuration>
4 修改hadoop/conf/mapred-site.xml,该文件主要是配置JobTracker的地址以及MR的相关参数。修改结果如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.40.10:9001</value>
</property>
<property>
<name>mapred.task.timeout</name>
<value>100000000</value>
</property>
</configuration>
5 修改hadoop/conf/masters配置文件,该文件是写hadoop集群namenode的所在的节点。内容为:
192.168.40.10(或主机名)
6修改hadoop/conf/slaves配置文件,该文件是写hadoop集群所有datanode的所在的节点。内容为:
192.168.40.126(或主机名)
如果使用SSH Secure Shell Client,到这步就可以把hadoop文件发送到192.168.40.10上
三、免密码SSH设置
Hadoop运行过程中需要使用ssh管理远端Hadoop守护进程,需要不用输入密码就可以访问,所以这里设置用密钥验证。
1)生成密钥,执行如下命令:
[root@localhost ~]# ssh-keygen -t rsa
提示输入Enter passphrase (empty for no passphrase): 和 Enter same passphrase again:时,无需输入任何东西,直接按回车键即可。
2)进入到/root/.ssh目录,执行如下命令[root@localhost .ssh]# cp id_rsa.pub authorized_keys
3)接着执行:[root@localhost .ssh]# ssh localhost
四、给hadoop文件夹设置权限chmod 755 -R hadoop五、向各节点复制hadoopscp -r /usr/local/hadoop 192.168.40.126:/usr/local
六、开始格式化hadoop hdfs文件系统。到hadoop目录下,执行命令如下:./bin/hadoop namenode -format
七 、格式化成功后,可以开始启动hadoop集群了。到hadoop目录下,执行命令如下:
./bin/start-all.sh