Hadoop环境搭建(centos)
Hadoop环境搭建(centos)
本平台密码83953588abc
配置Java环境
- 下载JDK(本实验从/cgsrc 文件中复制到指定目录)
mkdir /usr/local/java
cp /cgsrc/jdk-8u171-linux-x64.tar.gz /usr/local/java/
JDK至少1.8以上!!!
- 解压JDK安装包
cd /usr/local/java
tar -zxvf jdk-8u171-linux-x64.tar.gz
rm -f jdk-8u171-linux-x64.tar.gz
- 添加环境变量
配置JAVA_HOME环境变量。修改文件vim ~/.bashrc
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar
export PATH=$PATH:${JAVA_HOME}/bin
如果PATH环境变量修改错误,则可能出现Linux常用命令无法找到的现象!!!
使修改环境生效,source ~/.bashrc.
检查是否设置正确.
echo $JAVA_HOME #检查变量值
java -version #查看java版本
配置分布式模式
选定一台机器作为名称节点(Master),另外两条作为数据节点(Slave)。
配置hosts文件
在Master上修改/etc/hosts文件:
使用命令vim /etc/hosts
ip1 master
ip2 slave1
ip3 slave2
测试节点之间是否已经联通:
ping master -c 3
ping slave1 -c 3
ping slave2 -c 3
配置SSH无密码登录
- 必须要让master节点可以SSH无密码登录到各个节点上。首先,生成master节点的公匙,如果之前已经生成过公匙,必须删除原来的公匙,重新生成一次,命令如下:
cd ~/.ssh #如果没有该目录,先执行一次ssh localhost
rm -f ./id_rsa* #删除之前生成的公匙
ssh-keygen -t rsa #执行该命令后,遇到提示信息,均按Enter即可。
为了让master节点能无密码SSH登录到本机,需要在mater节点上执行如下
cat ./id_rsa.pub >> ./authorized_keys.
检测是否成功,ssh master,遇到提示信息,yes即可,exit退出。把master上的公匙传输到slave节点:
scp ~/.ssh/id_rsa.pub root@slave1:/root
scp ~/.ssh/id_rsa.pub root@slave1:/root
其中本次实验平台,要把slave1、slave2换成相应的IP。
- 传输完成后在slave1和slave2节点上将SSH公匙加入授权:
mkdir ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authoried_keys
rm -f ~/id_rsa.pub
配置环境变量
将Hadoop安装包复制到
/usr/local目录上:
cp /cgsrc/hadoop-2.7.1.tar.gz /usr/local/解压
cd /usr/local
tar -zxvf hadoop-2.7.1.tar.gz
rm -f hadoop-2.7.1.tar.gz
mv hadoop-2.7.1/ hadoop #将hadoop-2.7.1重命名为hadoop
- 配置环境变量
- 打开
~/.bashrc文件
vim ~/.bashrc - 输入以下内容
export PATH=$PATH:/usr/1ocal/hadoop/bin:/usr/1ocal/hadoop/sbin - 文件生效
source ~/.bashrc - 查看hadoop版本
hadoop version
- 打开
配置集群环境
配置集群环境时,需要修改/usr/local/hadoop/etc/hadoop目录下的配置文件,这里仅设置正常启动必须的设置项,包括slaves、core-site.xml、hdfs
-site.xml、mapred-site.xml、yarn-site.xml共五个文件。
- 修改文件slaves
需要把所有数据节点的主机名写入该文件,每行一个,默认为localhost
(即把本机作为数据节点)。在进行集群配置时,可以保留localhost,让master节点同时充当名称节点和数据节点,也可以删除localhost这行,让master节点仅作为名称节点使用。
本节让master节点仅作为名称节点使用,因此将slaves文件中原来的内容删除,添加如下内容:
slave1
slave2 - 修改文件core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/1ocal/hadoop/tmp</value>
</property>
</configuration>
- 修改文件hdfs-site.xml
对于Hadoop的分布式文件系统HDFS而言,一般是采用元余存储,冗余因子一般是3,也就是说一份数据保存3份副本。而我们只有两个数据节点,即数据只能保存两份,所以,dfs.replication设置为2,文件具体内容如下:
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/1ocal/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/1ocal/hadoop/tmp/dfs/date</value>
</property>
</configuration>
- 修改文件mapred-site.xml
/usr/local/hadoop/etc/hadoop 目录下有一个mapred-site.xml.template,需要复制该文件为mapred-site.xml:
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
- 修改文件yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置slave节点
将master节点上的/usr/local/hadoop复制到slave节点上。
cd /usr/local
rm -rf ./hadoop/tmp #删除临时文件
rm -rf ./hadoop/1ogs/* #删除日志文件
tar -zcf ~/hadoop.master.tar.gz. /hadoop #先压缩再复制
cd ~
scp ./hadoop.master.tar.gz root@slave1: /root
scp ./hadoop.master.tar.gz root@slave2: /root
在slave1和slave2上执行如下命令:
rm -rf usr/local/hadoop #如果有旧文件则先删除
tar -zxf ~/hadoop.master.tar.gz -C /usr/1ocal
rm -f ~/hadoop.master.tar.gz
启动Hadoop集群
- 首次启动Hadoop集群时,需要先在
master节点执行名称节点的格式化:
hdfs namenode-format - 现在可以启动Hadoop了,启动需要在master节点上进行,执行如下命令:
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
Hadoop环境搭建(centos)的更多相关文章
- hadoop环境搭建之关于NAT模式静态IP的设置 ---VMware12+CentOs7
很久没有更新了,主要是没有时间,今天挤出时间验证了一下,果然还是有些问题的,不过已经解决了,就发上来吧. PS:小豆腐看仔细了哦~ 关于hadoop环境搭建,从单机模式,到伪分布式,再到完全分布式,我 ...
- 环境搭建-CentOS集群搭建
环境搭建-CentOS集群搭建 写在前面 最近有许多小伙伴问我,大数据的hadoop分布式集群该如何去搭建.所以,想着,就写一篇博客,帮助到更多刚入门大数据的人.本博客会一步一步带你实现一个Hadoo ...
- 转 史上最详细的Hadoop环境搭建
GitChat 作者:鸣宇淳 原文:史上最详细的Hadoop环境搭建 关注公众号:GitChat 技术杂谈,一本正经的讲技术 [不要错过文末活动哦] 前言 Hadoop在大数据技术体系中的地位至关重要 ...
- 【转】RHadoop实践系列之一:Hadoop环境搭建
RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...
- eclipse工具下hadoop环境搭建
eclipse工具下hadoop环境搭建: window10操作系统中搭建eclipse64开发系统,配置hadoop的eclipse插件,让eclipse可以查看Hdfs中的文件内容. ...
- 大数据学习之Hadoop环境搭建
一.Hadoop的优势 1)高可靠性:因为Hadoop假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理. 2)高扩展性:在集群间分配任务数据,可方便的 ...
- Hadoop环境搭建、启动和管理界面查看
一.hadoop环境搭建: 1. hadoop 6个核心配置文件的作用:core-site.xml:核心配置文件,主要定义了我们文件访问的格式 hdfs://hadoop-env.sh:主要配置我们的 ...
- Ubuntu中Hadoop环境搭建
Ubuntu中Hadoop环境搭建 JDK安装 方法一:通过命令行直接安装(不建议) 有两种java可以安装oracle-java8-installer以及openjdk (1)安装oracle-ja ...
- Linux集群搭建与Hadoop环境搭建
今天是8月19日,距离开学还有15天,假期作业完成还是遥遥无期,看来开学之前的恶补是躲不过了 今天总结一下在Linux环境下安装Hadoop的过程,首先是对Linux环境的配置,设置主机名称,网络设置 ...
随机推荐
- Mysql常用sql语句(二)- 操作数据表
21篇测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html ...
- 粒子群优化算法(PSO)之基于离散化的特征选择(FS)(三)
作者:Geppetto 前面我们介绍了特征选择(Feature Selection,FS)与离散化数据的重要性,总览的介绍了PSO在FS中的重要性和一些常用的方法,介绍了FS与离散化的背景,介绍本文所 ...
- 干净直接安装+PS下载
PS CS6 https://www.cr173.com/soft/247727.html 直接一键安装,很方便干净. 不要去华军软件下,广告浪费时间. 链接:https://pan.baidu.co ...
- WePY的开发环境的安装
2020-03-24 1.安装Node.js 官网:https://nodejs.org/ 两个版本 LTS为稳定的长期支持版本 Current为最新的版本 安装完毕后,cmd下输入 node -v ...
- coding++:maven根据不同的运行环境,打包不同的配置文件
1.使用maven管理项目中的依赖,非常的方便.同时利用maven内置的各种插件,在命令行模式下完成打包.部署等操作,可方便后期的持续集成使用. 2.但是每一个maven工程(比如web项目),开发人 ...
- 【springmvc thymeleaf】springmvc整合thymeleaf
概述 Thymeleaf提供了一组Spring集成,使您可以将其用作Spring MVC应用程序中JSP的全功能替代品. 这些集成将使您能够: @Controller像使用JSP一样,将Spring ...
- spring中BeanPostProcessor之一:InstantiationAwareBeanPostProcessor(01)
在spring中beanPostProcessor绝对是开天辟地的产物,给了程序员很多自主权,beanPostProcessor即常说的bean后置处理器. 一.概览 先来说下Instantiatio ...
- [ASP.NET Core MVC] 如何实现运行时动态定义Controller类型?
昨天有个朋友在微信上问我一个问题:他希望通过动态脚本的形式实现对ASP.NET Core MVC应用的扩展,比如在程序运行过程中上传一段C#脚本将其中定义的Controller类型注册到应用中,问我是 ...
- iOS 编程之UIWindow切换
由于最近项目需要制作一个可定制的底部弹窗效果,因此研究了一下UIActionSheet,打算重写一个自定义的弹窗,在写demo的时候出于偷懒的原因,直接在新建项目的 - (void)viewDidLo ...
- 读者来信 | 如何判断HBase Major Compact是否执行完毕?(已解决)
前言:之前有朋友加好友与我探讨一些问题,我觉得这些问题倒挺有价值的:于是就想在本公众号开设一个问答专栏,方便技术交流与分享,专栏名就定为:<读者来信>.欢迎关注本人微信公众号<HBa ...