搭建分布式hadoop2.x集群
前期准备:
1.我这里用了三台虚拟机,.默认已经配置好静态IP和IP域名映射,它们相互之间可以ping通
第一台:192.168.174.131 hadoopNumber01.medal.com
第二台:192.168.174.132 hadoopNumber02.meda.com
第三台:192.168.174.133 hadoopNumber03.medal.com
2.虚拟机最好不要连上网,因为我们后面用的是离线方式安装
一、搭建前的系统设置
1.将三台虚拟机切换到root用户,禁用IPv6
命令是:#echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
#echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf
2.配置普通用户的sudo权限
命令是:#chmod u+w /etc/sudoers
#vi /etc/sudoers
在第一行加上:用户名 ALL=(root)NOPASSWD:ALL
因为我是以xunzhang这个用户登录的,所以我加上xunzhang ALL=(root)NOPASSWD:ALL
#chmod u-w /etc/sudoers
3.关闭防火墙
命令是:$sudo service iptables stop
$sudo chkconfig iptables off
4.禁用selinux
命令是:$sudo vi /etc/sysconfig/selinux
修改内容:SELINUX= disabled
5.卸载JdK
命令是:$sudo rpm -qa | grep java
$sudo rpm -e --nodeps xxx yyy zzz
6.设置文件打开数量和用户最大进程数
命令是:$sudo vi /etc/security/limits.conf
加上内容:
* soft nofiles 65535
* hard nofiles 65535
* soft nproc 32000
* hard nproc 32000
7.设置集群时间同步(ntp),前提是三台虚拟机之间已经配置ssh免密钥登录
比如说我现在设置第二台和第三台虚拟机与第一台虚拟机进行时间同步
1>首先检查第一台虚拟机有没有安装ntp软件,命令是:#rpm -qa | grep ntp,默认系统已经自带了
2>编辑配置文件ntp.conf
命令是:#vi /etc/ntp.conf
去掉一行注释,将#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap,去掉注释,并将其改成192.168.174.0,因为我的ip是在这个网段里面
加上三行注释,将service 0.centos.pool.ntp.ort和service 1.centos.pool.ntp.org还有service 2.centos.pool.ntp.org这三行注释掉
去掉两行注释,将末尾的server 127.127.1.0 #local clock 和 fudge 127.127.1.0 stratum 10 ,这两行的注释去掉
3>编辑配置文件ntpd
命令是:#vi /etc/sysconfig/ntpd
内容是:# Drop root to id 'ntp:ntp' by default.
SYNC_HWCLOCK =yes
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
4>启动服务
命令是:#service ntpd start
#chkconfig ntpd on
5>在另外两台虚拟机上,写脚本,进行时间的同步
在第二台虚拟机上,切换到root用户,设置同步
命令是:crontab -e
加上如下内容:
0-59 * * * * /usr/sbin/ntpdate hadoopNumber01.medal.com
注意:在这里每个*号之间有一个空格,后面这个域名是我第一台主机的主机名
在第三台虚拟机上,也做如第二台虚拟机相同的操作
二、搭建Hadoop2.x集群
1、安装JDK
1>上传JDK安装包,并将其解压到/opt/modules目录下
2>配置环境变量
命令是:sodu /etc/profile
在最后加上:########### JAVA_HOME ##################
export JAVA_HOME=/opt/modules/jdk1.7.0_79 (jdk所在的路径),我的jdk是在/opt/modules/下
export CLASSPATH=/opt/modules/jdk1.7.0_79/lib
export PATH=$PATH:$JAVA_HOME/bin
3>重启配置文件/etc/profile
命令是:source /etc/profile
4>将jdk分发到另外两台虚拟机中
命令是:cd /opt/modules/
scp -r * xunzhang@hadoopNumber02.medal.com:/opt/modules
scp -r * xunzhang@hadoopNumber03.medal.com:/opt/modules
最后在另外两台虚拟机上配置java环境变量
2.安装Hadoop2.x(我这里是2.5.0)
1>上传hadoop安装包,并将其解压到/opt/modules目录下,进入hadoop-2.5.0-cdh5.3.6目录下,创建临时缓存目录
命令是:mkdir -p tmp/dir
2>进入hadoop-2.5.0-cdh5.3.6/ect/hadoop目录下,修改配置文件
第一个:core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoopNumber01.medal.com:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0-cdh5.3.6/tmp/dir</value>
</property>
</configuration>
第二个:hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoopNumber02.medal.com:50090</value>
</property>
</configuration>
第三个:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
第四个:yarn -site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoopNumber01.medal.com</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
第五个:slaves
hadoopNumber01.medal.com
hadoopNumber02.medal.com
hadoopNumber03.medal.com
第六个:hadoop-env.sh
配置java的路径:export JAVA_HOME=/opt/modules/jdk1.7.0_79
第七个:mapred-env.sh
配置java的路径:export JAVA_HOME=/opt/modules/jdk1.7.0_79
3.将hadoop分发到其它虚拟机上
前提:三台虚拟机它们的目录结构,和用户名完全一样
命令: scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slaves hadoop-env.sh mapred-env.sh xunzhang@hadoopNumber02.medal.com:/opt/modules/hadoop-2.5.0-cdh5.3.6/etc/hadoop/
scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slaves hadoop-env.sh mapred-env.sh xunzhang@hadoopNumber03.medal.com:/opt/modules/hadoop-2.5.0-cdh5.3.6/etc/hadoop/
4.格式化hdfs文件系统
在第一台虚拟机上
命令:bin/hdfs namenode -format
如果没有错误,就继续向下执行,有错误就查看日志信息,进行改正
sbin/start-dfs.sh
sbin/start-yarn.sh
至此,集群搭建完成
转载于:https://www.cnblogs.com/medal-li/p/7460423.html
搭建分布式hadoop2.x集群相关推荐
- redis映射的概念_搭建分布式Redis Cluster集群与Redis入门
目录 Redis 集群搭建Redis 是啥集群(Cluster)Redis Cluster 说明Redis Cluster 节点Redis Cluster 集群模式不能保证一致性创建和使用 Redis ...
- fastdfs原理_搭建分布式文件系统FastDFS集群
本文摘选abcdocker运维博客 abcdocker运维博客 – 专注DevOps自动化运维,传播优秀it运维技术文章i4t.com 在生产环境中往往数据存储量比较大,因此会大部分会选择分布式存储 ...
- 伪分布式Hadoop2.x集群的搭建1
1. 安装JDK a.查出当前已经安装的JDK # rpm -qa | grep java b.卸载原先自带的JDK # rpm -e --nodeps java-1.6.0-openjdk- ...
- 一次搞定:分布式缓存 Redis 集群搭建!
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | Esofar 来源 | cnblogs.com ...
- docker 分布式管理群集_Coolpy7分布式物联网MQTT集群搭建
Coolpy7分布式技术,支持多个Coolpy7 Core提供跨数据中心(多活)模式组建群集,支持群集零手动维护(基于Gossip分布式协议作为群集节点状态维护).Coolpy7从版本号V7.3.2. ...
- 分布式缓存 Redis 集群搭建,这里一次性帮你搞定!
作者:Esofar cnblogs.com/esofar/p/10486621.html Redis 集群简介 Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推 ...
- redis没有bin目录_分布式缓存 Redis 集群搭建,这里一次性帮你搞定!
作者:Esofar cnblogs.com/esofar/p/10486621.html Redis 集群简介 Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推 ...
- 分布式缓存 Redis 集群搭建
点击上方的终端研发部,右上角选择"设为星标" Redis 集群简介 Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推出的一套分布式存储方案. ...
- ZooKeeper1 利用虚拟机搭建自己的ZooKeeper集群
前言: 前段时间自己参考网上的文章,梳理了一下基于分布式环境部署的业务系统在解决数据一致性问题上的方案,其中有一个方案是使用ZooKeeper,加之在大数据处理中,ZooKeeper确实起 ...
最新文章
- mysql什么情况会加意向锁_Mysql 数据库意向锁意义
- flask_socketio 用法:
- Spring Security——login显示[Bad credentials]
- php的cookie不存在会是什么值,PHP setcookie() 首次存储不上值
- cocos2d-x游戏开发(十三)细说回调函数
- GLog 初始化说明
- Controller上使用@CrossOrigin注解
- fullgc频繁的原因_系统运行缓慢,CPU 100%,Full GC次数过多,这一招帮你全搞定
- JBoss OSGi用户指南(第二章:Getting Started)
- AX2009 的EP开发要点
- C#实现的基于SMTP协议的E-MAIL电子邮件发送客户端软件
- 度中心性(degree)、接近中心性(closeness)和中介中心性(betweenness)的理解
- 百度 嵌入式Linux软件研发工程师面试记录
- 学习Unity3D是一件痛并快乐着的事
- ps制作视:_制作自己的PS4游戏:“梦想”入门
- TriCore 与 RT-Thread(TC264 移植)
- 宇宙最全面试题目实录(二)
- 超图举例单值专题图色带样式控制
- 6、USRP【入门软件无线电(SDR)】PySDR:使用 Python 的 SDR 和 DSP 指南
- Nexus配置Pypi私库
热门文章
- Java中通过代理对类进行修改
- ai人工智能编程_从人工智能动态编程:Q学习
- ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试再次测试
- 复数矩阵分解的拆解思路(矩阵求逆/特征值分解)
- c语言大作业旋转,c语言大作业全-20210412035629.docx-原创力文档
- vue 项目难点_vue项目中遇到的问题汇总
- jedis使用_Redis --Java客户端 Jedis
- plsql执行command命令控制台出现乱码_展现“管理员”的神级能力,有趣又实用的我的世界基础命令...
- 禅道项目管理_禅道 11.6.1 版本发布,完善细节,修复 Bug
- php where 不包含,php – 除非它们包含“where”或“like”子句,否则不允许删除