搭建环境:
1)hadoop版本:0.23.1
2)Linux版本:Linux version 2.6.18-164.el5
3)操作系统:Red Hat Enterprise Linux Server release 5.4
拓扑结构:
总共四台机器(A、B、C、D)
namenode:A、B
datanode:A、B、C、D
ResourceManager:B
NodeManager:A、B、C、D
步骤:
1、下载hadoop0.23.1源代码和JAR包
wget http://labs.renren.com/apache-mirror//hadoop/core/hadoop-0.23.1/hadoop-0.23.1-src.tar.gz
wget http://labs.renren.com/apache-mirror//hadoop/core/hadoop-0.23.1/hadoop-0.23.1.tar.gz
2、安装
tar -xvzf hadoop-0.23.0.tar.gz
3、安装相关工具
1)java
略
2)protobuf
wget http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.gz
tar -zxvf protobuf-2.4.1.tar.gz
cd protobuf-2.4.1
./configure
make
sudo make install
3)ssh
略
4、配置运行环境
vim ~/.bashrc
export HADOOP_DEV_HOME=/home/m2/hadoop-0.23.1
export HADOOP_MAPRED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/conf
export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/conf
export YARN_CONF_DIR=${HADOOP_DEV_HOME}/conf
export HADOOP_LOG_DIR=${HADOOP_DEV_HOME}/logs
5、创建Hadoop配置文件
cd $HADOOP_DEV_HOME
mkdir conf
vim core-site.xml
core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/disk1/hadoop-0.23/tmp/</value>
<description>A base for other temporary directories</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://A:9000</value>
<description>The name of the default file system. Either the
literal string "local" or a host:port for NDFS.
</description>
<final>true</final>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/disk12/hadoop-0.23/namenode</value>
</property>
<property>
<name>dfs.federation.nameservices</name>
<value>ns1,ns2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns1</name>
<value>A:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns1</name>
<value>A:23001</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address.ns1</name>
<value>A:23002</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns2</name>
<value>B:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns2</name>
<value>B:23001</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address.ns2</name>
<value>B:23002</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>C:18040</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>C:18030</value>
</property>
<property>
<description>The address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>dw95.kgb.sqa.cm4:18088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>C:18025</value>
</property>
<property>
<description>The address of the RM admin interface.</description>
<name>yarn.resourcemanager.admin.address</name>
<value>C:18141</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
</property>
</configuration>
slaves
A
B
C
D
hadoop-env.sh
cp $HADOOP_DEV_HOME/share/hadoop/common/templates/conf/hadoop-env.sh $HADOOP_DEV_HOME/conf/
vim hadoop-env.sh
export JAVA_HOME=
6、配置其他服务器
pscp slaves /home/m2/ -r /home/m2/
7、启动NameNode
ssh A
${HADOOP_DEV_HOME}/bin/hdfs namenode -format -clusterid test
ssh B
${HADOOP_DEV_HOME}/bin/hdfs namenode -format -clusterid test
${HADOOP_DEV_HOME}/sbin/start-dfs.sh
8、启动ResourceManager
$HADOOP_DEV_HOME/sbin/start-yarn.sh
常见问题:
1)配置挂载多个本地目录,用逗号隔开
hdfs.xml
<property>
<name>dfs.datanode.data.dir</name>
<value>/disk1/hadoop-0.23/data,/disk2/hadoop-0.23/data</value>
</property>
2)运行启动命令为出错,但实际上没有启动
可能为端口被占用
netstat -anp 端口号
#-n 某些常用端口号显示为名称,该参数强制显示实际端口号
#-p 显示占用该端口的进程
px -aux | grep 进程号
kill -9 进程号
3)运行DistributeShell出错
出错原因为启动ApplicationMaster时未设置正确的CLASSPATH
修改办法:修改client.java文件或者打https://issues.apache.org/jira/browse/MAPREDUCE-3869这个patch
- String classPathEnv = "${CLASSPATH}"
- + ":./*"
- + ":$HADOOP_CONF_DIR"
- + ":$HADOOP_COMMON_HOME/share/hadoop/common/*"
- + ":$HADOOP_COMMON_HOME/share/hadoop/common/lib/*"
- + ":$HADOOP_HDFS_HOME/share/hadoop/hdfs/*"
- + ":$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*"
- + ":$YARN_HOME/modules/*"
- + ":$YARN_HOME/lib/*"
- + ":./log4j.properties:";
+ StringBuilder classPathEnv = new StringBuilder("${CLASSPATH}:./*");
+ for (String c : conf.get(YarnConfiguration.YARN_APPLICATION_CLASSPATH)
+ .split(",")) {
+ classPathEnv.append(':');
+ classPathEnv.append(c.trim());
+ }
+ classPathEnv.append(":./log4j.properties");
- // add the runtime classpath needed for tests to work
+ // add the runtime classpath needed for tests to work
String testRuntimeClassPath = Client.getTestRuntimeClasspath();
- classPathEnv += ":" + testRuntimeClassPath;
+ classPathEnv.append(':');
+ classPathEnv.append(testRuntimeClassPath);
- env.put("CLASSPATH", classPathEnv);
+ env.put("CLASSPATH", classPathEnv.toString());
分享到:
相关推荐
YARN(MRv2)搭建
yarn-v0.23.2.tar.gz 在安装ambari,源码编译的时候下载的文件有问题 手动下载 地址 https://github.com/yarnpkg/yarn/releases/download/v0.23.2/yarn-v0.23.2.tar.gz
脚本使用:vim编辑脚本,按照自己的配置修改主机号,我的是hadoop1、2是NN;hadoop2、3是Spark Master;hadoop3还是RM;hadoop4、5、6是DN、NM、Spark Worker。编辑完成后在满足“前提”的任意一台主机运行均可。 ...
阿里大牛在技术分享中,向用户展示了如何在YARN/K8S环境中部署和管理Flink集群,以及如何通过集成来提高作业的执行效率和资源利用率。此外,阿里云Flink官方提供的在线教程和文档,也是学习和实践Flink on YARN/K8S...
搭建 Spark On Yarn 集群主要涉及三个组件的安装和配置:Zookeeper、Hadoop 和 Spark。下面将详细介绍这三个阶段的搭建过程。 一、Zookeeper 集群搭建 Zookeeper 是一个分布式的、开放源码的分布式应用程序协调服务...
【Hadoop2.X/YARN环境搭建--CentOS7.0系统配置】 在大数据处理领域,Hadoop是一个不可或缺的工具,它的核心组件包括分布式文件系统HDFS和资源管理系统YARN。Hadoop2.X引入了YARN(Yet Another Resource Negotiator...
2. **锁定文件**:Yarn 使用 `yarn.lock` 文件来确保所有开发者的环境中安装的包版本一致,解决了 npm 的版本漂移问题,提高了项目的可预测性和可重复性。 3. **并行下载**:Yarn 能够并行下载依赖包,显著提升了...
本文将详细阐述如何搭建Hadoop 2.x的环境,这包括单节点模式、伪分布式模式以及完全分布式模式的安装与配置,同时也涵盖了Hadoop生态系统中其他重要组件的安装。 一、Hadoop简介 Hadoop是基于Java开发的,它由...
在搭建Hadoop2.X/YARN环境的过程中,CentOS7.0操作系统上的JDK配置是至关重要的一步,因为Hadoop是用Java编写的,它需要一个兼容的JDK环境才能正常运行。这里我们详细讲解如何在CentOS7.0上配置JDK。 首先,由于...
1. **通过环境变量**:在执行 `Yarn` 命令时,我们可以传递环境变量来指示打包工具使用特定的配置文件。例如,如果我们有两个 `Webpack` 配置文件 `webpack.common.js` 和 `webpack.dev.js`,可以使用以下命令来指定...
Spark on YARN 集群搭建详细过程 _title_:Spark on YARN 集群搭建详细过程 _description_:本文详细介绍了 Spark on YARN 集群搭建的过程,包括配置主机 hosts 文件、免密码登录、安装 Java、安装 Scala 等步骤。...
TypeError: self.env.emit is not a function at /usr/local/share/.config/yarn/global/node_modules/yeoman-generator/lib/index.js:653:22 at processTicksAndRejections (internal/process/task_queues.js:97:5)...
Hadoop集群环境搭建 Hadoop集群环境搭建是大数据处理的核心组件之一,本文将详细介绍Hadoop集群环境的搭建过程,包括集群规划、前置条件、免密登录、集群搭建、提交服务到集群等几个方面。 集群规划 在搭建Hadoop...
2. **配置环境变量**:在master节点中,我们需要更新`.bash_profile`文件,添加Hadoop、HDFS和YARN的配置文件路径。这样,每次启动shell时,系统都能正确识别这些组件的位置。 3. **配置yarn-site.xml**:为了防止...
因此,确保本地已经安装了Node.js和npm或yarn是搭建前端环境的前提。 对于后端,Metabase的开发语言是Clojure,一个基于Lisp的现代函数式编程语言。开发框架包括Ring(一个HTTP服务器和中间件库),Compojure(路由...
在搭建Hadoop 2.6集群环境时,我们需要关注几个关键组件:HDFS(Hadoop Distributed File System)的高可用性(HA)以及YARN(Yet Another Resource Negotiator)。这个过程涉及多台虚拟机的配置,包括安装操作系统...
Spark on Yan集群搭建的详细过程,减少集群搭建的时间
### Linux环境搭建详解 #### 一、环境准备与基础配置 **Linux环境搭建**主要涉及在虚拟机中安装和配置Linux系统(本例为Ubuntu),并在此基础上安装一系列开发工具和软件,如Java、Hadoop、MySQL和Spark等。本文将...
【yarn-workspace-plugin-since】是一个专门为Yarn工作区设计的插件,它扩展了Yarn的工作区功能,增加了自定义的版本控制策略。在深入探讨这个插件之前,我们首先需要理解Yarn工作区的基本概念。 Yarn工作区是Yarn...