【云计算】大数据Hadoop系列之Hadoop分布式集群部署教程
小标 2019-01-07 来源 : 阅读 1119 评论 0

摘要:本文主要向大家介绍了【云计算】大数据Hadoop系列之Hadoop分布式集群部署教程,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】大数据Hadoop系列之Hadoop分布式集群部署教程,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。


一、部署规划


1、部署环境


各部署单元的软件部署情况如下:


 

主机名


 

 

IP地址


 

 

应用名称


 

 

版本


 

 

备注


 

 

master60


 

 

192.168.9.60


 

 

Namenode


 

 

hadoop2.7.3


 

 

主节点


 

 

ResourceManager


 

 

SecondaryNameNode


 

 

slave61


 

 

192.168.9.61


 

 

DataNode


 

 

hadoop2.7.3


 

 

数据节点


 

 

NodeManager


 

 

slave62


 

 

192.168.9.62


 

 

JobHistoryServer


 

 

hadoop2.7.3


 

 

数据节点


 

历史服务器


 

 

NodeManager


 

 

DataNode


 

 

slave63


 

 

192.168.9.63


 

 

NodeManager


 

 

hadoop2.7.3


 

 

数据节点


 

 

DataNode


 


二、环境准备


1、修改主机名


[root@VM1 ~]# vim /etc/sysconfig/network


NETWORKING=yes


HOSTNAME=master60


[root@VM2 ~]# vim /etc/sysconfig/network


NETWORKING=yes


HOSTNAME=slave61


[root@VM3 ~]# vim /etc/sysconfig/network


NETWORKING=yes


HOSTNAME=slave62


[root@VM4 ~]# vim /etc/sysconfig/network


NETWORKING=yes


HOSTNAME=slave63


2、配置网络映射


所有主机执行

# vim /etc/hosts


192.168.9.60 master60


192.168.9.61 slave61


192.168.9.62 slave62


192.168.9.63 slave63


3、关闭防火墙


所有主机执行

# service iptables stop && chkconfig iptables off && chkconfig --list | grep iptables


4、禁用selinux


所有主机执行

# vi /etc/selinux/config


SELINUX=disabled


5、禁用IPv6


所有主机执行

# echo " " >> /etc/modprobe.d/dist.conf


# echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf


# echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf


6、重启


所有主机执行

# reboot


7、配置ssh无秘钥登录


主机master60上执行

7.1、生产公钥和私钥


# ssh-keygen


7.2、拷贝公钥给目标服务器


# ssh-copy-id -i master60


# ssh-copy-id -i slave61


# ssh-copy-id -i slave62


# ssh-copy-id -i slave63


8、集群时间同步


8.1、启动ntpd服务


所有主机执行

# service ntpd start && chkconfig ntpd on && chkconfig --list | grep ntpd


8.2、更新时间


主机master60上执行

# ntpdate -u ntp.sjtu.edu.cn


8.3、将系统时间同步给本机硬件时间


主机master60上执行

# hwclock --localtime


# hwclock --localtime -w


8.4、硬件时间自动同步给系统时间


主机master60上执行

# vi /etc/sysconfig/ntpd


SYNC_HWCLOCK=yes


8.5、系统时间自动更新硬件时间


主机master60上执行

# vi /etc/sysconfig/ntpdate


SYNC_HWCLOCK=yes


8.6、时间进行更新并同步至集群其它主机


主机master60上执行

# ntpdate -u slave61


# ntpdate -u slave62


# ntpdate -u slave63


8.7、重启ntpd服务


所有主机执行

# service ntpd restart && service crond restart


9、设置用户的可打开最大文件数及进程数


所有主机执行

# vi /etc/security/limits.conf


# soft 软指标 ,给警告


# hard 硬指标 ,直接停止


* soft nofile 32728


* hard nofile 1024567


* soft nproc 65535


* hard nproc unlimited


* soft memlock unlimited


* hard memlock unlimited


10、创建一个Hadoop专用的普通用户


所有主机执行

10.1、创建hadoop用户并修改密码


# useradd hadoop


# passwd hadoop


10.2、创建hadoop组,并将hadoop用户加入hadoop组


# groupadd hadoop


# usermod -a -G hadoop hadoop


10.3、创建工作目录


# mkdir /apps && cd /apps && mkdir lib logs run sh sharedstorage svr


# chown -R hadoop:hadoop /apps/*


###################### 后续操作转hadoop用户 ######################


三、Hadoop集群部署


1、JDK安装


Java官网://www.oracle.com/technetwork/java/javase/overview/index.html上下载JDK1.8的Linux安装程序,并上传到服务器; 本平台采用JDK8U172的版本,jdk-8u172-linux-x64.tar.gz; 下载链接://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gzAuthParam=1526031622_e7d7b8c755b98e2dd9545d5a1b5bf17a。

1.1、创建JDK工作目录


所有主机执行

$ mkdir -p /apps/svr/java/


1.2、上传解压JDK软件并拷贝至集群其它主机


主机master60上执行

$ tar -zxvf ~/jdk-8u172-linux-x64.tar.gz -C /apps/svr/java/


$ scp -r /apps/svr/java/jdk1.8.0_172/ slave61:/apps/svr/java/


$ scp -r /apps/svr/java/jdk1.8.0_172/ slave62:/apps/svr/java/


$ scp -r /apps/svr/java/jdk1.8.0_172/ slave63:/apps/svr/java/


1.3、配置JDK环境变量


所有主机执行

$ vim ~/.bash_profile


# JAVA_HOME


export JAVA_HOME=/apps/svr/java/jdk1.8.0_172


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


export PATH=$PATH:$JAVA_HOME/bin


1.4、立即生效


所有主机执行

$ source ~/.bash_profile


2、部署Hadoop


Hadoop官网://archive.apache.org/dist/hadoop上下载hadoop2.x的Linux安装程序,并上传到服务器; 本平台采用hadoop-2.7.3的版本,hadoop-2.7.3.tar.gz; 下载链接://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz。

2.1、部署准备


主机master60上执行

a、创建hadoop工作目录,上传解压hadoop软件


$ mkdir -p /apps/svr/hadoop/


$ cd /apps/svr/hadoop/ && mkdir conf data1 data2 lib logs run


$ mkdir -p /apps/svr/hadoop/data1/dfs/dn /apps/svr/hadoop/data2/dfs/dn /apps/svr/hadoop/data1/dfs/nn /apps/svr/hadoop/data2/dfs/nn


$ tar -zxvf ~/hadoop-2.7.3.tar.gz -C /apps/svr/hadoop/


b、配置hadoop-env.sh


$ vim /apps/svr/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh


export JAVA_HOME=/apps/svr/java/jdk1.8.0_172/


2.2、部署HDFS


主机master60上执行

a. 配置core-site.xml


$ vim /apps/svr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml





fs.defaultFS


hdfs://master60:9000




hadoop.tmp.dir


/apps/svr/hadoop/run/




hadoop.proxyuser.hadoop.hosts


*



hadoop.proxyuser.hadoop.groups


*


b. 配置hdfs-site.xml


$ vim /apps/svr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml





dfs.datanode.data.dir


/apps/svr/hadoop/data1/dfs/dn,/apps/svr/hadoop/data2/dfs/dn




dfs.namenode.name.dir


/apps/svr/hadoop/data1/dfs/nn,/apps/svr/hadoop/data2/dfs/nn




dfs.replication


3




dfs.permissions


true


c. 配置slaves,设置DataNode运行的主机


$ vim /apps/svr/hadoop/hadoop-2.7.3/etc/hadoop/slaves


slave61


slave62


slave63


2.3、部署YARN


主机master60上执行

a. 配置yarn-site.xml


$ vim /apps/svr/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml





yarn.resourcemanager.address


master60:8032




yarn.resourcemanager.scheduler.address


master60:8030




yarn.resourcemanager.resource-tracker.address


master60:8031




yarn.resourcemanager.admin.address


master60:8033




yarn.resourcemanager.webapp.address


master60:8038




yarn.nodemanager.aux-services


mapreduce_shuffle


b. 配置mapred-site.xml


$ vim /apps/svr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml





mapreduce.framework.name


yarn


2.4、拷贝hadoop


主机master60上执行

$ scp -r /apps/svr/hadoop/ slave61:/apps/svr/


$ scp -r /apps/svr/hadoop/ slave62:/apps/svr/


$ scp -r /apps/svr/hadoop/ slave63:/apps/svr/


2.5、配置hadoop环境变量


所有主机执行

$ vim ~/.bash_profile


# HADOOP_HOME


export HADOOP_HOME=/apps/svr/hadoop/hadoop-2.7.3


export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native


export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"


export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/tools/lib/*


export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin


立即生效

$ source ~/.bash_profile


2.6、启动测试hadoop


主机master60上执行

a. 格式化


$ hadoop namenode -format


b. 启动


$ start-dfs.sh


$ start-yarn.sh


c. 检查启动结果


$ yarn node -list


d. WEB UI验证


HDFS ://192.168.9.60:50070


YARN ://192.168.9.60:8038


2.7、历史服务器(88主机)


主机master62上执行

a. 配置mapred-site.xml


$ cd /apps/svr/hadoop/hadoop-2.7.3/etc/hadoop/


$ vim mapred-site.xml




mapreduce.framework.name


yarn



mapreduce.jobhistory.address


192.168.9.62:10020



mapreduce.jobhistory.webapp.address


192.168.9.62:19888



mapreduce.jobhistory.done-dir


${yarn.app.mapreduce.am.staging-dir}/history/done



mapreduce.jobhistory.intermediate-done-dir


${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate



yarn.app.mapreduce.am.staging-dir


/tmp/hadoop-yarn/staging


b. 启动历史服务器


$ mr-jobhistory-daemon.sh start historyserver


C. WEB UI验证


JobHistory ://192.168.9.62:19888


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved