文档章节

Hadoop完整安装配置

小豆豆123
 小豆豆123
发布于 2017/07/25 21:51
字数 1371
阅读 8
收藏 0

前言* Hadoop是Apache开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用,如亚马逊、Facebook和Yahoo等等。对于我来说,最近的一个使用点就是服务集成平台的日志分析。服务集成平台的日志量将会很大,而这也正好符合了分布式计算的适用场景(日志分析和索引建立就是两大应用场景)。

今天我们来实际搭建一下Hadoop 2.2.0版,实战环境为目前主流服务器操作系统CentOS 5.8系统。

 

 

 

一、实战环境

1

2

3

4

5

6

系统版本:CentOS 5.8 x86_64

JAVA版本:JDK-1.7.0_25

Hadoop版本:hadoop-2.2.0

192.168.149.128   namenode  (充当namenode、secondary namenode和ResourceManager角色)

192.168.149.129   datanode1  (充当datanode、nodemanager角色)

192.168.149.130   datanode2  (充当datanode、nodemanager角色)

二、系统准备

1、Hadoop可以从Apache官方网站直接下载最新版本Hadoop2.2。官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独下载src 源码自行编译。(如果是真实线上环境,请下载64位hadoop版本,这样可以避免很多问题,这里我实验采用的是32位版本)

 

Hadoop下载地址

 

http://apache.claz.org/hadoop/common/hadoop-2.2.0/

 

Java 下载下载

 

http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

 

 

2、我们这里采用三台CnetOS服务器来搭建Hadoop集群,分别的角色如上已经注明。

 

第一步:我们需要在三台服务器的/etc/hosts里面设置对应的主机名如下(真实环境可以使用内网DNS解析)

 

[root@node1 hadoop]# cat /etc/hosts

1

2

3

4

5

6

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

192.168.149.128  node1

192.168.149.129  node2

192.168.149.130  node3

(注* 我们需要在namenode、datanode三台服务器上都配置hosts解析)

 

第二步:从namenode上无密码登陆各台datanode服务器,需要做如下配置:

1

2

3

4

在namenode 128上执行ssh-keygen,一路Enter回车即可。

然后把公钥/root/.ssh/id_rsa.pub拷贝到datanode服务器即可,拷贝方法如下:

ssh-copy-id -i .ssh/id_rsa.pub root@192.168.149.129

ssh-copy-id -i .ssh/id_rsa.pub root@192.168.149.130

 

 

三、Java安装配置

1

2

3

4

5

tar  -xvzf  jdk-7u25-linux-x64.tar.gz &&mkdir -p  /usr/java/  ; mv   /jdk1.7.0_25    /usr/java/ 即可。

安装完毕并配置java环境变量,在/etc/profile末尾添加如下代码:

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

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=$JAVE_HOME/lib/dt.jar:$JAVE_HOME/lib/tools.jar:./

保存退出即可,然后执行source  /etc/profile 生效。在命令行执行java -version 如下代表JAVA安装成功。

1

2

3

4

[root@node1 ~]# java -version

java version "1.7.0_25"

Java(TM) SE Runtime Environment (build 1.7.0_25-b15)

Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

(注* 我们需要在namenode、datanode三台服务器上都安装Java JDK版本)

 

四、Hadoop版本安装

 

 

 

官方下载的hadoop2.2.0版本,不用编译直接解压安装就可以使用了,如下:

 

 

 

第一步解压:

1

2

tar  -xzvf  hadoop-2.2.0.tar.gz &&mv hadoop-2.2.0  /data/hadoop/

(注* 先在namenode服务器上都安装hadoop版本即可,datanode先不用安装,待会修改完配置后统一安装datanode)

第二步配置变量:

 

1

2

3

4

5

在/etc/profile末尾继续添加如下代码,并执行source /etc/profile生效。

export HADOOP_HOME=/data/hadoop/

export PATH=$PATH:$HADOOP_HOME/bin/

export JAVA_LIBRARY_PATH=/data/hadoop/lib/native/

(注* 我们需要在namenode、datanode三台服务器上都配置Hadoop相关变量)

 

 

五、配置Hadoop

 

在namenode上配置,我们需要修改如下几个地方:

1、修改vi /data/hadoop/etc/hadoop/core-site.xml 内容为如下:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href=\'#\'"  Put site-specific property overrides in thisfile. -->

<configuration>

<property>

  <name>fs.default.name</name>

  <value>hdfs://192.168.149.128:9000</value>

 </property>

<property>

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

  <value>/tmp/hadoop-${user.name}</value>

  <description>A base for other temporary directories.</description>

</property>

</configuration>

2、修改vi /data/hadoop/etc/hadoop/mapred-site.xml内容为如下:

 

1

2

3

4

5

6

7

8

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href=\'#\'"  Put site-specific property overrides in thisfile. -->

    <configuration>

     <property>

      <name>mapred.job.tracker</name>

      <value>192.168.149.128:9001</value>

     </property>

</configuration>

3、修改vi /data/hadoop/etc/hadoop/core-site.xml内容为如下:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href=\'#\'" /name>

<value>/data/hadoop/data_name1,/data/hadoop/data_name2</value>

</property>

<property>

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

<value>/data/hadoop/data_1,/data/hadoop/data_2</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

4、修改 vi /data/hadoop/etc/hadoop/masters文件内容为如下:

 

1

192.168.149.128

 

 

5、修改vi /data/hadoop/etc/hadoop/slaves文件内容为如下:

 

1

2

192.168.149.129

192.168.149.130

 

 

如上配置完毕,以上的配置具体含义在这里就不做过多的解释了,搭建的时候不明白,可以查看一下相关的官方文档。

 

如上namenode就基本搭建完毕,接下来我们需要部署datanode,部署datanode相对简单,执行如下操作即可。

 

1

for  i  in  `seq 129 130 ` ; do scp -r  /data/hadoop/  root@192.168.149.$i:/data/  ; done

 

 

自此整个集群基本搭建完毕,接下来就是启动hadoop集群了。

 

 

 

六、启动hadoop并测试

 

在启动hadoop之前,我们需要做一步非常关键的步骤,需要在namenode上执行如下命令初始化name目录和数据目录。

 

1

cd   /data/hadoop/ ; ./bin/hadoop namenode -format

那如何算初始化成功呢,如下截图成功创建name目录即正常:

 

120750671.png

然后启动hadoop所有服务,如下命令:

 

1

[root@node1 hadoop]# ./sbin/start-all.sh

131943722.png

 

 

我们还可以查看相应的端口是否启动:netstat -ntpl

 

132011748.png

 

 

访问如下地址:http://192.168.149.128:50070/

 

132046996.png

 

 

访问地址:http://192.168.149.128:8088/

 

132116705.png

 

本文转载自:http://cloud.51cto.com/art/201311/419266.htm

共有 人打赏支持
小豆豆123

小豆豆123

粉丝 15
博文 3
码字总数 0
作品 0
济南
后端工程师
超详细hadoop发行版安装教程(附图文步骤)

在前几篇的文章中分别就虚拟系统安装、LINUX系统安装以及hadoop运行服务器的设置等内容写了详细的操作教程,本篇分享的是hadoop的下载安装步骤。在此之前有必要做一个简单的说明:分享的所有...

左手的倒影
08/03
0
0
windows配置hbase异常winutils.exe

配置好hbase依赖,填写完集群,正要开开心心地scan一下表实验下: java.io.IOException: Could not locate executable nullbinwinutils.exe in the Hadoop binaries. 一个更开心的exception就...

屌丝Lee
2015/11/09
0
0
最新hadoop下载安装教程(附详细图文步骤)

在前几篇的文章中分别就虚拟系统安装、LINUX系统安装以及hadoop运行服务器的设置等内容写了详细的操作教程,本篇分享的是hadoop的下载安装步骤。 在此之前有必要做一个简单的说明:分享的所有...

adnb34g
08/03
0
0
Hadoop开发,配置hadoop-eclipse-plugin插件问题

环境:3台公司内网物理机安装CDH:Cloudera Express 5.6.0,其中 Hadoop版本:2.6.0-cdh5.6.0, rc282dc6c30e7d5d27410cabbb328d60fc24266d9 hadoop-eclipse-plugin-2.6.0.jar从本站论坛下载,......

huamao2014
2016/04/20
76
0
大数据实验室(大数据基础培训)——Hadoop的安装、配置及基础使用

为某企业做的培训,完整文档见:http://gudaoxuri.github.io/bd-lab/ 6. Hadoop 此主题介绍Hadoop的安装、配置及基础使用。 Hadoop介绍 https://www.ibm.com/developerworks/cn/data/library...

孤岛旭日
2016/05/06
35
0

没有更多内容

加载失败,请刷新页面

加载更多

微信小程序组件间通信(二)

一、微信小程序中通过事件,实现子组件向父组件中传递数据或操作 注:子组件向父组件中传递通过事件传递操作 通过事件参数对象detail传递数据。 1.组件中定义触发操作和传递的数据 <button ...

tianma3798
1分钟前
0
0
springmvc日期的处理

@DatetimeFormat是将String转换成Date,一般前台给后台传值时用 @JsonFormat(pattern="yyyy-MM-dd") 将Date转换成String 一般后台传值给前台时...

废柴
1分钟前
0
0
第六章:Hystrix监控面板及数据聚合(Turbine)

第六章:Hystrix监控面板及数据聚合(Turbine) 了解如何整合Hystrix。而在实际情况下,使用了Hystrix的同时,还会对其进行实时的数据监控,反馈各类指标数据。今天我们就将讲解下Hystrix Dashb...

DemonsI
1分钟前
0
0
见客户之前,商业产品经理需要做什么准备?

在一家技术公司,商业产品经理起着至关重要的作用。这不仅是商业产品经理贯穿整个项目,是最了解项目的人。商业产品经理对项目的理解直接关系到项目的成败,以及客户对公司的认可。 产品经理...

Idea
3分钟前
0
0
简单谈谈数据库索引

  最近笔试面试特别多的都问到了数据库索引,由于之前并没有单独做系统的复习,导致许多关于索引的知识点记忆的很模糊,今天整理下相关笔记(并没有深挖,对于初学者还是可以看看的),仅供参...

lixiaoting
5分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部