一:伪分布模式的搭建
1:下载hadoop的包放入linux下的某个目录,解压。
2:linux 安装jdk。
3:配置ssh信任关系
4:配置hadoop-env.sh文件,主要是将java_home 的路径export进去
5:配置core-site.xml,hdfs-site.xml, mapred-site.xml这三个文件
6:格式化namenode文件hadoop namenode -format
7::启动start-all.sh
配置ssh信任关系 :
ssh -keygen -t rsa 执行这个命令后然后进入用户的家目录 下面的.ssh目录
这时候会生成id_rsa 和id_rsa.pub 文件 前面一个是私钥后面一个是公钥,然后将公钥里面的值放入authorized_keys文件里面。然后ssh localhost第一次需要输入
yes 然后后面ssh可以免密码登陆
配置core-site.xml文件
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
配置hdfs-site.xml文件
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
因为是伪分布所以只有只有一个节点
配置mapred-site.xml文件
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
查看伪分布是否安装完成可以:
- NameNode - http://localhost:50070/
- JobTracker - http://localhost:50030/
二:完全分布式坏境搭 建
1:首先编辑/etc/hosts
2:每个节点都建立信任关系
3:每个节点都安装jdk
4:配置主节目点的3个配置文件和masters以及slaves文件
5:将主节点的Hadoop目录scp 到子节点上
6:在主节点格式化namenode文件hadoop namenode -format
7::启动start-all.sh
编辑/etc/hosts:
这个文件里面放置了ip地址对应的名称 比如192.168.1.108 djk1
则我ping djk1 就等于是ping 192.168.1.108
完全分布和伪分布的搭建差不多需要注意的地方是 完全分布的时候每个节点都要建立好信任关系 (上面已经介绍怎么建立),然后配置core-site.xml,hdfs-site.xml, mapred-site.xml这三个文件这3个配置文件里面的localhost一定要写成自己的ip地址不能写localhost
配置masters文件和slaves这文件里面写的是在/etc/hosts写的节点名称
查看完全分布是否安装完成可以:
-
- NameNode - http://ip:50070/
- JobTracker - http://ip:50030/
测试执行hadhoop是否成功
创建一个文件夹md input
echo "hello world" > test1.txt
echo "hello hadoop" > test2.txt
./bin/hadoop dfs -put input in
./bin/hadoop dfs -ls
./bin/hadoop jar hadoop-examples-1.0.1.jar wordcount in out
这个命令就是执行命令
结束后查看结果
./bin/hadoop dfs -cat out/*