本实例使用hadoop-1.2.1版本,ubuntu-12.04.4 64位,jdk1.8
hadoop下载地址
https://archive.apache.org/dist/hadoop/core/
一、配置集群主机域名地址
/etc/hosts文件加入主要信息,集群中所有机器都要修改。
ip address1 master ip address2 slave1 ........(其他slave 主机地址)
二、配置JDK和hadoop安装信息
/etc/profile加入JDK,HADOOP_PATH信息,,集群中所有机器都要修改。
#JDK Java8 export JAVA_HOME=/home/hadoop/jdk export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin #Hadoop export HADOOP_HOME_PATH=/home/hadoop/hadoop-1.0.1/bin export PATH=$PATH:$HADOOP_HOME_PATH
三、修改集群中所有机器名字
修改/etc/hostname
master节点
master
slaveN节点
slaveN
或者
sudo hostname master //set this machine name master
重启生效。
四、所有主机新建相同用户,如hadoop
sudo useradd hadoop sudo usermod -s /bin/bash hadoop sudo passswd hadoop su hadoop //change to hadoop user
五、利用ssh实现无密码登陆到slave主机
在master节点下生成ssh key
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
把authorized_keys文件远程复制到slave主机
scp ~/.ssh/authorized_keys slaveN:~/.ssh
(如果有提示是否连接,输入yes;)
输入slaveN主机上hadoop帐号的登陆密码。
测试
ssh slaveN
如能无密码登陆,说明成功。以上操作应在相同用户下进行,如hadoop
六、配置hadoop
进入 hadoop-1.2.1/conf/目录,修改以下文件
1、hadoop-env.sh
找到JAVA_HOME一行,去掉前面的#注释,写入java jdk路径,如
export JAVA_HOME=/home/administrator/jdk
core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hadoop-1.2.1/tmp</value> </property> </configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>master:9001</value> </property> </configuration>
masters
master
slaves
master slave1 slave2 ....
七、启动hadoop集群
hadoop namenode -format//格式化集群 start-all.sh//启动集群 stop-all.sh//停止集群
如果发生错误,需要重新格式化namenode,
请务必删除所有主机中hadoop.tmp.dir(core-site.xml)文件夹里内所有的文件,
否则容易引起不一致的错误。