首先准备好4台虚拟机,然后选择一台作为NameNode其余三台作为DateNode
- 在NameNode虚拟机上上传JDK和Hadoop
- 配置环境变量
jdk和hadoop都要配置进去
- 配置环境变量
[root@node1 ~]# vi/etc/profile
// 让环境变量生效
[root@node1 ~]# source /etc/profile
// 进入到hadoop
[root@node1 ~]# cd /opt/software/hadoop-2.6.5/etc/hadoop/
// 修改core-site.xml的配置
[root@node1 ~]# vi core-site.xml
// 修改hdfs的配置
[root@node1 ~]# vi hdfs-site.xml
1、设备间传输文件
必须在 etc/hosts中配置所有设备对应的IP主机名
[root@node01 ~]# vi /etc/hosts
scp -r 要发送的文件 root@接收的主机名:接收的地址
例:将node01上的hadoop发送到node2的software下
scp -r hadoop root@node2:/opt/software
2、配置hadoop里slaves节点
[root@node01 ~]# vi /opt/software/hadoop-2.6.5/etc/hadoop/slaves
配置的是从结点DN的信息,将DN的名称全部放到这里
更改 hadoop-2.6.5/etc/hadoop/slaves 这个文件
这个文件只有一行,localhost 改成所有DN节点名即可
3、core-site.xml
进入/opt/software/hadoop-2.6.5/etc/hadoop
编辑 core-site.xml 这个文件
这个文件配置的是主节点(NameNode)的信息
fs.defaultFS:配置NN的URL地址,还有主机和端口
hadoop.tmp.dir:配置所有临时目录的父目录,会被其他临时目录用的
4、把*-env.sh的文件内部所有的java路径改为绝对路径
筛选出全部的env.sh结尾的文件
参考:绝对路径
5、配置Hadoop环境变量
export HADOOP_HOME=/opt/software/hadoop-2.6.5
export PATH=PATH: PATH:PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
6、配置成功后需要将这一个配置好的Hadoop发送到其他三台设备上
scp -r hadoop-2.6.5 root@node2:/opt/software
scp -r hadoop-2.6.5 root@node3:/opt/software
scp -r hadoop-2.6.5 root@node4:/opt/software
7、格式化一下,让配置文件生效
hdfs namenode -format
只能在主节点上进行,且最好进行一次,如果在执行第二次要把/var/abc/删除才能再次格式化
8、启动集群
—start-dfs.sh —
多节点之间免密配置
(1)配置免密登录 node01->node01
在每一个节点上运行ssh-keygen -t rsa 产生他们自己的密钥
在node01执行
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node3
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node4