首页 >  新闻  >  正文

好程序员大数据培训:Hadoop伪分布式集群搭建

2018-07-09 好程序员,大数据,论坛

我们在学习Hadoop时,从官方文档入手学习,是一个非常不错的选择,搭建伪分布式集群,我们也可以参照官方文档。

打开Hadoop官方网站:hadoop.apache.org,选择Learn About,

     接着选择Single Node Setup

我们选择伪分布模式Pseudo-Distributed Mode

按照文档不难配置出我们的伪分布式,那么开始吧!!!

一、Hadoop伪分布式集群概念与规划

Hadoop can also be run on a single-node in a pseudo-distributed mode where each Hadoop daemon runs in a separate Java process.

翻译过来就是:

Hadoop还可以在一个伪分布式模式的单节点上运行,其中每个Hadoop进程都在一个单独的Java进程中运行。

其实和本地模式相比,伪分布的文件存储在hdfs文件系统中,而本地模式采用的是Linux本身的文件系统。

规划:nameNode、resourceManager、datanode、nodemanager、secondary namenode都在一台Linux系统中运行。

二、环境准备

1、准备一台Centos6.7 64bit虚拟机,虚拟机名为:

Centos6.7_mini1

2、修改虚拟机主机名(hostname)

vi /etc/sysconfig/network   #编辑network文件

然后重启Linux系统,重启命令reboot

3、配置静态IP地址

1)vi /etc/sysconfig/network-scripts/ifcfg-eth0   #编辑ifcfg-eth0文件

 EVICE="eth0"

BOOTPROTO="dhcp"

HWADDR="00:0C:29:EB:D3:D7"

IPV6INIT="yes"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

UUID="95a46579-67e8-43c7-a747-e00f2e120cd6"

BOOTPROTO=static

IPADDR=192.168.131.128

DNS1=8.8.8.8

GATEWAY=192.168.131.2

NETMASK=255.255.255.0

ARPCHECK=no

可通过VMWare中的编辑-->虚拟机网络编辑器来查看虚拟机的网段

GATAWAY就等于你刚刚复制的网关。

2)修改系统的hosts文件

vim  /etc/hosts   #在每台机器的hosts文件添加ip与hostname的映射

192.168.131.128  mini1

3)如果mini1是克隆的别的虚拟机系统的话,需要重新设置网卡,如果是安装的新系统此步骤可省略。

首先通过 ifconfig -a 查看网卡信息

系统内核无法找到eth0,只有默认的eth1和lo。

怎么才能修改为eth0呢?(内核无法识别eth0,可能会导致许多工作无法正常进行)

解决方案如识下:

a、切换至设备管理器文件设置内核识别信息内容

b、编辑70-persistent-net.rules文件

c、将刚来修改的地址配置到我们的静态ip中

vim /etc/sysconfig/network-scripts/ifcfg-eth0

4、创建一个名为hadoop的用户

useradd hadoop#添加hadoop用户

passwd hadoop#给hadoop用户 设置密码 密码是开机密码

5、为hadoop用户配置sudo权限

非root用户要执行系统管理员(root)的权限命令时,使用sudo放到“要执行的系统命令”之前。但是使用sudo之前,要进行一些配置:

#编辑 /etc/sudoers文件

vi /etc/sudoers

#在文件中的如下位置,为普通用户(如hadoop)添加一行即可

rootALL=hadoopALL=(ALL) ALL

 hadoop ALL=(ALL) ALL

6、关闭防火墙

#查看防火墙状态

service iptables status

关闭防火墙

service iptables stop

#查看防火墙开机启动状态

chkconfig iptables--list

#关闭防火墙开机启动

chkconfig iptables off

保存,reboot 重启电脑。

7、安装JDK

将我们的jdk压缩包,上传到mini1上,并解压,然后配置环境变量。

解压:tar  -zxvf  /home/hadoop/jdk-7u55-linux-i586.tar.gz  -C  /usr/local

配置:

vi   /etc/profile

#在文件最后添加

export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65

export PATH=$PATH:$JAVA_HOME/bin

#刷新配置

source /etc/profile

使用  java  -version 查看是否配置成功

8、配置免密登陆

通过ssh-keygen -t rsa 命令生成公钥和私钥

一路敲回车,直到生成公钥和私钥

ll   /root/.ssh/

然后通过

ssh-copy-id   mini1

看 /root/.ssh/下是否生成了authorized_keys 文件

ssh  mini1   看是否需要输入密码,如果不需要输入,说明成功!

三、安装Hadoop

1.上传hadoop-2.7.1.tar.gz到Centos6.7_min1机器的/home/root目录下

2.解压hadoop-2.7.1.tar.gz安装包

cd /home/root             #切换到目录

tar -zxvf  hadoop-2.7.1.tar.gz  -C  /usr/local/#解压

3、设置hadoop-env.sh配置文件

cd   /usr/local/hadoop-2.7.1/etc/hadoop  #切换目录

vi   hadoop-env.sh  #添加如下内容

4、设置core-site.xml配置文件

vi core-site.xml   #添加如下内容

001

该节点为分布式集群环境是hdfs的入口,必须配置。

5、配置 hdfs-site.xml

002

因为是伪分布式,只有一个节点,所以设置副本数为1

6、设置mapred-site.xml配置文件

mv  mapred-site.xml.template   mapred-site.xml

#默认mapred-site.xml不存在,使用

#mapred-site.xml.template生成

vi  mapred-site.xml  #添加如下内容

7、设置yarn-site.xml配置文件

vi   yarn-site.xml  #添加如下内容

如果不配置第6、7步的话,也能够启动只是执行mapreduce任务时,属于本地模式,请看本地模式的日志

如果是yarn模式,可以看到如下日志:

配置hadoop环境变量

vi /etc/profile

接着source  /etc/profile

通过hadoop  verison 验证是否配置正常

至此,我们的集群就配置完成了。

四、集群的启动与测试

1.启动集群

首先必须先格式化namenode:

hadoop namenode  -format

#格式化namenode后,会在/tmp/hadoop-root/dfs/name/current下生成我们的fsimage

start-all.sh

#因为之前配置了hadoop环境变量,所以此命令可以在任何一个文件夹下输入

2.使用jps查看电脑的进程

ResourceManager

NodeManager

DataNode

NameNode

SecondaryNameNode

3.验证hadoop平台的可用性

首先验证hdfs平台可用性:

cd   /usr/local/hadoop-2.7.2/

hdfs  dfs  -put  README.txt  /

接着验证yarn平台可靠性

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar

wordcount /README.txt /out/00

结果运行正常,说明平台无问题。

8d0025649af435f314266941d5b8bd66

(点击报名立享)

好程序员特训营自2014年开班至今,一直立志培养高薪,高能,高职的程序员人才,截至目前,好程序员学员就业均薪1万3以上,学员薪资最高达到2万9千元。现开设Html5、JavaEE、大数据等高端精品课程,保证高品质,坚持100%全程面授。

好程序员,从平凡到卓越,为梦想而拼搏!

推荐阅读

数据分析师工作内容及择业指南
好程序员揭秘大数据特种兵是如何炼成
没有基础适不适合学编程?
好程序员的讲师怎么样?
好程序员的学习方式

在线申请