1.配置ssh面密码登录
# ssh-keygen -t rsa # mv id_rsa.pub authorized_keys
详见《linux-ssh免密码登录设置》
2.主机名修改
将HOSTNAME后面的值改为想要设置的主机名
[root@wap hadoop]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=wap
设置主机名与IP地址映射
[root@wap hadoop]# cat /etc/hosts 127.0.0.1 wap ::1 wap
详见《linux-主机名修改》
3.下载并解压hadoop安装包
[root@wap local]# tar -zxvf hadoop-2.5.2.tar.gz
4.配置环境变量
export JAVA_HOME=/usr/local/jdk1.6 export HADOOP_HOME=/usr/hadoop export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
详见《java-jdk环境变量设置》
5.修改hadoop配置文件
配置hadoop-env.sh
# The java implementation to use. export JAVA_HOME=/usr/local/jdk1.7.0_79
配置core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/dfs/tmp</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://wap:9001</value> </property> </configuration>
fs.defaultFS:这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表
hadoop.tmp.dir:这里的路径默认是NameNode、DataNode等存放数据的公共目录。用户也可以自己单独指定这三类节点的目录。其默认位置在/tmp/{user}下。若此处不设置该属性,某些linux重启后,由于tmp目录会被清空,会发生文件无法找到的错误发生。
(注意设置的端口不要与已有端口冲突,否则namenode将无法启动)
配置hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/dfs/data</value> </property> </configuration>
配置mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
配置yarn-site.xml
使用默认配置
配置slave
wap
(若不配置此项,datanode将不会被启动)
6.格式化namenode
[root@wap hadoop]#hdfs namenode -format
7.启动hadoop
[root@wap hadoop]#start-all.sh
8.查看启动结果
[root@wap hadoop]# jps 16859 SecondaryNameNode 17112 NodeManager 17011 ResourceManager 18267 Jps 16577 NameNode 16698 DataNode
9.报错解决
若某个进程没有启动,使用 hadoop [节点名] 查看原因
[root@wap hadoop]# hadoop namenode
注意:需要重新格式化namenode时,先将之前的name文件夹删除