hadoop完全分布式的部署
1、先决条件
a) 至少三台虚拟机
b) 每台虚拟机关闭防火墙
c) 三台虚拟机的系统时间相差不能超过30秒
d) 每台虚拟机都需要安装好jdk1.7(jdk的安装目录最好一致),配置好jdk的环境变量(vim ~/.bash_profile添加)
e) 完成主机名和IP的映射
- vim /etc/hosts(*)
- 添加三行代码
192.168.45.129 zlj02
192.168.45.131 my02
192.168.45.133 my01
2、上传并解压hadoop-2.5.2(*),删除hadoop-2.5.2/share/doc目录(里面文件太多,以后拷贝不方便)
3、修改配置文件vim /root/hadoop-2.5.2/etc/hadoop/hadoop-env.sh里的JAVA_HOME的环境变量为本虚拟机的JAVA_HOME的路径
4、配置hadoop的环境变量:vim ~/.bash_profile(*)添加
export HADOOP_HOME=/root/hadoop-2.5.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
5、配置namenode:vim /root/hadoop-2.5.2/etc/hadoop/core-site.xml
<configuration>
<!-- 配置ndfs的namenode节点 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://zlj02:9000</value>
</property>
<property>
<!-- 指定元数据的位置 -->
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop</value>
</property>
</configuration>
6、配置secondarynamenote:
vim /root/hadoop-2.5.2/etc/hadoop/hdfs-site.xml
<!-- 指定ndfs的secondarynamenode主机名 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>my01:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>my01:50091</value>
</property>
7、指定datanode节点:vim /root/hadoop-2.5.2/etc/hadoop/slaves
(datanode的所有主机名)
zlj02
my02
my01
8、设置远程免密登录:
a) 生成密钥:ssh-keygen
b) 拷贝主节点的公钥到所有节点中去。ssh-copy-id -i id_rsa.pub root@my01
9、复制上面带(*)的所有文件到其他虚拟机上 scp -r dir root@hosts
10、在各个虚拟机上执行:source ~/.bash_profile,加载配置文件
11、在NameNode的机器下执行:hdfs namenode -format

浙公网安备 33010602011771号