HADOOP的学习笔记 (第一期)
hadoop分布式包括mapreduce以及hdfs文件系统,适合处理大文件,不是和处理多个小文件。
其中分为NameNode 与DataNode,可以有多个DataNode,一个NameNode新版本以后会有两个NameNode防止NameNode down掉。
JobTracker 接受作业提交,监控和控制作业的运行,负责任务分发到TaskTracker 。
TaskTracker控制Map/Reduce任务中当前节点的运行\
nn jobtracker master
dn jobtracker slave
开始慢慢学习hadoop,就当是自己学习的笔记吧。以后也方便看。
首先需要准备一个环境,我准备的环境是linux,这样既可以学习linux又可以学习hadoop。我的linux用的是centos,大家可以根据自己的个人喜好。
环境上需要安装,jdk、以及ssh,因为hadoop使用到jdk的,所以需要进行提前安装。都准备完毕以后可以进入正轨了。
1.设置ssh免密码登陆,我的情况是单机情况,多机情况差不多。
cd /root/.ssh
ssh-keygen -t dsa 回车中途有可能需要输入yes,完成以后再.ssh目录中多处了几个文件:id_dsa、id_dsa.pub
然后将id_dsa.pub文件 cp到/tmp目录下:cp /root/.ssh/id_dsa.pub /tmp
如果是多台机器则同时需要copy其他的机器之上:cp /root/.ssh/id_dsa.pub 192.168.1.54:/tmp
最后执行:cat /tmp/id_dsa.pub >> /root/.ssh/authorized_keys >>追加
完成以后进行测试 ssh localhost看是否还需要密码,如果不需要密码,ok
2.配置jdk,修改hadoop配置文件,指定jdk的安装路径:
首先查看java的环境变量配置:env | grep JAVA 然后copy
进入到hadoop目录。我用的hadoop版本是0.20 cd hadoop-0.20.2/conf/
vi hadoop-env.sh
export JAVA_HOME=/home/app/jdk1.6.0_30
下面是配置hadoop的单机环境:
3.f修改hadoop核心的配置文件core-site.xml配置hdfs的地址和端口号:
vi conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
4.修改hadoop中hdf配置,修改replication,控制复制数量,我的理解的意思是互相备份
vi conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
5.修改hadoop中mapreduce的配置文件,配置的是jobtrack的地址和端口
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
6.配置完成以后格式化文件系统:
bin/hadoop namenode - format
7.启动hadoop
bin/start-all.sh
8.jps查看情况 或者使用 bin/hadoop dfs -ls /
9.同样也可以startx 进入图形化界面,用浏览器查看hdfs与jobtracker的情况。
可以查看hdfs中的文件情况,点击第一幅图中的browse the filesystem,也就是50070中的。
我们可以新建一个文件夹以及放入一些文件来做一会的测试:
通过
bin/hadoop fs -mkdir /input 创建一个input目录。
bin/hadoop fs -put *.sh /input 在hadoop中的bin目录中执行,将此目录中的所有.sh文件放到文件系统的/input文件夹下
然后我们用hadoop自带的一个例子进行测试:wordcount
bin/hadoop jar hadoop-0.20.2-examples.jar wordcount /input /output
执行完成以后我们同样可以去50070去看,这时会多了一个output目录里面就是放的统计结果。
同样可以去50030看看job的执行情况,执行当中会有一个run jobs,执行完成就会出现一个complated jobs 可以看分析情况。
至此,hadoop的入门单机环境算是搞了。一遍后即继续学习。
补充:综合编程 , 其他综合 ,