虚拟机搭建hadoop集群步骤
内存4G,硬盘50G
安装好linux
/boot 200M
/swap 2g
/ 剩余*安装VMTools
关闭防火墙
sudo service iptables stop
sudo chkconfig iptables off设置静态IP,改主机名
编辑vim /etc/sysconfig/network-scripts/ifcfg-eth0
改成
=================================
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
NAME=“eth0”
IPADDR=192.168.5.101
PREFIX=24
GATEWAY=192.168.5.2
DNS1=192.168.5.2
=================================
编辑vim /etc/sysconfig/network
改HOSTNAME=那一行配置/etc/hosts
vim /etc/hosts
=============================
192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
192.168.1.107 hadoop107
192.168.1.108 hadoop108
192.168.1.109 hadoop109
=============================创建一个一般用户atguigu,给他配置密码
useradd atguigu
passwd atguigu配置这个用户为sudoers
vim /etc/sudoers
在root ALL=(ALL) ALL
添加atguigu ALL=(ALL) NOPASSWD:ALL
保存时wq!强制保存*在/opt目录下创建两个文件夹module和software,并把所有权赋给atguigu
mkdir /opt/module /opt/software
chown atguigu:atguigu /opt/module /opt/software关机,快照,克隆
从这里开始要以一般用户登陆
克隆的虚拟机改IP
搞一个分发脚本
cd ~
vim xsync
内容如下:
=================================================================
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir#4 获取当前用户名称
user=`whoami`#5 循环
for((host=103; host<105; host++)); doecho ------------------- hadoop$host --------------rsync -av $pdir/$fname $user@hadoop$host:$pdir
done
==============================================================
chmod +x xsyncsudo cp xsync /binsudo xsync /bin/xsync
配置免密登陆
1. 生成密钥对 ssh-keygen -t rsa 三次回车2. 发送公钥到本机 ssh-copy-id hadoop102 输入一次密码3. 分别ssh登陆一下所有虚拟机 ssh hadoop103 exit ssh hadoop104 exit4. 把/home/atguigu/.ssh 文件夹发送到集群所有服务器 xsync /home/atguigu/.ssh
在一台机器上安装Java和Hadoop,并配置环境变量,并分发到集群其他机器
1. 拷贝文件到/opt/software,两个tar包
2. tar -zxf h"+tab" -C /opt/module
3. tar -zxf j"+tab" -C /opt/module
4. sudo vim /etc/profile
在文件末尾添加
=======================================================
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
========================================================
保存
5. source /etc/profile
6. sudo xsync /etc/profile7. 在其他机器分别执行source /etc/profile
###所有配置文件都在$HADOOP_HOME/etc/hadoop
14. 首先配置hadoop-env.sh,yarn-env.sh,mapred-env.sh文件,配置Java_HOME
在每个文件第二行添加 export JAVA_HOME=/opt/module/jdk1.8.0_144
配置Core-site.xml
<!-- 指定HDFS中NameNode的地址 --> <property><name>fs.defaultFS</name><value>hdfs://hadoop102:9000</value> </property><!-- 指定Hadoop运行时产生文件的存储目录 --> <property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-2.7.2/data/tmp</value> </property>
配置hdfs-site.xml
dfs.replication
3dfs.namenode.secondary.http-address
hadoop104:50090配置yarn-site.xml
<!-- Site specific YARN configuration properties --> <!-- Reducer获取数据的方式 --> <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value> </property><!-- 指定YARN的ResourceManager的地址 --> <property><name>yarn.resourcemanager.hostname</name><value>hadoop103</value> </property> <!-- 日志聚集功能使能 --> <property><name>yarn.log-aggregation-enable</name><value>true</value> </property><!-- 日志保留时间设置7天 --> <property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value> </property>
配置mapred-site.xml
mapreduce.framework.name
yarnmapreduce.jobhistory.address hadoop104:10020 mapreduce.jobhistory.webapp.address hadoop104:19888
启动历史服务器:mr-jobhistory-daemon.sh start historyserver
配置Slaves
hadoop102
hadoop103
hadoop104分发配置文件
xsync /opt/module/hadoop-2.7.2/etc格式化Namenode 在hadoop102
hdfs namenode -format启动hdfs
start-dfs.sh在配置了Resourcemanager机器上执行
在Hadoop103上启动start-yarn.sh
24
mkdir input
vim input/input
abc
def efg
asd
hadoop fs -put input /
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /input /output
此处可能出现一个问题:启动Hadoop时,DataNode启动后一会儿自动消失
原因:因为datanode的clusterID 和 namenode的clusterID 不匹配,出现该问题的原因:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。
解决办法: 1.打开hdfs-site.xml里配置的datanode和namenode对应的目录,分别打开current文件夹里的VERSION,可以看到clusterID项正如日志里记录的一样,确实不一致,修改datanode里VERSION文件的clusterID 与namenode里的一致,再重新启动dfs(执行start-dfs.sh)再执行jps命令可以看到datanode已正常启动。
2. 可能是因为重新格式化集群,但是以前的数据没有清理干净。重新格式化方式如下:
注意:重新格式化HDFS要将hdfs-site.xml中dfs.namenode.name.dir和dfs.datanode.data.dir所指定目录下的内容删除;core-site.xml中hadoop.tmp.dir目录中的内容删除。
然后重新启动hadoop集群,执行hadoop namenode -format
25 关 stop-dfs.sh stop-yarn.sh
26 hadoop-daemon.sh start namenode或datanode
yarn-daemon.sh start resourcemanager或nodemanager
注意: 如果集群出了问题
stop-dfs.sh
stop-yarn.sh
cd $HADOOP_HOME
rm -rf data logs
回到21步骤
虚拟机搭建hadoop集群步骤相关推荐
- 利用闲置电脑安装虚拟机搭建hadoop集群
文章目录 前言 一.虚拟机环境的准备 二.连接虚拟机上的集群 1.整理需要连接的端口 2.配置VMware上虚拟机的端口转发 3.测试连接 总结 前言 本人刚开始学习大数据,记录自己的一些学习笔记.大 ...
- 三台Ubuntu虚拟机搭建 Hadoop集群 (第一次搭)
最近因为要搭Hadoop集群,确实花了好大的心血在里面,因为我的Linux也是前两天速成的,好多东西都还是边查资料边搭.但我最终确实成功了,留了一点点小问题在里面.(当Hadoop集群start-al ...
- 微信棋牌源码虚拟机搭建Hadoop集群
虚拟机搭建Hadoop集群 安装包准备 操作系统:ubuntu-16.04.3-desktop-amd64.iso 软件包:VirtualBox 安装包:hadoop-3.0.0.tar.gz,jdk ...
- 搭建Hadoop集群步骤
--基于三台机器 一.前提 1. 首先要有三台已联网机器,假设为A,B1,B2.其中A:192.168.81.91:B1:192.168.81.92:B2:192.168.81.93.机器装有Ubu ...
- 虚拟机搭建Hadoop集群学习笔记(1)
1.首先下载安装虚拟机,具体步骤.(提供一个我下载的5.1.26版本,度盘链接没失效的话可以戳这里,key:t6wp) 2.下载系统镜像文件,CentOS-7-x86_64-Minimal-1511. ...
- win10虚拟机搭建 Hadoop集群
1 在虚拟机安装centos7 2 安装网络工具 centos7最小化安装没有 ifconfig命令 yum -y install net-tools 3 centos7 修改网卡名字为eth0 修改 ...
- CentOS7搭建Hadoop集群环境
本文章为云计算课程实验总结. 前言 CentOS7虚拟机搭建hadoop集群,共3个节点:master.slave1.slave2 软件:java1.8 hadoop2.6.0 3台虚拟机都装有Cen ...
- 阿里云 ECS 服务器上如何搭建 Hadoop 集群详细步骤图解
1.前言 在讲述Hadoop集群搭建之前,首先要了解Hadoop和集群两个名词,Hadoop是由Apache基金会开发的分布式系统基础架构,简单理解就是大数据技术应用的基础.集群可以理解为多台装有ha ...
- linux hadoop集群搭建,hadoop集群搭建
hadoop集群搭建步骤 实验介绍 下面将要在三台linux虚拟机上搭建hadoop集群. 知识点 linux基本命令 集群安装 完成实验需要以下相关知识 解压命令 tar -zxvf XX.tar. ...
最新文章
- % %和ltscripte runat=server的区别
- 双绞线、同轴电缆和光纤电缆的区别
- mysql workbench入门_5分钟入门MySQL Workbench
- HDU1071_数学几何
- MySql access denied for user错误
- Windows 下使用ftp批处理脚本
- 手把手玩转win8开发系列课程(9)
- Struts2.3.1.2安装
- Microsoft Internet Explorer浏览器包含最新版本的内置Adobe Flash Player的解决办法
- 2021阿里巴巴国际站产品关键词来源(一)
- Mac模拟器进行远程调试
- Unity3d游戏中实现阿拉伯语文字正常显示
- Microsoft Word 教程:如何在 Word 中更改行距?
- 毕业设计| 单片机自动分拣小车(上货/卸货/WIFI识别)
- 在同一台机运行多个mysql 服务 多个主/从在同一主机_在同一台机器上运行多个 MySQL 服务...
- IntelliJ IDEA / Webstorm 2019.3 PJ方法(永久有效)
- 数学建模清风微信公众号的习题答案(挑战篇-数据异常值处理)
- 分布式爬虫系统设计、实现与实战
- 前端笔记之HTML标签学习
- IRLL014NPBFMOSFET N-CH 55V 2A SOT223
热门文章
- 常用快递API接口文档说明
- 【2017】Large-Scale YouTube-8M Video Understanding with Deep Neural Networks借助深度神经网络对YT8M进行大规模视频理解
- 服务号和订阅号链接验证方式(自己根据查看资料整理)
- 课堂练习--0708
- python简单版斗兽棋
- 联想计算机phoenix award bios,Phoenix Award BIOS主板如何设置U盘启动【详解】
- 手机开发平台指南、教程和资料
- python 光标位置输入文字_colorama-用于生成彩色的终端文本和光标定位的python库.tar...
- 关于docker下载镜像失败问题
- Hexo博客换电脑了如何搬移