博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop社区版搭建
阅读量:6989 次
发布时间:2019-06-27

本文共 5646 字,大约阅读时间需要 18 分钟。

1.环境准备

1.1 硬件配置

设备名 参数
数量 6台
系统 centos6.5
内存 64G
硬盘 320T/台
CPU 8核/台

1.2 软件版本

Hadoop-2.x 

JDK1.7  

 

至此搭建Hadoop集群的条件准备OK了。

 

2.创建Hadoop用户

在管理Hadoop集群时,不推荐使用root用户去操作,我们可以通知运维,叫他创建一个hadoop用户去专门用于维护和管理集群。

useradd hadooppasswd hadoop

同时通知运维给hadoop用户开通sudo权限。

hadoop    ALL=(ALL:ALL)    ALL

这样创建完用户后,我们接下来是在该用户下安装ssh,然各个服务器之间能够实现免密码登录。

3.SSH安装

a.首先在hadoop用户下安装ssh,保证服务器之间能够免密码登录

b.关闭各个服务器的内网防火墙,在外网由运维统一配置防火墙。

注:若不关闭防火墙,后面启动集群会由于权限不足导致启动失败

安装命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsacat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

注:在hadoop用户下,需要给authorized_keys赋予600的权限,不然免密码登陆无效

chmod 600 authorized_keys

这样免密码登录就算完成了。

注:每天服务器安装完ssh后,需登录一次ssh,不然know_hosts木有记录,其他集群启动会出现can't be established

关闭防火墙:

chkconfig  iptables off

这样第三步就ok了。接下来是安装JDK

4.安装JDK

将下载的jdk包解压到指定位置,然后配置环境变量即可:

sudo vi /etc/profile
JAVA_HOME=/usr/jdk1.7CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarPATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME CLASSPATH PATH

然后让配置文件立即生效:

. /etc/profile (或source /etc/profile)

验证:

[hadoop@cloud001 portal]$ java -versionjava version "1.7.0_71"Java(TM) SE Runtime Environment (build 1.7.0_71-b14)Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

5. 配置hadoop

将下载的hadoop-2.5.1安装包解压到指定的位置,然后配置etc目下的文件和环境变量,首先我们先配置环境变量:

sudo vi /etc/profile
HADOOP_DEV_HOME=/home/hadoop/source/hadoop-2.5.1HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}YARN_HOME=${HADOOP_DEV_HOME}HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoopHDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoopYARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoopCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jarPATH=$JAVA_HOME/bin:$PATH:$HADOOP_DEV_HOME/bin:$HADOOP_DEV_HOME/sbin:$HIVE_HOME/bin:$HBASE_HOME/binexport JAVA_HOME CLASSPATH PATH HADOOP_DEV_HOME HADOOP_MAPARED_HOME HADOOP_COMMON_HOME HADOOP_HDFS_HOME YARN_HOME HADOOP_CONF_DIR HDFS_CONF_DIR YARN_CONF_DIR

(1)修改hadoop-env.sh的JAVA_HOME

export JAVA_HOME=/usr/jdk1.7

(2)配置hdfs-site.xml

dfs.replication
3
dfs.namenode.name.dir
file:///home/hadoop/hdfs/name
true
dfs.dataname.data.dir
file:///home/hadoop/hdfs/data
true
dfs.namenode.secondary.http-address
10.211.55.12:9001
dfs.webhdfs.enabled
true
dfs.permissions
false

 

 

(3)配置core-site.xml

hadoop.tmp.dir
/home/hadoop/tmp
fs.default.name
hdfs://10.211.55.12:9000

(4)配置mapred-site.xml

mapreduce.framework.name
yarn
mapreduce.jobhistory.address
10.211.55.12:10020
mapreduce.jobhistory.webapp.address
10.211.55.12:19888
mapreduce.jobtracker.http.address
10.211.55.12:50030
mapreduce.jobtracker.address
10.211.55.12:9001

(5)配置yarn-env.sh

yarn.resourcemanager.address
10.211.55.12:18040
yarn.resourcemanager.scheduler.address
10.211.55.12:18030
yarn.resourcemanager.webapp.address
10.211.55.12:18088
yarn.resourcemanager.resource-tracker.address
10.211.55.12:18025
yarn.resourcemanager.admin.address
10.211.55.12:18141
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler

(6)复制mapred-queues.xml文件

cp mapred-queues.xml.template mapred-queues.xml

(7)设置master和slaver

master文件:cloud001

slaver文件:cloud002,cloud003,cloud004,cloud005,cloud006

(8)配置hosts

10.211.55.12 cloud001

10.211.55.15 cloud002

10.211.55.16 cloud003

10.211.55.19 cloud004

10.211.55.34 cloud005

10.211.55.22 cloud006

接着我们将配置好的资源打包分发到其他服务器。

6.分发资源

使用scp命令将配置好的资源分发的其他服务器上。

7.启动集群

到这里所有的准备工作已完成了,我们可以启动集群了,这里需要注意的是,hadoop2.x和hadoop1.x不一样的地方是,启动不着是start-all.sh,当然这个命令也是可以用的,但是这里不推荐使用,在hadoop2.x中,官方对启动命令做了优化,推荐使用start-dfs.sh和start-yarn.sh。下面我给出一个完整的启动过程:

格式化节点(首次启动):

hadoop namenode –format

启动所有节点:

start-dfs.sh

启动资源管理:

start-yarn.sh

注:在hadoop2.x中,由于hadoop的设计变了,相对hadoop1.x在HDFS上添加了一层yarn来管理,所以启动之后所有的资源交由yarn来管理。

添加代理(负载均衡):

 

 

yarn-daemons.sh start proxyserver

查看启动集群的简要概括:

hadoop dfsadmin –report

最后我们可以输入JPS命令来查看:

[hadoop@cloud001 portal]$ jps7844 ResourceManager7501 NameNode7687 SecondaryNameNode15251 Jps

到这里我们的社区版hadoop2.x集群就搭建完成了。

联系方式: 
邮箱:smartloli.org@gmail.com 
Twitter:  
QQ群(Hadoop - 交流社区1):  
温馨提示:请大家加群的时候写上加群理由(姓名+公司/学校),方便管理员审核,谢谢! 

热爱生活,享受编程,与君共勉!

本文转自哥不是小萝莉博客园博客,原文链接:,如需转载请自行联系原作者

你可能感兴趣的文章
RTSP---协议
查看>>
LNMP环境安装
查看>>
OMSA系统信号集问题
查看>>
select count()和select count(1)
查看>>
solr StatsComponent(聚合统计)
查看>>
自制mysql主从复制(实时)软件——实现
查看>>
阿里云开发者工具上手体验
查看>>
我的友情链接
查看>>
centOS建立bind服务,做为内网DNS解析服务安装记录
查看>>
Quick BI 的模型设计与生成SQL原理剖析
查看>>
MySQL运维实战 之 PHP访问MySQL你使用对了吗
查看>>
axure 学习文档
查看>>
CISCO 默认配置简述
查看>>
java io 复制图片 音频,视频 都好用啊
查看>>
我的友情链接
查看>>
笔记本做软AP,手机能够PING通外网,不能上网
查看>>
view的自动点击,模拟人手去触摸控件
查看>>
UIWindow
查看>>
laravel-push-notification 推送消息
查看>>
Spring Data Redis 管理Redis 之1
查看>>