hdfs完全分布式搭建
环境准备
将压缩包上传到linux中解压,千万不要先在windows中解压!集群所有机器都需要
最好选择:hadoop-2.5.1
1、 jdk,java_home
查看JAVA_HOME路径: echo $JAVA_HOME
配置环境变量: vi /etc/profile
2、 主机名和ip地址映射 vi /etc/hosts
3、关闭所有机器的防火墙 serviceiptables stop
4、检查所有主机date是否一致
ntpdate-u ntp.sjtu.edu.cn
5、设置免密码ssh登陆:start-dfs.sh执行脚本时使用。
node1——>node2免密码
node1——>node1免密码
node1——>node3免密码
所有主机中:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
node1中:
scp ~/.ssh/id_dsa.pub root@node2:/opt
scp ~/.ssh/id_dsa.pub root@node3:/opt
node2中:
$ cat /opt/id_dsa.pub >>~/.ssh/authorized_keys
node3中:
$ cat /opt/id_dsa.pub >>~/.ssh/authorized_keys
配置
1、 hadoop-env.sh
vi etc/hadoop/hadoop-env.sh
# The java implementation to use. export JAVA_HOME=/usr/java/jdk1.7.0_79 #注意是修改,不是新增 /JAVA_HOME搜索找到 |
2、 core-site.xml
位置:vi etc/hadoop/hadoop-env.sh
/home/data需要收到创建文件夹,存放fsimge
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://node1:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/data</value> </property> </configuration> |
3、 hdfs-site.xml
位置:vi etc/hadoop/hadoop-hdfs-site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>node2:50090</value> </property> <property> <name>dfs.namenode.secondary.https-address</name> <value>node2:50091</value> </property> </configuration> |
4、 masters
位置:vi etc/hadoop/masters
node2 #配置的是SNN |
5、slaves
位置:vi etc/hadoop/slaves 里面配置的是DN
node2 node1 node3 |
拷贝所有的配置文件到所有的hadoop机器上
node1中:
scp etc/hadoop/* root@node2: /usr/hadoop-2.5.2/etc/hadoop/
scp etc/hadoop/* root@node3: /usr/hadoop-2.5.2/etc/hadoop/
写入系统配置:
位置:vi /etc/profile
export HADOOP_HOME=/usr/hadoop-2.5.2 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH |
重新加载配置文件:source /etc/profile
格式化namnode
bin/hdfs namenode -format
(初始化元数据文件fsimage)
启动
在node1上执行启动的脚本
sbin/start-dfs.sh
测试:
访问NN
访问SNN
自定义库: