前提 写道
一、防火墙关闭
service iptables stop
chkconfig iptables off
二、SeLinux关闭
setenforce 0
vi /etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled
service iptables stop
chkconfig iptables off
二、SeLinux关闭
setenforce 0
vi /etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled
操作系统
Hadoop可以同时支持在Linux和Windowsflume.conf系统下进行安装,但是在windows系统下没有进行过大量的测试,不稳定容易出现问题。因此,我们使用Linux系统进行安装。
在国内企业中使用最多的Linux系统是CentOS,笔者就使用CentOS的最新版6.3(写作时)进行安装。
添加用户和组
添加组
groupadd hadoop
添加用户
useradd hadoop -g hadoop
添加新的用户和组的作用为,使用独立的帐户保护hadoop文件,防止被其它用户修改。同时,还能防止程序修改其它帐户的文件。
配置文件个数
ulimit -n 65535
vi /etc/security/limits.conf
* hard nofile 65535
* soft nofile 65535
Hosts的配置
Hadoop通过域名来进行互相访问,通过修改/etc/hosts文件可配置本地域名映射关系,在hosts文件中添加计算机的域名(或叫别名)和IP的对应关系,如在本机中添加slave101的主机(假设IP为192.168.56.101),在末尾添加内容为:
192.168.1.200 master
修改/etc/sysconfig/network文件,将主机名改为master.
HOSTNAME=master
当系统重启后,主机名便会生效。也可运行如下命令设置主机名,无须重启:
hostname master
SSH和无密码登录
安装SSH客户端:
yum -y install openssh-clients
生成无密码的“公私钥”对:
su hadoop
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
scp -r ~/.ssh root@slave:/home/hadoop
slave:
chown -R hadoop:hadoop /home/hadoop/.ssh
chmod 700 /home/hadoop/.ssh
确认是否成功:
ssh localhost
JDK的安装与配置
运行Hadoop需要JDK1.6(也叫JDK6.0)以上,到www.oracle.com上进行下载。笔者在这里使用的是jdk-7u5-linux-i586.rpm,也就是JDK1.6的30更新版。
下面讲解JDK的安装与配置步骤:
一、安装
rpm –ivh jdk-7u5-linux-i586.rpm
ln –s /usr/java/jdk1.7.0_05 /usr/java/jdk
使用RPM包进行安装,rpm是centos和redhat的包管理机制。ln的作用是创建一个易记的JDK目录,便于配置。
JDK默认安装在/usr/java/jdk1.7.0_05下面。
二、配置
为了使用方便,我们对JDK的安装目录进行链接。
ln –s /usr/java/jdk1.6.0_30 /usr/java/jdk
然后,修改环境变量,在/etc/profile文件末中添加下面的内容:
JAVA_HOME=/usr/java/jdk
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
在命令行下输入source /etc/profile使用修改生效。
scp -r ssh.sh root@10.1.2.74:~/
Hadoop的下载与解压
到hadoop.apache.org上下载Hadoop的安装文件,笔者使用的是 “hadoop-1.0.3.tar.gz”。
在发布式安装模式下,所有服务器Hadoop的安装目录需要一样。笔者安装的位置为/opt/hadoop,使用解压命令如下:
tar -zxvf hadoop-1.0.4.tar.gz -C /opt/
mv /opt/hadoop-1.0.4 /opt/hadoop
chown -R hadoop:hadoop /opt/hadoop
su hadoop
配置Hadoop
修改hadoop目录下conf/hadoop-env.sh的环境变量,在末尾添加:
export JAVA_HOME=/usr/java/jdk
export HADOOP_HEAPSIZE=256
export HADOOP_PID_DIR=/home/$USER/pids
注:因为是虚拟机内存小,所以HADOOP_HEAPSIZE设置为256。可以根据实际情况而定
修改hadoop目录下conf/core-site.xml的配置文件,在<configuration>标签中添加如下内容:
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/${user.name}/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
修改hadoop目录下conf/hdfs-site.xml的配置文件,在<configuration>标签中添加如下内容:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/${user.name}/dfs_name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/${user.name}/dfs_data</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>
修改hadoop目录下conf/mapred-site.xml的配置文件,在<configuration>标签中添加如下内容:
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/home/${user.name}/mapred/system</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/${user.name}/mapred/local</value>
</property>
<property>
<name>mapreduce.job.counters.limit</name>
<value>1400</value>
</property>
<property>
<name>mapred.map.tasks.speculative.execution</name>
<value>false</value>
</property>
<property>
<name>mapred.reduce.tasks.speculative.execution</name>
<value>false</value>
</property>
注:属性名为mapred.job.tracker来配置job tracker交互端口,
配置辅助名称节点:修改hadoop目录conf/masters的配置文件,修改内容为:
master
配置子节点:修改hadoop目录conf/slave文件,每行一个节点,伪分布式修改内容为:
master
scp -r /opt/hadoop root@slave:/opt/
chown -R hadoop:hadoop /opt/hadoop
执行
在使用一个分布式文件系统前需要对其进行格式化:
./bin/hadoop namenode -format
启动Hadoop守护进程:
./bin/start-all.sh
Hadoop守护进程的日志写入到${HADOOP_LOG_DIR}目录(默认为logs下)。
将输入文件拷贝到分布式文件系统:
bin/hadoop fs -put ./conf/core-site.xml input
运行发行版提供的WordCount示例程序:
./bin/hadoop jar hadoop-examples-1.0.3.jar wordcount input output
查看输出文件:
将输出文件从分布式文件系统拷贝到本地文件系统查看:
$ bin/hadoop fs -get output output
$ cat output/*
或者
在分布式文件系统上查看输出文件:
$ bin/hadoop fs -cat output/*
完成全部操作后,停止Hadoop守护进程:
$ bin/stop-all.sh
Hadoop自带的WEB管理界面
浏览NameNode和JobTracker的WEB管理界面,它们的地址默认为:
NameNode - http://master :50070/dfshealth.jsp
JobTracker - http://master:50030/jobtracker.jsp
Hadoop常见配置解释
fs.default.name
默认:file:///
定义:NameNod的URI
描述:hdfs://hostname/
fs.trash.interval
默认:0
定义: 时间,单位:秒
描述: 删除文件时放入回收站的时间。
fs.checkpoint.period
默认:3600
定义:时间,单位:秒
描述:Secondary NameNode两次checkpoint的最大时间间隔。
fs.checkpoint.size
默认:67108864
定义:文件大小,单位:字节
描述:当edit文件超过该值时,强制进行checkpoit,不管是否达到最大时间间隔。
hadoop.tmp.dir
默认:/tmp/hadoop-${user.name}
定义:文件目录
描述:hadoop文件系统依赖的基础配置,很多路径都依赖它。
dfs.replication
默认:3
定义:数字
描述:数据的复制分数,用来做备份和并发读。
dfs.name.dir
默认:${hadoop.tmp.dir}/dfs/name
定义:文件目录
描述:NameNod保存元数据和事务日志的本地目录。当这个值是一个逗号分割的目录列表时,元数据和日志将会被复制到所有目录中做冗余备份。因此,可以用NFS配置来保存
dfs.data.dir
默认:/ ${hadoop.tmp.dir}/dfs/data
定义:文件目录
描述:当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。
mapred.system.dir
默认:${hadoop.tmp.dir}/mapred/system
定义:文件目录
描述:Map/Reduce框架存储系统文件的HDFS路径。这个路径是默认文件系统(HDFS)下的路径, 须从服务器和客户端上均可访问。
mapred.local.dir
默认:${hadoop.tmp.dir}/mapred/local
定义:文件目录
描述:本地文件系统下逗号分割的路径列表,Map/Reduce临时数据存放的地方。多路径有助于利用磁盘i/o。
mapred.job.tracker
默认:local
定义:主机名:端口
描述:JobTracker的地址, 主机(或者IP)和端口。如果为local则在一个进程中执行Map和Reduce。
mapred.tasktracker.map.tasks.maximum
默认:2
定义:数字
描述:某一TaskTracker 上可运行的最大Map任务数,这些任务将同时各自运行。
mapred.tasktracker.reduce.tasks.maximum
默认:2
定义:数字
描述:某一TaskTracker 上可运行的最大Reduce任务数,这些任务将同时各自运行。
相关推荐
在探讨Hadoop1.x与Hadoop2.x配置的异同之前,我们首先简要回顾一下GridGain In-Memory HDFS的特性,这是基于行业首个高性能双模式内存文件系统,完全兼容HDFS。GridGain FileSystem(GGFS)作为Hadoop HDFS的即插即...
本教程将详细讲解Apache Hadoop 2.x的安装过程,帮助初学者快速入门。 一、Hadoop的体系结构 Hadoop的核心由两个主要组件构成:Hadoop Distributed File System (HDFS) 和 MapReduce。HDFS是一种分布式文件系统,能...
文档中提到,与Hadoop 2.x相比,3.x版本在集群安装和配置方面基本变化不大,但具体到新版本的特性以及对默认端口的改变上,还是存在一些需要特别注意的地方。 #### 1. Hadoop 3.x集群安装知识 在集群安装知识部分,...
标题“win32win64hadoop2.7.x.hadoop.dll.bin”暗示了这是一个与Hadoop 2.7.x版本相关的二进制文件,适用于32位和64位的Windows操作系统。描述中提到,这些文件是用于在Windows环境下部署Hadoop时必需的组件,并且在...
在本文中,我们将深入探讨Hadoop 3.x的关键特性、优化之处以及如何获取和安装这个版本。 首先,Hadoop 3.x的存储性能提升主要体现在以下几个方面: 1. **多名称节点(Multi-Namenode)**:Hadoop 3.x引入了活性...
本文将详细介绍如何在三节点环境下安装和配置Hadoop 2.x 集群。 一、环境准备 在开始Hadoop的安装前,你需要确保你的硬件环境满足基本需求,包括足够的内存、硬盘空间以及至少三台服务器或虚拟机。每台节点应安装...
### Hadoop 2.x 安装与配置详解 #### 一、准备工作 在开始Hadoop 2.x集群的搭建之前,需要确保以下条件已经满足: 1. **操作系统环境**: 所有的服务器节点均应安装Linux操作系统。 2. **Java Development Kit ...
包含了hadoop配置文件core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
### Hadoop2.X 新特性详解 #### Hadoop1.0 的局限性 Hadoop1.0作为初代的大数据处理框架,在数据存储和处理方面取得了显著成就,但也暴露出了一系列问题,主要包括: - **HDFS(Hadoop Distributed File System)...
1. **环境配置**:确保安装了Java开发工具(JDK),配置好JAVA_HOME环境变量。 2. **编译问题**:由于Snappy是C++库,可能需要Visual C++编译环境支持。 3. **驱动兼容**:Windows可能需要特定的驱动程序或适配器...
1. **解压缩**: 首先,你需要根据你的Hadoop版本选择合适的压缩包,例如,如果你使用的是Hadoop 2.9.x,就解压缩`hadoop2.9配置文件.rar`。 2. **复制文件**: 解压后,你会找到`winutils.exe`和`hadoop.dll`。将这两...
1.Hadoop3.x通过什么方式来容错? 2.Hadoop3.x存储开销减少了多少? 3.Hadoop3.x MR API是否兼容hadoop1.x? 一、目的 在这篇文章中,我们将讨论Hadoop 2.x与Hadoop 3.x之间的比较。 Hadoop3版本中添加了哪些新功能...
1. **安装Java**:Hadoop依赖于Java运行,因此首先需要在服务器上安装合适的Java版本。 2. **配置Hadoop环境**:包括设置`HADOOP_HOME`环境变量、配置`core-site.xml`、`hdfs-site.xml`等配置文件。 3. **格式化HDFS...
Hadoop 是一个基于分布式存储的大数据处理框架,本文档将详细介绍 Hadoop 3.x 的配置和底层原理,从零搭建集群以及解决遇到的问题,通过图形化的方式更好地理解 Hadoop 的作用。 一、HDFS 组成 HDFS(Hadoop ...
很抱歉,根据您提供的信息,"Hadoop2.x安装共25页.pdf.zip"这个压缩文件似乎包含了关于Hadoop 2.x安装的详细教程,但实际的文件内容并没有提供。通常,这样的文档会涵盖Hadoop环境配置、集群搭建、分布式文件系统...
CentOS7 Hadoop 2.7.X 安装部署 本文档将指导您如何在 CentOS 7 上安装和部署 Hadoop 2.7.X。Hadoop 是一个开源的大数据处理框架,由 Apache 开发,旨在提供高效、可靠、可扩展的数据处理能力。 准备软件包 在...
1. **Hadoop 2.x 平台基础:** - Hadoop 2.x 的架构原理及组件介绍(如HDFS、YARN等)。 - Hadoop 集群的搭建与管理。 - MapReduce 工作原理及实践应用。 2. **SQL on Hadoop 应用:** - Hive 的安装配置与使用...
1. **Hadoop 2.x架构**:Hadoop 2.x引入了YARN(Yet Another Resource Negotiator),作为资源管理器,替代了Hadoop 1.x中的JobTracker。YARN将任务调度和资源管理分离,提高了系统的可扩展性和灵活性。 2. **伪...
1. **下载与配置**: 下载 Hadoop 的 Windows 适用版本,通常是通过预编译的二进制包,如这个压缩文件。 2. **设置环境变量**: 配置 `HADOOP_HOME` 环境变量指向 Hadoop 的安装目录,并将 `%HADOOP_HOME%\bin` 添加到...