本文主要以个人工作学习总结为主,同时也为了方便更多的兴趣爱好者参与学习交流,现将具体的搭建步骤分享如下:

一.基础环境

1.1 jdk的安装与配置

   Hadoop是用Java开发的,Hadoop的编译及MapReduce的运行都需要使用JDK。

  ①上传jdk压缩包:这里使用的是WinScp工具 上传jdk-7u76-linux-x64.tar.gz压缩包,默认选择 /home/mysoft下

②解压包: tar -zxvf jdk-7u76-linux-x64.tar.gz

  ③更名: (为方便后续操作将文件名剪短) mv jdk-7u76-linux-x64.tar jdk-7u76

  ④配置环境变量:  

vim ~/.bash_profile

 export JAVA_HOME=/home/mysoft/jdk1.7.0_75
  export PATH=$PATH:$JAVA_HOME/bin

  ⑤重新加载/etc/profile,使配置生效:source ~/.bash_profile

⑥验证:java -version

[root@node01 /]# java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

1.2 免秘钥配置:

ssh-keygen -t rsa   (3次)
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 其它节点:
scp id_dsa.pub node02:/tmp/ (暂时在tmp目录下生成公钥,不要放在root,会自动覆盖root目录下的ssh中的公钥)
cat /tmp /id_dsa.pub >> ~/.ssh/authorized_keys 其它同理操作:
2: 1---3之间:免秘钥
3: 1---3之间:免密钥

1.3 时间同步操作:

yum install -ntp 安装时间服务器,并自动校验时间:
ntpdate -u sla.time.edu.cn

二. Host配置

由于本机搭建Hadoop集群包含三台机器,所以需要修改调整各台机器的hosts文件配置,进入/etc/hosts,配置主机名和ip的映射,命令如下:
vim /etc/hosts
如果没有足够的权限,可以切换用户为root。
三台机器的内容统一增加以下host配置:
可以通过hostname来修改服务器名称为node01、node02、node03
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.23.10 node01
192.168.23.11 node02
192.168.23.12 node03 ~

三 .hadoop安装配置

1、下载解压缩 Hadoop:  hadoop-2.6.5
2、配置 etc/hadoop/hadoop-env.sh

export HADOOP_PREFIX=/usr/local/hadoop //可不配

source ~/.bash_profile

3.系统配置:

cd /home/mysoft/hadoop-2.6.5/etc/hadoop     (Hadoop安装目录依个人实际安装情况)

依次修改core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml以及slaves文件。

①core-site.xml:

fs.defaultFS 默认的服务端口 NameNode URI
hadoop.tmp.dir 是 hadoop 文件系统依赖的基础配置,很多路径都依赖它。如果 hdfs-site.xml
中不配 置 namenode 和 datanode 的存放位置,默认就放在这个路径中

<configuration>

<property>

  <name>fs.defaultFS</name>

  <value>hdfs://node01:9000</value>

</property>

<property>

  <name>hadoop.tmp.dir</name>

  <value>/opt/hadoop-2.6.5</value>

</property>

</configuration>

②hdfs-site.xml:

<configuration>
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>node02:50090</value>
</property>
<property>
  <name>dfs.namenode.secondary.https-address</name>
  <value>node02:50091</value>
</property>
</configuration>

③配置hadoop中的slaves

vim slaves
node01
node02
node03
~

④ Masters: master 可以做主备的 SNN:home/hadoop-2.6.5/etc/hadoop/新建 masters 文件 写上 N SNN 节点:node02

⑤最后将配置好的 Hadoop 通过 SCP 命令发送都其他节点配置 Hadoop 的环境变量:

scp  -r hadoop-2.6.5  node02:/home/mysoft/                 scp  -r hadoop-2.6.5  node03:/home/mysoft/

scp -r  ~/.bash_profile  node02:/root

⑥配置各节点的环境变量:

export HADOOP_HOME/home/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source ~/.bash_profile

四. 运行hadoop:

1.回到跟目录下对 NN 进行格式化:  hdfs namenode -format

2.启动 HDFS:   start-dfs.sh

3.验证登录:首先关闭防火墙:service   iptables   stop  ,在浏览器输入:node01:50070

五. 故障总结:

1.如果界面未打开:可以查看下linux中的jps进程:jps

2.记得格式化nn: hdfs namenode -format, 并关闭防火墙

3.如果namenode  或者DataNode  未启动,可以尝试手动启动:

①hadoop-2.7.1/sbin/hadoop-daemon.sh start namenode      ②hadoop-2.7.1/sbin/hadoop-daemons.sh start datanode

再次查看下jps进程,浏览器验证.

4.查询logs日志,查看报错原因 :  cd/home/mysoft/hadoop-2.6.5/logs (根据个人配置的hadoop实际位置查找log),hadoop 1.x

配置操作相对2.x较少,通常出错原因在于系统文件配置出问题,需要逐一比对配置文档.

05-27 14:18