一搭建环境列表

操作系统:centos6.5 64位

JDK环境:jdk1.7.0_71

hadoop版本:社区版本2.7.2,hadoop-2.7.2-src.tar.gz

主机名

ip

角色

用户

master1

192.168.204.202

Namenode;secondary namenode;resourcemanager

hadoop

slave1

192.168.204.203

Datanode; nodemanager

hadoop

slave2

192.168.204.204

Datanode; nodemanager

hadoop

二操作系统环境准备

1设置主机名:hostname

vi  /etc/sysconfig/network

2设置防火墙

chkconfig iptables off

service iptables off

3关闭Selinux

vi /etc/sysconfig/selinux

SELINUX=disabled

[root@cloud001 Desktop]# hostname

[root@cloud001 Desktop]# ifconfig

[root@cloud001 Desktop]# service iptables status

[root@cloud001 Desktop]# sestatus

4安装jdk

配置环境变量

[root@master1 hadoopsolf]vim /etc/profile

JAVA_HOME=/usr/java/jdk1.7.0_71(根据实际情况修改)

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

[root@ master1 hadoopsolf]source /etc/profile

三hadoop2.X软件编译环境准备

1下载http://apache.claz.org/hadoop/common/最新版

2准备编译环境

tar -zxvf hadoop-2.7.2-src.tar.gz得到hadoop-2.7.2-src文件夹。

进入hadoop-2.7.2-src文件夹,查看BUILDING.txt

cd  hadoop-2.7.2-src

vim  BUILDING.txt

可以看到编译所需的库或者工具。

3jdk

安装jdk;然后打开/etc/profile配置jdk环境变量

export  JAVA_HOME=/usr/java/jdk1.7.0_71

export  CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar

export  JRE_HOME=/usr/java/jdk1.7.0_71

export  PATH=$PATH:$JRE_HOME/bin

source  /etc/profile

运行javac -version 查看状态

4安装各种库

yum -y install svn ncurses-devel gcc*

yum -y install lzo-devel zlib-develautoconf automake libtool cmake openssl-devel

5安装protobuf-2.5.0.tar.gz

tar zxvf protobuf-2.5.0.tar.gz进入protobuf-2.5.0依次执行

cd  protobuf-2.5.0

./configure

make

make install

查版本[root@master1 protobuf-2.5.0]# protoc  -version

6安装maven

下载http://maven.apache.org/download.cgi

tar -zxvf apache-maven-3.3.9-bin.tar.gz  -C  /hadoopsolf

然后打开/etc/profile配置环境变量

export MAVEN_HOME=/hadoopsolf/apache-maven-3.3.9

export MAVEN_OPTS="-Xms256m-Xmx512m"

export PATH=$PATH:$MAVEN_HOME/bin

source /etc/profile

查版本:[root@master1 protobuf-2.5.0]# mvn -version

7安装ant

下载:http://ant.apache.org/bindownload.cgi

tar -zxvf  apache-ant-1.9.6-bin.tar.gz  -C /hadoopsolf

然后打开/etc/profile配置环境变量

export ANT_HOME=/hadoopsolf/apache-ant-1.9.6

export PATH=$ANT_HOME/bin:$PATH

source /etc/profile

验证:[root@master1 protobuf-2.5.0]# ant -version

8安装findbugs

下载:http://findbugs.sourceforge.net/downloads.html

vim /etc/profile 文件末尾添加:

export FINDBUGS_HOME=/hadoopsolf/findbugs-3.0.1

export PATH=$PATH:$FINDBUGS_HOME/bin

source /etc/profile

验证:[root@master1 protobuf-2.5.0]# findbugs -version

9 hadoop2.X软件编译

mvn clean package -Pdist,native -DskipTests -Dtar

或者

mvn package -Pdist,native -DskipTests -Dtar

务必保持网络畅通,需要经过漫长的等待!

四安装配置hadoop2.X

1配置ssh免密码登录

1.1各主机配置hosts文件与主机名

vi  /etc/hosts

192.168.204.202  master1

192.168.204.203   slave1

192.168.204.204   slave2

vi  /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=master1  // slave1, slave2

1.2各主机设置静态ip,互ping

1.3配置master1到2个slave(slave1,slave2)的免密码登录(按顺序操作)

(1)首先检查各机器是否已经安装[root@master1Desktop]# rpm -qa|grep  ssh

已经安装

openssh-askpass-5.3p1-94.el6.x86_64

libssh2-1.4.2-1.el6.x86_64

openssh-5.3p1-94.el6.x86_64

openssh-server-5.3p1-94.el6.x86_64

openssh-clients-5.3p1-94.el6.x86_64

如果没有安装则 yum install  ssh

(2)在master1主机:

hadoop用户执行:ssh-keygen -t rsa下一步继续到结束

[hadoop@master1 ~]$ cd  /home/hadoop/.ssh/

[hadoop@master1 .ssh]$ ls

id_rsa  id_rsa.pub

[hadoop@master1 .ssh]$ cat id_rsa.pub>> authorized_keys

root用户执行[master1Desktop]# chmod  600  /home/hadoop/.ssh/authorized_keys

hadoop用户执行验证

[hadoop@master1 ~]$ ssh  master1

Last login: Mon Feb 22 22:23:16 2016 from master1

[hadoop@master1 ~]$

slave机器hadoop用户执行:mkdir-p  /home/hadoop/.ssh

master1主机hadoop用户执行传送

[hadoop@master1~]$

scp /home/hadoop/.ssh/authorized_keys hadoop@slave1:/home/hadoop/.ssh/

[hadoop@master1~]$

scp /home/hadoop/.ssh/authorized_keys hadoop@slave2:/home/hadoop/.ssh/

slave机器root用户执行:chmod  600 /home/hadoop/.ssh/authorized_keys

master1机器hadoop用户执行验证

[hadoop@master1 ~]$ ssh  slave1

[hadoop@master1 ~]$ ssh  slave2

2安装hadoop2.X

hadoop用户在master1操作:

2.1把编译好的hadoop2.X解压至目录

(自定义,我这里是/home/hadoop)

[hadoop@master1 ~]$ tar  -zxvf  /hadoopsolf/hadoop-2.7.2.tar.gz  -C  /home/hadoop

配置hadoop2.X的环境变量,修改~/.bash_profile

vi  /home/hadoop/.bash_profile

export HADOOP_HOME=/home/hadoop/hadoop-2.7.2

export HADOOP_MAPRED_HOME=${HADOOP_HOME}

export HADOOP_COMMON_HOME=${HADOOP_HOME}

export HADOOP_HDFS_HOME=${HADOOP_HOME}

export YARN_HOME=${HADOOP_HOME}

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

export HDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop

export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop

export HADOOP_LOG_DIR=${HADOOP_HOME}/logs

export HADOOP_PID_DIR=/var/hadoop/pids

--- 注意

(root用户创建/var/hadoop/pids并赋予hadoop权限

mkdir   -p /var/hadoop/pids

chown  -R hadoop: hadoop /var/hadoop/pids

)

export PATH=$PATH:$HADOOP_HOME/bin

export JAVA_HOME=/usr/java/jdk1.7.0_71

export  CLASSPATH=.:$JAVA_HOME/lib.tools.jar

export  PATH=$JAVA_HOME/bin:$PATH

2.2配置Hadoop中基础目录

cd  /home/hadoop/hadoop-2.7.2

$ mkdir -p dfs/name

$ mkdir -p dfs/data

$ mkdir -p tmp

$ cd  etc/hadoop

2.3配置Hadoop中配置文件

需要配置的文件如下core-site.xml, hdfs-site.xml, mapred-site.xml, hadoop-env.sh,所有的文件均位于hadoop2.7.2/etc/hadoop下面,具体需要的配置如下:

core-site.xml 配置如下:

<property>

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

<value>file:/home/hadoop/hadoop-2.7.2/tmp</value>

<description>Abase for other temporary directories.</description>

</property>   //接收Client连接的RPC端口,用于获取文件系统metadata信息。

      <property>

       <name>fs.defaultFS</name>

      <value>hdfs://master1:9000</value>

      </property>

<property>

<name>io.file.buffer.size</name>

<value>131702</value>

</property>

hdfs-site.xml配置如下:

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>master1:9001</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/hadoop/hadoop-2.7.2/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/hadoop/hadoop-2.7.2/dfs/data</value>

</property>

<property>   //2份

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

mapred-site.xml配置如下:(cp mapred-site.xml.template  mapred-site.xml)  

<property>

<name>mapreduce.framework.name</name>  // mapreduce运行在yarn上。

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>master1:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>master1:19888</value>

</property>

yarn-site.xml配置如下:

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>master1:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>master1:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>master1:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>master1:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master1:8088</value>

</property>

Vi slaves:

slave1

slave2

vi  hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_71

vi  yarn-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_71

2.4拷贝

从master1远程复制文件夹到slaveX机

scp -r /home/hadoop/hadoop-2.7.2  slave1:/home/hadoop

scp -r /home/hadoop/hadoop-2.7.2  slave2:/home/hadoop

3启动hadoop2.X

master1机器操作

3.1初始化HDFS系统

bin/hdfs  namenode  -format

3.2开启NameNode和DataNode守护进程

sbin/start-dfs.sh(此命令启动了namenode、secondaryNamenode以及datanode)

[hadoop@master1 sbin]$ ./start-dfs.sh

Starting namenodes on [master1]

master1: Error: JAVA_HOME is not set and could not be found.

slave2: Error: JAVA_HOME is not set and could not be found.

slave1: Error: JAVA_HOME is not set and could not be found.

Starting secondary namenodes [master1]

master1: Error: JAVA_HOME is not set and could not be found.

解决

vi /home/hadoop/hadoop-2.7.2/libexec/hadoop-config.sh
添加 export JAVA_HOME=/usr/java/jdk1.7.0_71

此时在master1上面运行的进程有:namenode secondarynamenode

slaveX上面运行的进程有:datanode

./sbin/start-yarn.sh (此命令启动了ResourceManager和NodeManager)

此时在master1上面运行的进程有:namenode secondarynamenode resourcemanager

slaveX上面运行的进程有:datanode  NodeManager

查看各进程

[hadoop@master1 hadoop-2.7.2]$ jps

8176 Jps

4356 ResourceManager

6277 NameNode

6429 SecondaryNameNode

3.3基本状态查看

查看帮助:

[hadoop@master1 hadoop-2.7.2]$./hdfs  –help

[hadoop@master1 hadoop-2.7.2]$./hdfs dfs –help

[hadoop@master1 bin]$ hdfs dfsadmin  -help

查看集群状态:./bin/hdfs dfsadmin –report

查看文件块组成:./bin/hdfs fsck / -files -blocks

可以通过登录Web控制台,查看HDFS集群状态:     http://master1:50070 (hdfs-site.xml)

ResourceManager运行在主节点master上,查看yarn:    http://master1:8088 (yarn-site.xml)

NodeManager运行在从节点上,查看例如节点slave1:http://slave1:8042/

管理JobHistory Server(先要启动mr-jobhistory-daemon.shstart historyserver),通过Web查看:http://master1:19888/jobhistory

查看hadoop:http://master1:9001

 
 

Hadoop学习笔记——搭建的更多相关文章

  1. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  2. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

  3. Hadoop学习笔记(10) ——搭建源码学习环境

    Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...

  4. Hadoop学习笔记(4) ——搭建开发环境及编写Hello World

    Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclip ...

  5. Hadoop学习笔记(1) ——菜鸟入门

    Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...

  6. Hadoop学习笔记(1)(转)

    Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...

  7. Hadoop学习笔记系列

    Hadoop学习笔记系列   一.为何要学习Hadoop? 这是一个信息爆炸的时代.经过数十年的积累,很多企业都聚集了大量的数据.这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼 ...

  8. hadoop学习笔记(四):HDFS文件权限,安全模式,以及整体注意点总结

    本文原创,转载注明作者和原文链接! 一:总结注意点: 到现在为止学习到的角色:三个NameNode.SecondaryNameNode.DataNode 1.存储的是每一个文件分割存储之后的元数据信息 ...

  9. Hadoop学习笔记(7) ——高级编程

    Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...

随机推荐

  1. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

  2. NMAP分布式扫描工具dnmap

    NMAP分布式扫描工具dnmap   NMAP是一款知名的网络扫描工具.它提供丰富和强大的网络扫描功能.但很多时候,需要渗透测试人员从多个终端发起扫描任务,以快速扫描大型网络,或规避IP限制等安全策略 ...

  3. Python爬虫学习(7):浙大软院网号嗅探

    软院这边网速是挺不错的,而且在宿舍和实验室都是可以通过学号直接登陆的上网的,但是..有的时候实验室的台式机需要一个网号,笔记本需要一个网号,或者再加上一个路由器需要一个,然后,感觉网号托托的不够呀.刚 ...

  4. gradle下载地址

    gradle下载:http://services.gradle.org/distributions

  5. Linux 常识

    一.Linux 各目录及每个目录的详细介绍: Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图: /bin 二进制可执行命令 /dev 设备特殊文件 ...

  6. SpringMvc的简单介绍

    1.mcv框架要做哪些事情 (a)将url映射到java类或者Java类的方法 (b)封装用户提交的数据 (c)处理请求---调用相关的业务处理,封装响应的数据 (d)将封装的数据进行渲染,jsp,h ...

  7. 关于H5填写信息类页面横向布局总结

    接触h5已经有快一年了,因为一直偏向页面重构所以在页面布局方面也算是经历过风风雨雨.所以总结一下自己用过的方法来比较归纳 首先来说,H5的页面一般分为两种,一种是用来做市场营销的,主要特征是图多,页面 ...

  8. 深入浅出HTTP协议(WEB开发和面试必备)

    1. 基础概念篇   a.简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和 ...

  9. 了解vmware tools

    了解vmware tools vmware tools是虚拟机VMware Workstation自带的一款工具,它的作用就是使用户可以从物理主机直接往虚拟机里面拖文件.如果不安装它,我们是无法进行虚 ...

  10. Google Play Store —与google服务器通信时出现问题

    机子:MX4 前几天刷完机后出现登录Google Play Store “与google服务器通信时出现问题”,今天试了好几种方法,来总结一下 1.修改最新Hosts文件 2.SmartHosts   ...