栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > 服务器

基于CentOS的Hadoop分布式环境的搭建开发

服务器 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

首先,要说明的一点的是,我不想重复发明轮子。如果想要搭建Hadoop环境,网上有很多详细的步骤和命令代码,我不想再重复记录。

其次,我要说的是我也是新手,对于Hadoop也不是很熟悉。但是就是想实际搭建好环境,看看他的庐山真面目,还好,还好,最好看到了。当运行wordcount词频统计的时候,实在是感叹hadoop已经把分布式做的如此之好,即使没有分布式相关经验的人,也只需要做一些配置即可运行分布式集群环境。

好了,言归真传。

在搭建Hadoop环境中你要知道的一些事儿:

1.hadoop运行于Linux系统之上,你要安装Linux操作系统

2.你需要搭建一个运行hadoop的集群,例如局域网内能互相访问的linux系统

3.为了实现集群之间的相互访问,你需要做到ssh无密钥登录

4.hadoop的运行在JVM上的,也就是说你需要安装Java的JDK,并配置好JAVA_HOME

5.hadoop的各个组件是通过XML来配置的。在官网上下载好hadoop之后解压缩,修改/etc/hadoop目录中相应的配置文件

工欲善其事,必先利其器。这里也要说一下,在搭建hadoop环境中使用到的相关软件和工具:

1.VirtualBox——毕竟要模拟几台linux,条件有限,就在VirtualBox中创建几台虚拟机楼

2.CentOS——下载的CentOS7的iso镜像,加载到VirtualBox中,安装运行

3.secureCRT——可以SSH远程访问linux的软件

4.WinSCP——实现windows和Linux的通信

5.JDK for linux——Oracle官网上下载,解压缩之后配置一下即可

6.hadoop2.7.1——可在Apache官网上下载

好了,下面分三个步骤来讲解

Linux环境准备

 配置IP

为了实现本机和虚拟机以及虚拟机和虚拟机之间的通信,VirtualBox中设置CentOS的连接模式为Host-Only模式,并且手动设置IP,注意虚拟机的网关和本机中host-only network 的IP地址相同。配置IP完成后还要重启网络服务以使得配置有效。这里搭建了三台Linux,如下图所示









配置主机名字

对于192.168.56.101设置主机名字hadoop01。并在hosts文件中配置集群的IP和主机名。其余两个主机的操作与此类似

[root@hadoop01 ~]# cat /etc/sysconfig/network 
# Created by anaconda 
NETWORKING = yes 
HOSTNAME = hadoop01   
[root@hadoop01 ~]# cat /etc/hosts 
127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4 
::1     localhost localhost.localdomain localhost6 localhost6.localdomain6 
192.168.56.101 hadoop01 
192.168.56.102 hadoop02 
192.168.56.103 hadoop03 

永久关闭防火墙

service iptables stop(1.下次重启机器后,防火墙又会启动,故需要永久关闭防火墙的命令;2由于用的是CentOS 7,关闭防火墙的命令如下)

systemctl stop firewalld.service    #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

关闭SeLinux防护系统

改为disabled 。reboot重启机器,使配置生效

[root@hadoop02 ~]# cat /etc/sysconfig/selinux 
 
# This file controls the state of SELinux on the system 
# SELINUX= can take one of these three values: 
#   enforcing - SELinux security policy is enforced 
 
#   permissive - SELinux prints warnings instead of enforcing 
#   disabled - No SELinux policy is loaded 
SELINUX=disabled 
# SELINUXTYPE= can take one of three two values: 
#   targeted - Targeted processes are protected, 
#   minimum - Modification of targeted policy only selected processes are protected 
#   mls - Multi Level Security protection 
SELINUXTYPE=targeted  

集群SSH免密码登录

首先设置ssh密钥

ssh-keygen -t rsa 

拷贝ssh密钥到三台机器

ssh-copy-id 192.168.56.101 
ssh-copy-id 192.168.56.102 
ssh-copy-id 192.168.56.103

这样如果hadoop01的机器想要登录hadoop02,直接输入ssh hadoop02

ssh hadoop02 

配置JDK

这里在/home忠诚创建三个文件夹中

tools——存放工具包

softwares——存放软件

data——存放数据

通过WinSCP将下载好的Linux JDK上传到hadoop01的/home/tools中

解压缩JDK到softwares中

tar -zxf jdk-7u76-linux-x64.tar.gz -C /home/softwares 

可见JDK的家目录在/home/softwares/JDK.x.x.x,将该目录拷贝粘贴到/etc/profile文件中,并且在文件中设置JAVA_HOME

export JAVA_HOME=/home/softwares/jdk0_111 
export PATH=$PATH:$JAVA_HOME/bin 

保存修改,执行source /etc/profile使配置生效

查看Java jdk是否安装成功:

java -version 

可以将当前节点中设置的文件拷贝到其他节点

scp -r /homeuidgid  1 
002   1 
022   1 
199   1 
200   1 
2>/dev/null`  1 
;    3 
;;   1 
=    4 
>/dev/null   1 
By   1 
Current 1 
EUID=`id    1 
Functions    1 
HISTConTROL   1 
HISTConTROL=ignoreboth 1 
HISTConTROL=ignoredups 1 
HISTSIZE    1 
HISTSIZE=1000  1 
HOSTNAME    1 
HOSTNAME=`/usr/bin/hostname   1 
It's  2 
JAVA_HOME=/home/softwares/jdk0_111 1 
LOGNAME 1 
LOGNAME=$USER  1 
MAIL  1 
MAIL="/var/spool/mail/$USER"  1 
NOT   1 
PATH  1 
PATH=$1:$PATH  1 
PATH=$PATH:$1  1 
PATH=$PATH:$JAVA_HOME/bin    1 
Path  1 
System 1 
This  1 
UID=`id 1 
USER  1 
USER="`id    1 
You   1 
[    9 
]    3 
];   6 
a    2 
after  2 
aliases 1 
and   2 
are   1 
as   1 
better 1 
case  1 
change 1 
changes 1 
check  1 
could  1 
create 1 
custom 1 
customsh    1 
default,    1 
do   1 
doing 1 
done  1 
else  5 
environment   1 
environment,  1 
esac  1 
export 5 
fi   8 
file  2 
for   5 
future 1 
get   1 
go   1 
good  1 
i    2 
idea  1 
if   8 
in   6 
is   1 
it   1 
know  1 
ksh   1 
login  2 
make  1 
manipulation  1 
merging 1 
much  1 
need  1 
pathmunge    6 
prevent 1 
programs,    1 
reservation   1 
reserved    1 
script 1 
set  1 
sets  1 
setup  1 
shell  2 
startup 1 
system 1 
the   1 
then  8 
this  2 
threshold    1 
to   5 
uid/gids    1 
uidgid 1 
umask  3 
unless 1 
unset  2 
updates    1 
validity    1 
want  1 
we   1 
what  1 
wide  1 
will  1 
workaround   1 
you   2 
your  1 
{    1 
}    1 

这就代表hadoop集群正确

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/182443.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号