前提
一、防火墙关闭
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和Windows系统下进行安装,但是在windows系统下没有进行过大量的测试,不稳定容易出现问题。因此,我们使用Linux系统进行安装。
在国内企业中使用最多的Linux系统是CentOS,笔者就使用CentOS的最新版6.5(写作时)进行安装。
Hosts的配置
映射配置
Hadoop通过域名来进行互相访问,通过修改/etc/hosts文件可配置本地域名映射关系,在hosts文件中添加计算机的域名(或叫别名)和IP的对应关系:
192.168.1.200 master
192.168.1.201 node1
192.168.1.202 node2
192.168.1.203 node3
192.168.1.201 node1
192.168.1.202 node2
192.168.1.203 node3
主机名配置
永久生效
修改/etc/sysconfig/network文件,将主机名改为相应主机名,如master.
HOSTNAME=master
注:ubuntu修改/etc/hostname
HOSTNAME=master
注:ubuntu修改/etc/hostname
当系统重启后,主机名便会生效。
本次运行期间生效:
也可运行如下命令设置主机名,无须重启:
hostname master
hostname master
添加用户和组(所有节点)
添加组
groupadd hadoop添加用户
useradd hadoop -g hadoop添加新的用户和组的作用为,使用独立的帐户保护hadoop文件,防止被其它用户修改。同时,还能防止程序修改其它帐户的文件。
配置文件个数(所有节点)
本次开机期间生效
ulimit -n 65535
永久生效
vi /etc/security/limits.conf
* hard nofile 65535
* soft nofile 65535
* hard nofile 65535
* soft nofile 65535
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@node1:/home/hadoop node1: chown -R hadoop:hadoop /home/hadoop/.ssh chmod 700 /home/hadoop/.ssh以上为node1节点,node2、node3把上面的node1替换成相应的并执行便可。
确认是否成功:
ssh master
ssh node1
ssh node2
ssh node3
ssh node1
ssh node2
ssh node3
注:上面所有节点使用相同的公钥和密钥,不太安全但方便。
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使用修改生效。
Hadoop的下载与解压
到hadoop.apache.org上下载Hadoop的安装文件,笔者使用的是 “hadoop-2.4.0.tar.gz”。
在发布式安装模式下,所有服务器Hadoop的安装目录需要一样。笔者安装的位置为/opt/hadoop,使用解压命令如下:
tar -zxvf hadoop-2.4.0.tar.gz -C /opt/
#ln -s /opt/hadoop-2.4.0 /opt/hadoop
mv /opt/hadoop-2.4.0 /opt/hadoop
chown -R hadoop:hadoop /opt/hadoop
#ln -s /opt/hadoop-2.4.0 /opt/hadoop
mv /opt/hadoop-2.4.0 /opt/hadoop
chown -R hadoop:hadoop /opt/hadoop
注:之所以用mv而不是ln是笔记不喜欢ls时很多项。
配置Hadoop
修改hadoop目录下 etc/hadoop/hadoop-env.sh的环境变量,在末尾添加:
export JAVA_HOME=/usr/java/jdk
export HADOOP_HEAPSIZE=2048
#export HADOOP_PID_DIR=/home/$USER/pids
注:HADOOP_HEAPSIZE用来配置JVM堆大小,可以根据实际情况而定。
core-site.xml
修改hadoop目录下etc/hadoop/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>
说明:
fs.defaultDFS:设置NameNode的IP和端口hadoop.tmp.dir:设置Hadoop临时目录,(默认/tmp,机器重启会丢失数据!)fs.trash.interval:开启Hadoop回收站
hdfs-site.xml
修改hadoop目录下conf/hdfs-site.xml的配置文件,在<configuration>标签中添加如下内容:
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/${user.name}/dfs_name</value> </property> <property> <name>dfs.datanode.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>说明:
dfs.replication:文件复本数
dfs.namenode.name.dir:设置NameNode存储元数据(fsimage)的本地文件系统位置
dfs.datanode.data.dir:设置DataNode存储数据的本地文件系统位置
dfs.support.append:设置HDFS是否支持在文件末尾追加数据
dfs.datanode.max.xcievers:设置datanode可以创建的最大xcievers数
yarn-site.xml
修改hadoop目录下etc/hadoop/yarn-site.xml的配置文件,在<configuration>标签中添加如下内容:
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.timeline-service.hostname</name> <value>master</value> </property>注:属性名为mapred.job.tracker来配置job tracker交互端口,
mapred-site.xml
修改hadoop目录下etc/hadoop/mapred-site.xml的配置文件,在<configuration>标签中添加如下内容:
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
配置子节点:修改hadoop目录etc/hadoop/slave文件,每行一个节点,伪分布式修改内容为:
node1
node2
node3
node1
node2
node3
scp -r /opt/hadoop root@node1:/opt/
node1上执行:
chown -R hadoop:hadoop /opt/hadoop
node1上执行:
chown -R hadoop:hadoop /opt/hadoop
如此node2、node3……
执行
在使用一个分布式文件系统前需要对其进行格式化:
./bin/hadoop namenode –format
启动Hadoop守护进程:
./sbin/start-all.sh
Hadoop守护进程的日志写入到${HADOOP_LOG_DIR}目录(默认为logs下)。
完成全部操作后,若需停止Hadoop守护进程:
$ sbin/stop-all.sh
验证集群
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.0.jar randomwriter out
Hadoop自带的WEB管理界面
浏览NameNode和JobTracker的WEB管理界面,它们的地址默认为:
NameNode - http://master :50070/dfshealth.jsp
Yarn - http://master:8088
相关推荐
【标题】"hadoop3.x带snappy(可用于windows本地开发)"所涉及的知识点主要集中在Hadoop 3.0版本以及Snappy压缩算法在Windows环境下的应用。Hadoop是一个开源的大数据处理框架,由Apache软件基金会开发,它使得在...
2. **安装Hadoop**:解压Hadoop安装包,根据集群规模配置Hadoop的`core-site.xml`、`hdfs-site.xml`、`yarn-site.xml`和`mapred-site.xml`等配置文件,设置HA相关参数,如`ha.zookeeper.quorum`(ZooKeeper服务器...
在本文中,我们将深入探讨如何从零开始在CentOS操作系统上安装和配置Hadoop,这是一个分布式文件系统,为大数据处理提供了强大的支持。首先,我们需要理解Hadoop的基本概念和它的核心组件。 Hadoop是由Apache软件...
【Hadoop 2.7.1 安装详解】 在大数据处理领域,Hadoop 是一个不可或缺的开源框架,主要用于分布式存储和计算。本篇将详细阐述如何在 CentOS 6.4 系统上安装 Hadoop 2.7.1。 **一、准备工作** 1. **获取安装包** ...
此外,Hadoop 2.x引入了HDFS HA(高可用性)和 Federation 功能,增强了数据存储的可靠性和效率。 Eclipse作为流行的Java开发IDE,提供了丰富的插件生态系统。对于Hadoop开发,Eclipse可以通过安装特定的插件如...
本资源"hadop3环境一键部署.zip"提供了一种便捷的方式,帮助用户快速在服务器集群上搭建Hadoop 3.x版本的环境,包括自动安装Java Development Kit (JDK)和Hadoop等相关组件,并可选择配置为高可用模式或非高可用模式...
在本安装手册中,我们将详述如何在Linux环境中安装Hadoop-2.0.0-cdh4.3.0版本,这是一个广泛应用于大数据处理的开源框架。Hadoop由Apache Software Foundation维护,它允许分布式存储和处理大规模数据集,是云计算...
在IT行业中,Hadoop是一个广泛使用的开源框架,用于处理和存储大数据。Hadoop 2.6版本是一个重要的里程碑,引入了许多增强功能和优化,提高了稳定性和性能。在Windows 7环境下配置和远程调试Hadoop集群是一项挑战,...
开发Hadoop应用程序通常涉及使用Hadoop API编写MapReduce作业,利用Hadoop命令行工具进行测试和调试。同时,Hadoop还提供了诸如Hadoop命令行接口、Hadoop Shell脚本、Hadoop Debugging工具等辅助开发工具。 总结来...
- `yarn-site.xml`: 对于Hadoop 2.x及以上版本,配置YARN资源管理器。 4. 初始化HDFS:运行`hdfs namenode -format`命令对NameNode进行格式化,初始化HDFS元数据。 5. 启动Hadoop服务:依次启动DataNode、NameNode...
在开发和测试Hadoop应用时,了解如何正确配置和使用winutils.exe和hadoop.dll是非常基础且重要的步骤。例如,设置HADOOP_HOME环境变量,配置HDFS的core-site.xml和hdfs-site.xml等配置文件,以及熟悉winutils.exe的...
第二代Hadoop则包含了0.23.x和2.x版本,其中2.x版本引入了NameNode HA(High Availability)以提高主节点的可用性和Wire-compatibility,增强了不同版本之间的兼容性。 **6.2 HDFS(Hadoop Distributed File System...
在IT行业中,Hadoop是一个...为了提升性能和可靠性,你可以进一步优化配置,例如添加更多的DataNode,或者配置Hadoop HA(高可用性)以实现NameNode冗余。同时,学习如何运行MapReduce任务是深入理解Hadoop的关键步骤。
1. **YARN**:资源调度器 YARN(Yet Another Resource Negotiator)是 Hadoop 2.x 的核心,负责集群资源的管理和调度。 2. **HDFS HA**:高可用性(HA)特性,支持 NameNode 的热备,确保服务不间断。 3. **HDFS ...
2. standalone 独立集群模式:用于开发测试和生产环境。 3. standalone-HA 高可用模式:用于生产环境。 4. on yarn 集群模式:用于生产环境。 5. on mesos 集群模式:国内使用较少。 6. on cloud 集群模式:中小公司...
Hadoop是Apache软件基金会开发的一个开源分布式计算框架,主要用于处理和存储海量数据。"Hoodp Windows"可能是标题中的一个打字错误,实际上应该是"Hadoop for Windows",指的是在Windows操作系统上运行Hadoop的环境...
Standalone模式是最简单的Spark集群部署方式,适合于开发测试环境。配置主要包括设置环境变量、配置master和slaves文件等步骤。 **2.5 配置JobHistoryServer【Standalone】** JobHistoryServer用于跟踪已完成的...