Hadoop大数据初入门----haddop伪分布式安装
一.hadoop解决了什么问题
hdfs 解决了海量数据的分布式存储,高可靠,易扩展,高吞吐量
mapreduce   解决了海量数据的分析处理,通用性强,易开发,健壮性
yarn 解决了资源管理调度
二.hadoop生态系统
分层次讲解----> 最底层平台 hdfs   yarn  mapreduce  spark
---- > 应用层   hbase  hive pig  sparkSQL  nutch 
----> 工具类   zookeeper  flume
三.版本
Apache: 官方版本
Cloudera :使用下载最多的版本,稳定,有商业支持,在Apache的基础上打上了一些patch。推荐使用。
HDP(Hortonworks Data Platform) : Hortonworks公司发行版本。
四、伪分布式安装与配置
1.新建app文件夹(mkdir app)用于存放
2.需要jdk环境,普通用户拥有sudo执行权限,关闭防火墙(service iptables stop)及自启(chkconfig iptables off),修改主机名和IP的映射关系(vim /etc/hosts)

3.上传(hadoop-2.4.1.tar.gz)并解压hadoop包到app文件夹(tar -zxvf hadoop-2.4.1.tar.gz -C app/)
4.可以删除hadoop/share的doc文件夹(文档)节省体积(cd app/hadoop-2.4.1/share/ --> rm -rf doc)
5进入hadoop下的etc目录(cd ../etc/hadoop/)
6.修改(vim hadoop-env.sh )将JAVA_HOME改成固定的(echo $JAVA_HOME命令可以获得javahome路径)
      
7.修改core-site(vim core-site.xml),在configuration中添加
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址,hdfs://后为主机名或者ip地址和端口号 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://jokerq01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录,value为hadoopp下新建的用于存储的文件夹 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/app/hadoop-2.4.1/data</value>
</property>
8.修改hdfs-site(vim hdfs-site.xml ),在configuration中添加
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

9.修改mapred-site名称(mv mapred-site.xml.template mapred-site.xml)
10.修改mapred-site(vim mapred-site.xml),在configuration中添加
<!-- 指定mr运行在yarn上,使在集群上运行 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
11.修改yarn-site,(vim yarn-site.xml ),在configuration中添加
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>jokerq01</value>
</property> <!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
12.将hadoop添加到环境变量(目的可以再任意路径下执行hadoop指令)(vim /etc/profile)(对应修改)(修改完成source /etc/profile)
export JAVA_HOME=/usr/lib/java/jdk1.7.0_55
export HADOOP_HOME=/root/app/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
13.格式化namenode(是对namenode进行初始化)(hadoop namenode -format)

五、启动
1.进入sbin目录(cd ~/app/hadoop-2.4.1/sbin/)
2.启动HDFS(start-dfs.sh)( 可以修改 vim ~/app/hadoop-2.4.1/etc/hadoop/slaves 将localhost改为主机名)
3.启动YARN(start-yarn.sh)
4.使用jps命令验证是否启动成功(jps)

5.可以访问http://192.168.25.151:50070 (HDFS管理界面)(可以修改host文件将ip改为对应的linux机器名)
六、配置ssh免登陆
正常多个机器:
(1-3步骤假设为机器1,机器1中想通过 ssh jokerq01 命令直接连接到jokerq01机器而不需要登录密码的)
1.进入到目录(cd ~/.ssh)
2.执行(ssh-keygen -t rsa)命令 (四个回车,执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥))
3.将公钥拷贝到要免登陆的机器上(需要先修改host文件对应的ip与机器名)(例:scp id_rsa.pub jokerq01:/root)
4.(4-6步骤换到要免登录的机器(jokerq01))(cd ~/.ssh)
5.新建authorized_keys文件(touch authorized_keys)并修改权限(chmod 600 authorized_keys)

6.将拷贝的公钥追加到后面(cat ../id_rsa.pub >> ./authorized_keys)
7.在机器1中通过 (ssh jokerq01) 命令直接登录
伪分布式:
1.(cd ~/.ssh)(ssh-keygen -t rsa)
2.直接追加(cat id_rsa.pub >> authorized_keys)
3.自己连接自己不需要密码(ssh jokerq01)

七、HDFS的JAVA客户端编写()
linux:
1.将linux改为图形界面(内存调大)用来运行eclipse(startx)(失败参考https://blog.csdn.net/baidu_19473529/article/details/54235030)
2.安装eclipse
2.1上传压缩包(eclipse-jee-photon-R-linux-gtk.tar.gz),并解压(可以命令,也可以右键Extract Here)
3.运行文件夹的eclipse(图标不适应可以修改图标),并新建java项目(java project)
4.导入jar包(在hadoop-2.4.1\share\hadoop\hdfs下的hadoop-hdfs-2.4.1.jar,还有hadoop-2.4.1\share\hadoop\hdfs\lib下的所有jar包,hadoop-2.4.1\share\hadoop\common下的hadoop-common-2.4.1.jar,hadoop-2.4.1\share\hadoop\common\lib下的所有jar包)
5.编写测试代码
windows:
1.建项目,导jar包,写代码
2.直接JUnit Test报错,运行需要用户名修改为拥有linux文件可操作权限的用户(右键,run as,run configurations,Arguments,添加-DHADOOP_USER_NAME=root)

也可以FileSystem.get()方法指定用户
FileSystem fs = null;
@Before
public void init() throws Exception{
//读取classpath下的xxx-site.xml 配置文件,并解析其内容,封装到conf对象中
Configuration conf = new Configuration();
//也可以在代码中对conf中的配置信息进行手动设置,会覆盖掉配置文件中的读取的值
conf.set("fs.defaultFS", "hdfs://jokerq01:9000/");
//根据配置信息,去获取一个具体文件系统的客户端操作实例对象
fs = FileSystem.get(new URI("hdfs://jokerq01:9000/"),conf,"root"); }
Hadoop大数据初入门----haddop伪分布式安装的更多相关文章
- 【HADOOP】| 环境搭建:从零开始搭建hadoop大数据平台(单机/伪分布式)-下
		因篇幅过长,故分为两节,上节主要说明hadoop运行环境和必须的基础软件,包括VMware虚拟机软件的说明安装.Xmanager5管理软件以及CentOS操作系统的安装和基本网络配置.具体请参看: [ ... 
- Zookeeper 初体验之——伪分布式安装(转)
		原文地址: http://blog.csdn.net/salonzhou/article/details/47401069 简介 Apache Zookeeper 是由 Apache Hadoop 的 ... 
- 【每天五分钟大数据-第一期】 伪分布式+Hadoopstreaming
		说在前面 之前一段时间想着把 LeetCode 每个专题完结之后,就开始着手大数据和算法的内容. 想来想去,还是应该穿插着一起做起来. 毕竟,如果只写一类的话,如果遇到其他方面,一定会遗漏一些重要的点 ... 
- Hadoop大数据平台入门——HDFS和MapReduce
		随着硬件水平的不断提高,需要处理数据的大小也越来越大.大家都知道,现在大数据有多火爆,都认为21世纪是大数据的世纪.当然我也想打上时代的便车.所以今天来学习一下大数据存储和处理. 随着数据的不断变大, ... 
- [Hadoop大数据]--kafka入门
		问题导读: 1.zookeeper在kafka的作用是什么? 2.kafka中几乎不允许对消息进行“随机读写”的原因是什么? 3.kafka集群consumer和producer状态信息是如何保存的? ... 
- Hadoop系列(二)hadoop2.2.0伪分布式安装
		一.环境配置 安装虚拟机vmware,并在该虚拟机机中安装CentOS 6.4: 修改hostname(修改配置文件/etc/sysconfig/network中的HOSTNAME=hadoop),修 ... 
- 单机,伪分布式,完全分布式-----搭建Hadoop大数据平台
		Hadoop大数据——随着计算机技术的发展,互联网的普及,信息的积累已经到了一个非常庞大的地步,信息的增长也在不断的加快.信息更是爆炸性增长,收集,检索,统计这些信息越发困难,必须使用新的技术来解决这 ... 
- Hadoop大数据学习视频教程  大数据hadoop运维之hadoop快速入门视频课程
		Hadoop是一个能够对大量数据进行分布式处理的软件框架. Hadoop 以一种可靠.高效.可伸缩的方式进行数据处理适用人群有一定Java基础的学生或工作者课程简介 Hadoop是一个能够对大量数据进 ... 
- hadoop大数据平台安全基础知识入门
		概述 以 Hortonworks Data Platform (HDP) 平台为例 ,hadoop大数据平台的安全机制包括以下两个方面: 身份认证 即核实一个使用者的真实身份,一个使用者来使用大数据引 ... 
随机推荐
- python学习笔记14-函数
			使用关键字def来创建函数 注意缩进 函数命名规则: 1.必须以下划线或者字母开头 2.区分大小写 3.不能是保留字 调用函数一定记得加括号 def print_info(name,age) pri ... 
- 使用命令行工具npm新创建一个vue项目
			使用vue开发项目的前期工作可以参考前面写的: Vue环境搭建及node安装过程整理 Vue.js 提供一个官方命令行工具,可用于快速搭建大型单页应用.该工具提供开箱即用的构建工具配置,带来现代化的 ... 
- tcpdump命令抓包参数
			在 Linux 命令行中使用 tcpdump 抓包 通过实例学习tcpdump命令 聊聊 tcpdump 与 Wireshark 抓包分析 tcpdump常用参数 -n 显示IP地址和端口号 -v 显 ... 
- switch...case... 语句中的类型转换
			switch语句对case表达式的结果类型有如下要求: 要求case表达式的结果能转换为switch表示式结果的类型 并且如果switch或case表达式的是无类型的常量时,会被自动转换为此种常量的默 ... 
- web socket 入门
			WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议,其优雅地解决了以往web服务器不能向web客户端实时推送消息的问题. 在浏览器js环境中,创建一个websock ... 
- 7-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(TCP实现HTTP访问下载文件,明白底层如何实现的,地基稳才踏实)
			看了好多文章.....唉,还是自己亲自动手用网络监控软件测试吧 先看这个节安装WEB服务器.....安装好以后就可以用HTTP访问电脑文件了 6-STM32物联网开发WIFI(ESP8266)+GPR ... 
- shell 终端terminfo命令 tput
			tput命令 tput 可以更改终端功能,如移动或更改光标,更改文本属性,清除终端屏幕的特定区域等. 光标属性 在shell脚本或命令行中,可以利用tput命令改变光标属性. tput clear # ... 
- 安装eclipse启动时报错
			1.在安装eclipse后,点击exe文件时,提示出现错误,记录在log文件中,因为log文件就是日志文件,可以方便我们排查错误,打开log文件,可以看到文件记录了每次出错的时间和错误栈信息,最新一次 ... 
- android开发学习——day2
			简单了解了android stdio的操作方式,今天着手于探究活动(Activity) 了解了基本活动与手动创建活动的方法,了解了onCreate()方法,了解了创建和加载页面布局(layout) 新 ... 
- 《Java多线程编程核心技术》——多线程与同步
			Java多线程 线程可以理解为是在进程中独立运行的子任务. Java多线程 使用方法 Java中实现多线程主要有以下两种方法: 继承Thread,而后实例化该对象调用start()即启动了新线程; 实 ... 
