Hadoop伪分布式模式搭建
title: Hadoop伪分布式模式搭建
Quitters never win and winners never quit.
运行环境:
Ubuntu18.10-server版镜像:ubuntu-18.10-live-server-amd64.iso
Oracle VM VirtualBox
开始操作:
新建虚拟机(当然是用最新版的Ubuntu了,为了提高实用性,建议使用服务器版)
设置虚拟机的网络为默认模式(网络地址转换)或者桥接模式,建议不要使用NAT模式
设置虚拟机端口转发:(主机端口可自己设置,只要不与其他进程冲突即可)
a. 主机9000 虚拟机22 (ssh链接专用端口,建议牢记)
b. 主机9001 虚拟机8088 (hadoop检测端口)
启动虚拟机用SSH连接并配置好:
启动虚拟机(建议无界面启动),打开本地终端,输入命令:
$ ssh -p 9000 username@127.0.0.1 # username是安装镜像是设置的用户名按提示选择yes,输入密码。
选择本地终端的理由:我的本地终端经过美化和自定义,比界面启动的黑框体验好,还有就是为了贴近实际操作环境
# hostname 配置 $ hostname bigdata-senior01.chybinmy.com # 临时修改,省去重启虚拟机 $ vim /etc/hostname # 永久修改,为以后着想 $ bigdata-senior01.chybinmy.com # 将里面的主机名改为bigdata-senior01.chybinmy.com # host 配置 $ ifconfig # 得到当前虚拟机网络地址(inet后面的第一个地址,假设为10.42.0.32) # 配置Host $ vim /etc/hosts $ 10.42.0.32 bigdata-senior01.chybinmy.com # 在文件尾部添加新建hadoop用户:
$ sudo adduser hadoop # 新建hadoop用户,根据提示输入密码切换hadoop用户:
$ su hadoop新建文件夹并将文件夹拥有者改为hadoop:
$ sudo mkdir /opt/modules $ sudo chown -R hadoop:hadoop /opt/modules下载hadoop和JDK并将它们拷贝到/opt/modules/目录下:
$ scp -P 9990 hadoop-2.9.2.tar.gz fofade@127.0.0.1:/opt/modules # jdk类似提示:这里可以用sftp来传文件,我使用的是ubuntu18.04文件管理器自带的sftp传输。
解压文件(hadoop和jdk):
$ tar -zxvf hadoop-2.9.2.tar.gz # jdk解压方法类似 # jdk 解压后如果虚拟机没有java环境的话, # 需要配置java环境,请自行配置!!!配置hadoop:
a. 环境变量:
$ vim /etc/profile $ export HADOOP_HOME="/opt/modules/hadoop-2.9.2" $ export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 执行:source /etc/profile 使得配置生效b. 验证参数:
$ echo $HADOOP_HOME # 值为:/opt/modules/hadoop-2.5.0c. 配置 hadoop-env.sh、mapred-env.sh、yarn-env.sh文件的JAVA_HOME参数:
$ sudo vim ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh 修改JAVA_HOME参数为: $ export JAVA_HOME="/opt/modules/jdk1.8.0_181"d. 配置core-site.xml:
$ sudo vim ${HADOOP_HOME}/etc/hadoop/core-site.xml # 输入该命令# 在<configuration></cinfiguration>中添加以下内容 <property> <name>fs.defaultFS</name> <value>hdfs://bigdata-senior01.chybinmy.com:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/data/tmp</value> </property>e. 创建临时目录:
$ sudo mkdir -p /opt/data/tmp # 创建目录 $ sudo chown -R hadoop:hadoop /opt/data/tmp # 改目录拥有者配置HDFS:
a. 配置hdfs-site.xml:
$ sudo vim ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml # 在<configuration></cinfiguration>中添加以下内容 <property> <name>dfs.replication</name> <value>1</value> </property>b. 格式化HDFS:
$ hdfs namenode -format # 格式化后,查看/opt/data/tmp目录下是否有dfs目录 # 如果有,说明格式化成功c. 检测结果:
# 启动NameNode $ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start namenode # 启动DataNode $ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start datanode # 启动SecondaryNameNode $ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start secondarynamenode # 再运行: $ jps # 如果有类似下面四条结果就是成功了: 3034 NameNode 3233 Jps 3193 SecondaryNameNode 3110 DataNode配置YARN:
a. 配置mapred-site.xml:
$ cp ${HADOOP_HOME}/etc/hadoop/mapred-site.xml.template ${HADOOP_HOME}/etc/hadoop/mapred-site.xml $ sudo vim ${HADOOP_HOME}/etc/hadoop/mapred-site.xml # 在<configuration></cinfiguration>中添加以下内容 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>b. 配置yarn-site.xml:
$ sudo vim ${HADOOP_HOME}/etc/hadoop/yarn-site.xml # 在<configuration></cinfiguration>中添加以下内容 <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>bigdata-senior01.chybinmy.com</value> </property>c. 启动Resourcemanager:
$ ${HADOOP_HOME}/sbin/yarn-daemon.sh start resourcemanagerd. 启动nodemanager:
$ ${HADOOP_HOME}/sbin/yarn-daemon.sh start nodemanagere. 检测:
# 再运行: $ jps # 如果有类似下面六条结果就是成功了: 3034 NameNode 4439 NodeManager 4197 ResourceManager 4543 Jps 3193 SecondaryNameNode 3110 DataNode检查是否成功搭建伪分布式hadoop:
# YARN的Web客户端端口号是8088, # 因为我们设置了虚拟机的端口转发, # 所以只需要主机访问127.0.0.1:9001就可以查看 # 只要成功访问网站则说明搭建成功
搭建心得:
搭建当中最好不要重启虚拟机,如果重启了建议删除hadoop用户重新搭建
如果虚拟机没有配置java环境的话,会提示没有jps这条命令,所以你应当提前自己配置好虚拟机java环境
每次对环境进行修改后,最好使用source /etc/profile更新下配置
可以直接使用${HADOOP_HOME}/sbin/ 下的start_all.sh来快捷开始和stop_all.sh来快捷关闭hadoop服务
Hadoop伪分布式模式搭建的更多相关文章
- Hadoop伪分布式模式部署
Hadoop的安装有三种执行模式: 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置.Hadoop执行在一个Java进程中.使用本地文件系统.不使用HDFS, ...
- 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建
CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...
- CentOS7下Hadoop伪分布式环境搭建
CentOS7下Hadoop伪分布式环境搭建 前期准备 1.配置hostname(可选,了解) 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(p ...
- hadoop伪分布式平台搭建(centos 6.3)
最近要写一个数据量较大的程序,所以想搭建一个hbase平台试试.搭建hbase伪分布式平台,需要先搭建hadoop平台.本文主要介绍伪分布式平台搭建过程. 目录: 一.前言 二.环境搭建 三.命令测试 ...
- 初学者值得拥有【Hadoop伪分布式模式安装部署】
目录 1.了解单机模式与伪分布模式有何区别 2.安装好单机模式的Hadoop 3.修改Hadoop配置文件---五个核心配置文件 (1)hadoop-env.sh 1.到hadoop目录中 2.修 ...
- Hadoop伪分布式环境搭建+Ubuntu:16.04+hadoop-2.6.0
Hello,大家好 !下面就让我带大家一起来搭建hadoop伪分布式的环境吧!不足的地方请大家多交流.谢谢大家的支持 准备环境: 1, ubuntu系统,(我在16.04测试通过.其他版本请自行测试, ...
- Hadoop伪分布式的搭建
主要分为三个步骤:1.安装vmware虚拟机运行软件 2.在vmware虚拟机中安装linux操作系统 3.配置hadoop伪分布式环境 Hadoop环境部署-JDK部分------------ ...
- VM上Hadoop3.1伪分布式模式搭建
https://www.cnblogs.com/asker009/p/9126354.html 最近要搭建一个Hadoop做实验,因为版本的问题遇到不少的坑,本文记录VM上搭建的CentOS7.0+H ...
- 《OD大数据实战》Hadoop伪分布式环境搭建
一.安装并配置Linux 8. 使用当前root用户创建文件夹,并给/opt/下的所有文件夹及文件赋予775权限,修改用户组为当前用户 mkdir -p /opt/modules mkdir -p / ...
随机推荐
- BNUOJ 26228 Juggler
Juggler Time Limit: 3000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 42 ...
- Android BottomSheet:List列表或Grid网格展示(3)
Android BottomSheet:List列表或Grid网格展示(3) BottomSheet可以显示多种样式的底部弹出面板风格,比如常见的List列表样式或者Grid网格样式,以一个例子 ...
- [K/3Cloud]将JSON字符串反序列化为C#动态对象
using Kingdee.BOS.Util; string errString="{/"Row/":1,/"PageId/":/"1234 ...
- .net如何统计在线人数
原文发布时间为:2008-10-17 -- 来源于本人的百度文章 [由搬家工具导入] 统计在线用户的作用不言而喻,就是为了网站管理者可以知道当前用户的多少,然后根据用户数量来观察服务器或者程序的性能, ...
- Floyd算法——保存路径——输出路径 HDU1385
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1385 参考 http://blog.csdn.net/shuangde800/article/deta ...
- TOMCAT加载两次war包(重复加载)
一.问题描述 项目中通过配置Context节点docBase,使docBase指向项目的绝对路径,可以直接通过IP加端口访问,今日发现意外bug,项目中某个功能奇数次执行成功,偶数次执行失败.二.问题 ...
- [bzoj3306]树_dfs序_线段树_倍增lca
树 bzoj-3306 题目大意:给定一颗n个节点的树,支持换根.修改点权.查询子树最小值. 注释:$1\le n,q\le 10^5$. 想法: 如果没有换根操作,就是$dfs$序+线段树维护区间最 ...
- Java DynamoDB 增加、删除、修改、查询
准备jar包 <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sd ...
- 命令行man的帮助手册
http://blog.csdn.net/gatieme/article/details/51656707 指定使用那种语音的手册,可以使用命令选项-M man -M /usr/share/man/z ...
- Android多线程研究(3)——线程同步和相互排斥及死锁
为什么会有线程同步的概念呢?为什么要同步?什么是线程同步?先看一段代码: package com.maso.test; public class ThreadTest2 implements Runn ...