Hadoop--设置单一节点集群
目的
这篇文档描述如何安装和配置一个单一节点的Hadoop,以便你可以快速使用hadoop mapreduce和Hadoop Distributed File System (HDFS)的一些简单操作。
先决条件
支持平台
- GNU/Linux 是受支持的开发和生成平台。Hadoop已经证明了2000各节点的GNU/Linux 集群。
- Windows也是受支持的平台,但是一下步骤只是用于Linux。要在Windows上安装,情况 wiki page。
所需软件
Linux平台所需软件包括:
- Java。推荐的Java版本在 HadoopJavaVersions中描述。
- ssh必须安装。推荐安装pdsh。
安装软件
如果你还没有安装这些软件:
$ sudo apt-get install ssh
$ sudo apt-get install pdsh
下载
获取最新的Hadoop发行版,从Apache Download Mirrors中选一个最新的稳定版下载。
准本开始Hadoop集群
解压下载的Hadoop,编辑etc/hadoop/hadoop-env.sh定义一些参数如下:
# set to the root of your Java installation
export JAVA_HOME=/usr/java/latest
试下下面命令:
$ bin/hadoop
此处会显示hadoop脚本用法。
现在你已经准备好了,Hadoop集群支持三种模式之一:
- Local (Standalone) Mode(本地模式)
- Pseudo-Distributed Mode(为分布模式)
- Fully-Distributed Mode(全分布模式)
Standalone操作
默认情况下,Hadoop是以一个Java进程运行为非分布模式,有利于调试。
下面示例复制解压的conf文件夹作为输入,然后查找显示每个匹配正则表达式的项,输出结果写到到output文件夹。
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha2.jar grep input output 'dfs[a-z.]+'
$ cat output/*
Pseudo-Distributed 操作
Hadoop也可以伪分布的方式运行在一个节点中,每个Hadoop进程运行在单独的Java进程中。
配置
使用如下
etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
设置ssh密码
现在检查你是否可以不需要密码使用ssh登陆到本地。
$ ssh localhost
如果ssh需要密码登陆,执行下面命令:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
执行
下面的说明是在本地运行MapReduce作业。如果你想基于YARN运行作业,请看YARN on Single Node.
- 格式化文件系统:
$ bin/hdfs namenode -format
- 启动NameNode守护进程和DataNode守护进程:
$ sbin/start-dfs.sh
hadoop守护进程日志写在$HADOOP_LOG_DIR文件夹中(默认是 $HADOOP_HOME/logs)。
3. 浏览NameNode的web接口;默认在:
NameNode - http://localhost:9870/
- 为需要运行的MapReduce作业创建HDFS文件夹:
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
- 把input文件复制到分布式文件夹中:
$ bin/hdfs dfs -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input
- 运行一些提供实例:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha2.jar grep input output 'dfs[a-z.]+'
- 检查输出文件:把分布式文件系统中的输出文件拷贝到本地文件系统然后查看:
$ bin/hdfs dfs -get output output
$ cat output/*
或者
直接在分布式文件系统中浏览:
$ bin/hdfs dfs -cat output/*
- 完成后,关闭守护进程:
$ sbin/stop-dfs.sh
YARN on a Single Node
你可以在伪分布模式上通过设置一些参数和启动ResourceManager和NodeManager 守护进程执行基于YARN的MapReduce作业。
以下说明假设你已经执行完上面1-4步骤。
- 配置参数如下:
etc/hadoop/mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
etc/hadoop/yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
- 启动ResourceManager和NodeManager守护进程:
$ sbin/start-yarn.sh
- 浏览ResourceManager的web接口,默认是:
ResourceManager - http://localhost:8088/
- 运行一个MapReduce作业。
- 当你完成后,关闭守护进程:
$ sbin/stop-yarn.sh
全分布操作
对于安装全分布而不是测试的集群的信息,请看集群安装。
Hadoop--设置单一节点集群的更多相关文章
- Hadoop学习笔记(两)设置单节点集群
本文描写叙述怎样设置一个单一节点的 Hadoop 安装.以便您能够高速运行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 參考官方文档:Hadoo ...
- CentOS7搭建hadoop2.6.4双节点集群
环境: CentOS7+SunJDK1.8@VMware12. NameNode虚拟机节点主机名:master,IP规划:192.168.23.101,职责:Name node,Secondary n ...
- Hadoop-2.2.0中国文献——MapReduce 下一代 —配置单节点集群
Mapreduce 包 你需从公布页面获得MapReduce tar包.若不能.你要将源代码打成tar包. $ mvn clean install -DskipTests $ cd hadoop-ma ...
- Ambari安装之部署单节点集群
前期博客 大数据领域两大最主流集群管理工具Ambari和Cloudera Manger Ambari架构原理 Ambari安装之Ambari安装前准备(CentOS6.5)(一) Ambari安装之部 ...
- Hyperledger Fabric 1.0 从零开始(六)——创建Fabric多节点集群
4:创建Fabric多节点集群 4.1.配置说明 首先可以根据官方Fabric自带的e2e_cli列子中的集群方案来生成我们自己的集群,与案例不同的是我们需要把容器都分配到不同的服务器上,彼此之间通过 ...
- Nova控制节点集群
#Nova控制节点集群 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##Nova控制节点集群 # control ...
- Neutron控制节点集群
#Neutron控制节点集群 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html #.Neutron控制节点集群 #本实 ...
- kubeadm安装K8S单master双节点集群
宿主机:master:172.16.40.97node1:172.16.40.98node2:172.16.40.99 # 一.k8s初始化环境:(三台宿主机) 关闭防火墙和selinux syste ...
- 高可用OpenStack(Queen版)集群-9.Cinder控制节点集群
参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...
随机推荐
- bzoj 1396 识别子串 后缀树+线段树
题目大意 给定一个长度\(\le100000\)的字符串 求每一个位置的最短识别子串 对于位置\(x\),能识别子串\(s[i...j]\)的条件是 1.\(i\le x \le j\) 2.\(s[ ...
- bzoj 4310 跳蚤 二分答案+后缀数组/后缀树
题目大意 给定\(k\)和长度\(\le10^5\)的串S 把串分成不超过\(k\)个子串,然后对于每个子串\(s\),他会从\(s\)的所有子串中选择字典序最大的那一个,并在选出来的\(k\)个子串 ...
- [LeetCode] Sudoku Solver 解数独,递归,回溯
Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by th ...
- 《手把手教你学C语言》学习笔记(7)---程序的输入与输出
程序设计中,为了观察程序的运行状态和结构,需要输出指定的内容:为了让程序能够更加灵活,可以根据需求输入内容,让计算机处理和运行:所以程序的输入输出就显的尤为重要.主要包括printf和scanf函数. ...
- gpio 預設值
若 gpio 預設值只寫 pull-down or pull-up or no-pull or keeper, 代表 是 input mode.
- LeetCode OJ-- 3Sum Closest
https://oj.leetcode.com/problems/3sum-closest/ 给一列数和target,在这一列数中找出3个数,使其和最接近target,返回这个target. 一般思路 ...
- andorid人员文件上传服务器的搭建(tomcat中)
1.将.war文件复制到tomcat服务器webapps下,启动服务器即可 2.访问工程路径http://localhost:8080/FileUpload/index.jsp即可测试上传 3.测试成 ...
- (2)JavaScript基础2
一.操作符 1.一元操作符 自加自减操作符 前置型 执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的 var num1 = 2; var num2 = 20; var num3 = --n ...
- 洛谷 P1372 又是毕业季I[数论/神坑规律题]
题目描述 为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排.可是如何挑呢?老师列出全班同学的号数1,2,……,n,并且相信k个人的默契程度便是他们的最大公约数(这不是迷信哦~) ...
- python 设计模式之命令模式
命令模式介绍: 在面向对象编程中,命令模式是概括所有方法信息的设计模式. 此模式对象包涵方法名,及其相关参数值. 命令模式是一个分类的观察者设计模式,在命令模式下,对象被概括为一个命令表单,此表单包涵 ...