Linux环境下配置及启动Hadoop(伪集群)
1.下载tag软件包后,我习惯放到software文件夹下,并建立app文件夹
2.通过tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C ~/app/ 命令解压到app目录下
3.配置环境变量:通过vim ~/.bash_profile进行编辑
export HADOOP_HOME=/home/安装目录/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:$PATH
4.使用source命令使修改立即生效source ~/.bash_profile,打印出环境变量:echo $HADOOP_HOME
5.在etc/hadoop目录下 vim hadoop-env.sh,配置export JAVA_HOME=/usr/lib/jvm/java-8-oracle
6.在etc/hadoop目录下 vim core-site.xml 配置
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://主机名:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/目录/app/tmp</value>
</property>
</configuration>
7.在etc/hadoop目录下 vim hdfs-site.xml 配置
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/目录/app/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/目录/app/tmp/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
8.在etc/hadoop目录下没有mapred-site.xml文件需要通过拷贝一个 mapred-site.xml.template cp mapred-site.xml.template mapred-site.xml 并使用vim mapred-site.xml进行编译
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
9.在etc/hadoop目录下 vim yarn-site.xml 配置
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
以上配置完成后需要的NameNode进行格式化
操作位置:hadoop的安装目录下bin文件夹执行./hdfs namenode -format或者./hadoop namenode -format
注意:启动HDFS后,如果没有namenode节点或datanode节点,需要删除tmp目录下的所有文件之后重新格式化,另重新启动linux系统后hdfs不会启动。
因为Hadoop集群分布时需要设置SSH免密码登陆
/.ssh/id_rsa.pub ~/.ssh/authorized_keys
查看主机名:hostname可以查看到当前主机的主机名
另:删除用户:sudo userdel -r 用户名
判断是否真正删除:cat /etc/passwd,中没有用户信息
ifconfig查看IP地址确定对应的主机名
sudo vi /etc/hosts,如果IP地址修改,需要对应上
启动hdfs:在hadoop/sbin/目录下./start-dfs.sh,会有3个进程namenode,datanode,secondarynamenode
HDFS的web访问方式:http://hadoop(主机名):50070
然后通过jps验证3个节点是否启动成功,然后使用命令hadoop -fs -ls /查看目录是否存在。
启动yarn:在hadoop/sbin/目录下./start-yarn.sh,会有2个进程resourcename,nodemanager,通过jps验证2个节点是否启动成功
web访问yarn方式:http://hadoop(主机名):8088
hadoop包括3部分:HDFS,YARN,MapReduce
2、什么是hadoop?
一个分布式系统基础架构,充分利用集群的高速运算和存储。
Hadoop Distributed File System(HDFS) 分布式存储
YARN是资源调度平台
MapReduce是分布式计算
3、企业选择Hadoop作为大数据平台的原因?
1)源码开放
2)社区活跃、参与者众多
3)设计到分布式存储和计算:
Flume进行数据采集
Spark/MR/Hive数据处理
HDFS/HBase数据存储
4)已经得到企业的验证
4、HDFS设计目标
非常巨大的分布式文件系统
运行在普通的廉价的硬件上
易扩展、为用户提供性能不错的文件存储服务
5、HDFS架构
1、Master(NameNode/NN) 对应 N个Slaves(DataNode/NN)
2、一个文件会被拆分成多个块(Block)
默认:128M
例: 130M ==> 128M + 2M
3、NameNode、DataNode负责内容:
NN:
1)负责客户端请求的响应
2)负责元数据(文件名称、副本系数、Block存放的DN)的管理
DN:
1)存储用的文件对应的数据块(Block)
2)定期向NN发送心跳信息(默认3秒),汇报本身及其所有的Block信息,健康状况
4、 重要提示:
A typical deployment has a dedicated machine that runs only the NameNode software.
Each of the other machines in the cluster runs one instance of the DataNode software.
The architecture does not preclude running multiple DataNodes on the same machine
but in a real deployment that is rarely the case.
一个典型的部署有一个专用的机器,它只运行NAMENODE软件。
群集中的每个其他机器运行DATEAON软件的一个实例。
架构不排除在同一台机器上运行多个数据流。
但在实际部署中,情况很少。 #不建议这种操作
NameNode + N个DataNode
建议:NameNode、DataNode分布在单独的节点中
2)replication factor 副本系数、副本因子
3)All blocks in a file except the last block are the same size
除了最后一个块之外,文件中的所有块都是相同大小的
HDFS相关配置:
hadoop-env.sh,core-site.xml,hdfs-site.xml3个配置文件进行修改
机器参数配置
hostname:主机名
修改机器名:/etc/sysconfig/network
NETWORK=yes
HOSTNAME=主机名
设置IP和hostname的映射关系:IP地址:主机名
SSH免密码登录:
ssh-keygen -t rsa
5、HDFS优缺点
优点:
高容错
适合批处理
适合大数据处理
可构建在廉价机器上
缺点:
低延迟访数据访问
不适合小文件存储
6、MapReduce
1、特点
1)易于编程
2)良好的扩展性
3)高容错性
4)海量数据的离线处理
2、不擅长场景
1)实时计算
2)流式计算
3)DAG(有向无环图)计算
Linux环境下配置及启动Hadoop(伪集群)的更多相关文章
- linux环境下redis安装(redis伪集群搭建)
redis在linux环境下搭建 1.创建目录 [root@192 local]# mkdir /usr/local/redis 2.下载redis,并解压 [root@192 local]# wge ...
- 阿里云ECS服务器Linux环境下配置php服务器(二)--phpMyAdmin篇
上一篇讲了PHP服务器的基本配置,我们安装了apache,php,还有MySQL,最后还跑通了一个非常简单的php页面,有兴趣的朋友可以看我的这篇博客: 阿里云ECS服务器Linux环境下配置php服 ...
- Hadoop - Mac OSX下配置和启动hadoop以及常见错误解决
0. 安装JDK 参考网上教程在OSX下安装jdk 1. 下载及安装hadoop a) 下载地址: http://hadoop.apache.org b) 配置ssh环境 在terminal里面输入: ...
- linux环境下配置虚拟主机域名
linux环境下面配置虚拟主机域名 第一步:在root目录下面(即根目录)ls(查看文件)cd进入etc目录find hosts文件vi hosts 打开hosts文件并进行编辑在打开的文件最下面添加 ...
- 如何在linux环境下配置环境变量
jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在linux环 ...
- java:redis(redis安装配置,redis的伪集群配置)
1.redis安装配置: .安装gcc : yum install gcc-c++ .使用FTP工具FileZilla上传redis安装包到linux根目录下(当前步骤可以替换为:在root目录下执行 ...
- Redis学习笔记一(Redis的详细安装及Linux环境变量配置和启动)
Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 我使用的是下面这个版本: 若没有资源的话,我在 ...
- linux环境下配置solr5.3详细步骤
本人上周五刚刚配置了一遍centos下配置solr5.3版本,综合借鉴并改进了一些教程,贴出如下 单位使用内网,本教程暂无截图,抱歉 另,本人是使用.net编程调用solr的使用的是solrnet,在 ...
- Hadoop单节点启动分布式伪集群
emm~ 写这篇博客只是手痒,因为开发环境用单节点就够了,生产环境肯定是真实集群,所以这个伪分布式纯属娱乐而已. 配置HDFS1. 安装好一台hadoop,可以参考这篇博客.2. 在hadoop目录下 ...
随机推荐
- django 把函数装饰器变为方法装饰器
暗暗啊
- JVM优化-JVM参数配置
配置方式: java [options] MainClass [arguments] options - JVM启动参数. 配置多个参数的时候,参数之间使用空格分隔. 参数命名: 常见为 -参数名 参 ...
- Linux模拟僵尸进程并kill
模拟系统有僵尸进程后怎么解决 僵尸进程 #include <stdio.h> #include <sys/types.h> int main() { //fork a chil ...
- Android之udp传输
注意除了添加Internet权限外,还要添加两行代码 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDi ...
- [c/c++] programming之路(8)、汇编、求模、自增自减
一.插入汇编 #include<stdio.h> void main(){ ; num=num+; //插入汇编语言 _asm{ mov eax,num;//eax是一个存储器,将num的 ...
- opencv学习之路(3)、批量读取图片、视频分解、视频合成
一.批量有序读取图片 #include<opencv2/opencv.hpp> using namespace cv; void main() { //批量读取图片(有序) ]; ]; M ...
- webpack --watch和supervisor的不同
webpack --watch只是热打包,也就是前端代码的热加载,要实现后端代码的热加载,也就是热部署,需要使用supervisor 如何使用热部署可以参考这里:http://www.cnblogs ...
- Link Cut Tree学习笔记
从这里开始 动态树问题和Link Cut Tree 一些定义 access操作 换根操作 link和cut操作 时间复杂度证明 Link Cut Tree维护链上信息 Link Cut Tree维护子 ...
- VC++ 使用ShellExecute函数调用邮箱客户端发送邮件(可以带附件)
之前写过一篇博文,通过MAPI实现调用邮箱客户端发送邮件带附件,当时对ShellExecute研究不深,以为ShellExecute不能带附件,因为项目需求原因(MAPI只能调用Foxmail和O ...
- 【Python025-字典】
一.字典 1.创建和访问字典(字典是大括号表示,字典是映射类型) 语法类型:键:key,值:value,用冒号隔开 --- >>> dict1 = {'李宁':'一切皆有可能','耐 ...