1. 安装jdk
2. 配置hosts 与hostname- sudo vi /etc/hosts (配置namenode和datanode)
- 192.168.1.80 ns (主机名,尤其是namenode)
- 192.168.1.81 ds1
- ......
- 192.168.1.85 dsn
- 所有节点均按以上配置
- 修改各结点上的主机名:hostname ns(临时生效,可通过修改/etc/hostname)
- 其它结点也和上面hosts中的主机名配置保持一致
3. 安装配置ssh
- ssh-keygen –t rsa
- 将ns上的公钥拷贝到各个ds:
- scp ~/.ssh/id_rsa.pub hadoop@target:~/master_key
- 在除ns外的节点上:
- mkdir ~/.ssh
- chmod 700 ~/.ssh
- cat ~/master_key >> ~/.ssh/authorized_keys
- chmod 600 ~/.ssh/authorized_keys
- 尝试从ns用ssh连接其它节点,如果不需要输入密码则配置成功
4. 安装hadoop (所有节点操作和配置均相同)
- (masters 和 slaves 这两个配置文件可以只在ns上编辑配置)
- vi ~/hadoop-1.0.3/conf/masters 配置 namenode 的 IP
- vi ~/hadoop-1.0.3/conf/slaves 配置 datanode 的 IP
- 配置hadoop-env.sh、hdfs-site.xml和core-site.xml
- 根据这些配置文件的格式,配置自己需要的
- (所有节点操作和配置均相同)
5. hadoop的架构
- hadoop使用主/从(M/S)架构,主要由NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成。
- 其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上。
- Namenode:NameNode是HDFS的守护程序,负责记录文件是如何分割成数据块的,以及这些数据块被存储到哪些数据节点上。它的功能是对内存及I/O进行集中管理。
- Datanode:集群中每个从服务器都运行一个DataNode后台程序,后台程序负责把HDFS数据块读写到本地文件系统。需要读写数据时,由NameNode告诉客户端去哪个DataNode进行具体的读写操作。
- Secondary Namenode:是一个用来监控HDFS状态的辅助后台程序,如果NameNode发生问题,可以使用Secondary NameNode作为备用的NameNode。
- JobTracker:
后台程序用来连接应用程序与Hadoop,用户应用提交到集群后,由JobTracker决定哪个文件处理哪个task执行,一旦某个task失败,JobTracker会自动开启这个task。
- TaskTracker负责存储数据的DataNode相结合,位于从节点,负责各自的task。
6. 启动Hadoop
- 执行 ./hadoop namenode -format
- 执行start-all.sh
- 打开浏览器,输入http://localhost:50030
- hadoop 的操作命令 ./bin/hadoop --help 就能看到
配置文件中需要的目录不建议手动去创建,
在格式化活启动时会自动检查自己创建,若手动创建的目录权限不对,会影响整个hadoop的启动
参考的资料:
http://baike.baidu.com/view/3061630.htm?fr=aladdin
http://coolriver.diandian.com/post/2012-07-27/40031917001
http://blog.youkuaiyun.com/wangloveall/article/details/20837019
http://www.datastax.com/what-we-offer/products-services/datastax-enterprise
http://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html#PreReqs
http://www.cnblogs.com/skyme/archive/2011/10/26/2223984.html