大数据学习系列(7)-- hadoop集群搭建
1、配置ssh免登陆
#进入到我的home目录
cd ~/.ssh
ssh-keygen -t rsa
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id localhost
---------------------------
ssh免登陆:
生成key:
ssh-keygen
复制从A复制到B上:
ssh-copy-id B
验证:
ssh localhost/exit,ps -e|grep ssh
ssh A #在B中执行
2、安装JDK
2.1 wget 下载jdk tar包
2.2 解压jdk
#创建文件夹
mkdir /home/hadoop/app
#解压
tar -zxvf jdk1.8.0_144.tar.gz -C /home/hadoop/app
2.3 将java添加到环境变量中
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
3.安装hadoop2.8.3先上传hadoop的安装包到服务器上去/home/hadoop/
注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
伪分布式需要修改如下配置文件: 3.1配置hadoop
第一个:hadoop-env.sh
vim hadoop-env.sh
# 修改jdk环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_144 第二个:core-site.xml <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.8.3/tmp</value>
</property> 第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property> <property>
<name>dfs.secondary.http.address</name>
<value>192.168.1.152:50090</value>
</property> 第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property> 第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> 3.2 将hadoop添加到环境变量 vim /etc/proflie
export JAVA_HOME=/usr/java/jdk1.8.0_144
export HADOOP_HOME=/itcast/hadoop-2.8.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile 3.3 格式化namenode(是对namenode进行初始化)
hdfs namenode -format (hadoop namenode -format) 3.4 启动hadoop
先启动HDFS
sbin/start-dfs.sh 再启动YARN
sbin/start-yarn.sh 3.5 验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode http://node1:50070 (HDFS管理界面)
http://node1:8088 (MR管理界面)
注意:
1、确保集群节点防火墙关闭 2、datanode可以正常启动,但是就是无法与namenode通讯,查看logs/下日志,会发现: Unable to connect to remote host:Connection refused
namenode下/etc/hosts 中有127.0.1.1(它监听的本地地址,是一个本地回环地址)
本地模式
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.8.3/hadoop-2.8.3.tar.gz
#解压到/opt/moudles
tar -zxf hadoop-2.8.3/hadoop-2.8.3.tar.gz -C /opt/moudles
cd /opt/moudles/hadoop-2.8.3
mkdir wcinput
touch wc.input
vim wc.input #写入一些单词
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.3.jar wordcount wcinput wcoutput
伪分布式
# hadoop中创建一个临时目录
mkdir data
mkdir data/tmp
# core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://aly_ye:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/moudles/hadoop-2.8.3/data/tmp</value>
</property>
</configuration>
# hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
# 启动namenode
sbin/hadoop-daemon.sh start namenode
# 启动datanode
sbin/hadoop-daemon.sh start datanode
官方文档:http://hadoop.apache.org/docs/r2.8.3/hadoop-project-dist/hadoop-common/SingleCluster.html
hdfs垃圾回收
在core-site.xml配置垃圾回收时间:
<configuration>
<property>
<name>fs.trash.interval</name>
<value>1000</value>
</property>
</configuration>
启动方式
1、hadoop-daemon.sh、yarn-daemon.sh 逐一启动
2、start-dfs.sh、start-yarn.sh 分开启动(比较常用)
3、start-all.sh 一起启动
大数据学习系列(7)-- hadoop集群搭建的更多相关文章
- 大数据学习系列之六 ----- Hadoop+Spark环境搭建
引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...
- 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)
引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...
- 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...
- 大数据学习路线:Zookeeper集群管理与选举
大数据技术的学习,逐渐成为很多程序员的必修课,因为趋势也是因为自己的职业生涯.在各个技术社区分享交流成为很多人学习的方式,今天很荣幸给我们分享一些大数据基础知识,大家可以一起学习! 1.集群机器监控 ...
- [大数据学习研究] 3. hadoop分布式环境搭建
1. Java安装与环境配置 Hadoop是基于Java的,所以首先需要安装配置好java环境.从官网下载JDK,我用的是1.8版本. 在Mac下可以在终端下使用scp命令远程拷贝到虚拟机linux中 ...
- 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法
前言 在搭建大数据Hadoop相关的环境时候,遇到很多了很多错误.我是个喜欢做笔记的人,这些错误基本都记载,并且将解决办法也写上了.因此写成博客,希望能够帮助那些搭建大数据环境的人解决问题. 说明: ...
- 大数据学习路线:Hadoop集群同步技术分享
今天给大家带来的技术分享是——Hadoop集群同步. 一.同步方式 选择一个机器,作为时间服务器(这里选择hadoop01),所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间. ...
- 大数据学习系列之二 ----- HBase环境搭建(单机)
引言 在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境 环境准备 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内 ...
- 大数据(2)---HDFS集群搭建
一.准备工作 1.准备几台机器,我这里使用VMware准备了四台机器,一个name node,三个data node. VMware安装虚拟机:https://www.cnblogs.com/niju ...
- spark学习1(hadoop集群搭建)
把原先搭建的集群环境给删除了,自己重新搭建了一次,将笔记整理在这里,方便自己以后查看 第一步:安装主节点spark1 第一个节点:centos虚拟机安装,全名spark1,用户名hadoop,密码12 ...
随机推荐
- BAT文件使程序具有以系统权限运行的效果
@echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.sh ...
- depth linear
float ConvertDepth( float depthFromTex, float4 cameraParams ){ const float near = cameraParams.z; co ...
- c:foreach如何输出序号
关键在于<c:forEach>的varStatus属性,具体代码如下: <table width="500" border="0" cells ...
- ECSHOP搜索框文字点击消失
<input name="keywords" type="text" id="keyword" value="黄山金银币&q ...
- Android开发Tips(2)
欢迎Follow我的GitHub, 关注我的CSDN. 我会介绍关于Android的一些有趣的小知识点. 上一篇. 1. Dagger2的开发顺序 Module -> Component -&g ...
- Android之TextView的Span样式源代码剖析
Android中的TextView是个显示文字的的UI类.在现实中的需求中,文字有各式各样的样式,TextView本身没有属性去设置实现.我们能够通过Android提供的 SpannableStrin ...
- 单一按钮显示/隐藏&&提示框效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- vscode - 安装离线插件
打开网站(示例): https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow 下载扩展 vscode 安装离 ...
- eclipse maven tools.jar找不到y也就是在这个
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile ...
- vue slot slot-scope
https://segmentfault.com/a/1190000012996217 插槽,也就是slot,是组件的一块HTML模板,这块模板显示不显示.以及怎样显示由父组件来决定. 实际上,一个s ...