单机配置:http://blog.csdn.net/zengmingen/article/details/50896094
步骤:
1、每个节点设置时间一致,设置开机自动校验时间。
2、每个节点修改主机名。
3、每个节点配置hosts。
4、每个节点关闭防火墙。
5、开启ssh免密登录。
6、主节点上传JDK,HADOOP安装包。
7、主节点解压JDK,HADOOP 安装包。
8、主节点环境变量配置JDK。
9、主节点环境变量配置Hadoop。
10、主节点配置Hadoop配置文件。
11、删除JDK,hadoop安装目录下无用的帮助文档。
12、scp JDK,hadoop的安装目录到其他节点。
13、scp 主节点环境变量到其他节点。
14、source 各个节点的环境变量。
15、主节点格式化 NameNode
16、启动hdfs。
17、浏览器登录验证。
------------------------------------------------
环境:
1、5台centos6.x 64位机子
2、jdk1.8 64位
3、hadoop 2.x 64位
设置时间
每台机子的时间必须一样,如果相差大会出问题。
设置方法见博文:每台机子都要设置
http://blog.csdn.net/zengmingen/article/details/52913486
http://blog.csdn.net/zengmingen/article/details/53005092
修改主机名
在每台机器都要改
vi /etc/sysconfig/network
hostnamenode1让修改生效,无需重启。
---PS----
修改了/etc/sysconfig/network必须重启才生效。
hostnamenode1是只对当前状态有效,一旦重新启动虚拟机,主机名未变。
我的5台centos的主机名分别是node1,node2,node3,node4,node5
配置hosts
每台机器都要配置,先配置一台,其他节点复制黏贴。
命令:vi /etc/hosts
----------------
我的hosts配置如下:
192.168.255.135 node1
192.168.255.136 node2
192.168.255.138 node3
192.168.255.139 node4
192.168.255.140 node5
关闭防火墙
因为是公司内部的机子,都是内部通信,所以每台机子的防火墙关闭。
命令:service iptables stop
命令:chkconfig iptables off
ssh免密登录
方法原理见博文:http://blog.csdn.net/zengmingen/article/details/50909247
主节点上传JDK,HADOOP安装包
上传到主节点。我的主节点是node1.
可通过flashfxp等软件上传,具体操作略。
主节点解压JDK,HADOOP安装包
命令:tar -zxvf hadoop的压缩包 -C /application
tar -zxvf JDK的压缩包 -C /application
我把软件安装到根目录的application文件夹下
主节点环境变量配置JDK和Hadoop
命令:vi /etc/profile
安装目录不同,配置内容不同,我的配置如下:
export JAVA_HOME=/application/jdk1.8.0_73
export HADOOP_HOME=/application/hadoop-2.7.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin/:$HADOOP_HOME/sbin
主节点配置Hadoop配置文件
本文只启动hdfs所以只需要配置:
1、hadoop-env.sh
2、core-site.xml
3、hdfs-site.xml
4、slaves
5、masters
1、hadoop-env.sh
配置JAVA_HOME的路径。配置绝对路径。
大概在26~27行。
2、core-site.xml
1、配置 fs(即NameNode)的访问路径。
2、配置NameNode磁盘文件metadata的存放路径。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.5(根据自己的路径填写)</value>
</property>
</configuration>
3、hdfs-site.xml
配置SecondaryNameNode的访问路径,分http和https两种。
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2(配置自己用于snn的机子):50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>node2:50091</value>
</property>
</configuration>
4、slaves
配置DataNode节点的机子
命令:vi slaves
node3
node4
node5
----------start-all.sh要启动集群时要读取集群的机子列表,所以需要一个配置文件,与hadoop没有任何关系。
5、masters
在masters文件里所列出的所有结点上启动secondary namenode。
配置secondary namenode节点的机子
命令:vi masters
node2
删除JDK,hadoop安装目录下无用的帮助文档
步骤略。
scp JDK,hadoop的安装目录到其他节点
命令:
scp -rp /application node2:/
scp -rp /application node3:/
scp -rp /application node4:/
scp -rp /application node5:/
scp命令使用:http://blog.csdn.net/zengmingen/article/details/52274846?locationNum=1&fps=1#t1
scp 主节点环境变量到其他节点
命令:
scp /etc/profile node2:/etc/
scp /etc/profile node3:/etc/
scp /etc/profile node4:/etc/
scp /etc/profile node5:/etc/
source 各个节点的环境变量
每个节点都执行:source /etc/profile
profile 文件的详见:http://blog.csdn.net/zengmingen/article/details/53004709?locationNum=1&fps=1
主节点格式化 NameNode
主节点执行命令:hdfs namenode -format
执行成功会提示:successfully formatted
启动hdfs
主节点输入命令:start-dfs.sh
浏览器登录验证
浏览器输入:主节点地址:50070