Hadoop
本文环境:
OS:CentOS 6.6
JDK:1.7.0_79
Hadoop:1.0.4
User:xavier
SSH:已经配好单机SSH免密码登录
[备注]
打开防火墙的特定端口:
编辑/etc/sysconfig/iptables:
1 #Xavier Setting for Hadoop 2 -A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT 3 -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT 4 -A INPUT -m state --state NEW -m tcp -p tcp --dport 50010 -j ACCEPT 5 -A INPUT -m state --state NEW -m tcp -p tcp --dport 50020 -j ACCEPT 6 -A INPUT -m state --state NEW -m tcp -p tcp --dport 50030 -j ACCEPT 7 -A INPUT -m state --state NEW -m tcp -p tcp --dport 50060 -j ACCEPT 8 -A INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT 9 -A INPUT -m state --state NEW -m tcp -p tcp --dport 50075 -j ACCEPT 10 -A INPUT -m state --state NEW -m tcp -p tcp --dport 50090 -j ACCEPT 11 -A INPUT -m state --state NEW -m tcp -p tcp --dport 50470 -j ACCEPT 12 -A INPUT -m state --state NEW -m tcp -p tcp --dport 50475 -j ACCEPT 13 #Xavier Setting End
service iptables restart
[/备注]
一、伪分布式Hadoop配置
[备注]
Hadoop目录下建立:tmp目录
[/备注]
1.设置Hadoop环境变量:
1 #Set Hadoop Environment 2 #export HADOOP_HOME="/home/xavier/Hadoop" 3 #export PATH="$HADOOP_HOME/bin:$PATH"
2.编辑conf/hadoop-env.sh :
1 export JAVA_HOME="/usr/java/jdk1.7.0_79"
3.编辑conf/core-site.xml:
1 <configuration> 2 <property> 3 <name>fs.default.name</name> 4 <value>hdfs://master:9000</value> 5 </property> 6 <property> 7 <name>hadoop.tmp.dir</name> 8 <value>/home/xavier/Hadoop/tmp</value> 9 </property> 10 </configuration>
4.编辑conf/hdfs-site.xml:
1 <configuration> 2 <property> 3 <name>dfs.replication</name> 4 <value>1</value> 5 </property> 6 </configuration>
5.编辑conf/mapred-site.xml:
1 <configuration> 2 <property> 3 <name>mapred.job.tracker</name> 4 <value>localhost:9001</value> 5 </property> 6 </configuration>
6.格式化namenode:
./hdfs namenode -format
7.启动:
./start-all.sh
8.浏览器访问:(稍等片刻,等电脑运行)
http://localhost:50030/
http://localhost:50070/
如果都能访问成功,看到Hadoop,应该就成功了!
二、完全分布式Hadoop配置
[备注]
Hadoop位于:/home/xavier/下
Hadoop目录下建立:tmp目录
Hadoop机器:两台机器:CentOS 6.6 完全相同的环境(相同用户,相同密码,相同Hadoop,相同目录)
其中:
笔记本ip:10.199.155.86 主机名: master
台式机ip:10.199.154.135 主机名:slave
[/备注]
1.设置Hadoop环境变量:
1 #Set Hadoop Environment 2 #export HADOOP_HOME="/home/xavier/Hadoop" 3 #export PATH="$HADOOP_HOME/bin:$PATH"
2.编辑conf/hadoop-env.sh :
1 export JAVA_HOME="/usr/java/jdk1.7.0_79"
3.编辑conf/core-site.xml:
1 <configuration> 2 <property> 3 <name>fs.default.name</name> 4 <value>hdfs://master:9000</value> 5 </property> 6 <property> 7 <name>hadoop.tmp.dir</name> 8 <value>/home/xavier/Hadoop/tmp</value> 9 </property> 10 </configuration>
4.编辑conf/hdfs-site.xml:
1 <configuration>
2 <property>
3 <name>dfs.replication</name>
4 <value>1</value>
5 </property>
6 </configuration>
5.编辑conf/mapred-site.xml:
1 <configuration>
2 <property>
3 <name>mapred.job.tracker</name>
4 <value>master:9001</value>
5 </property>
6 </configuration>
6.将masters内容改为:
1 master
7.将slave内容改为:
1 slave
8.编辑/etc/hosts:
1 10.199.155.86 master
2 10.199.154.135 slave
9.将mater中单机SSH的authorized_keys拷贝到slave中:
1 scp ~/.ssh/authorized_keys slave:/home/xavier/.ssh/authorized_keys
10.在master和slave中分别使用jps查看是否只有jps进程
11.格式化namenode:
./hdfs namenode -format
12.启动:
./start-all.sh
13.在master中使用jps查看,应该显示为:(进程号可以不同,但是名称要对)
1 3949 SecondaryNameNode 2 4043 JobTracker 3 5359 Jps 4 3786 NameNode
14.在slave中使用jps查看,应该显示为:(进程号可以不同,但是名称要对)
1 3949 DataNode 2 4043 TaskTracker 3 5359 Jps
15.浏览器访问:(稍等片刻,等电脑运行)
http://master:50030/
http://master:50070/
如果都能访问成功,看到Hadoop,应该就成功了!