搭建环境:
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。编辑完成后在满足“前提”的任意一台主机运行均可。 ...
Spark On Yarn完全分布式集群环境搭建文档。 分为如下几部分: 1、环境的准备; 2、Zookeeper完全分布式搭建; 3、Hadoop2.0 HA集群搭建步骤介绍; 4、Spark On Yarn搭建介绍; 5、集群启动介绍; 最新最全的java培训视频...
yarn-v1.22.5.tar.gz
yarn npm cnpm pnpm可通用的,就是底层node_modules位置不一样而已,不过修改原理都是一样的,大家可以自行下载研究,目前仅在windows下测试,macos跟linux还未测试。 下面说下安装步骤: 1.在项目更目录中安装,...
在Centos中,进行配置jdk的环境,这个还是折腾了我听挺久的。特别是在一次配置中,导致后来我的root用户无法登录,并且用其他普通用户登录,使用su - root切换到root用户,都无法使用ls这一些普通的命令。由于没有...
Hadoop原本来自于谷歌一款名为MapReduce的编程模型包。谷歌的MapReduce框架可以把一个应用程序分解为许多并行计算指令,跨大量的计算节点运行非常巨大的数据集。使用该框架的一个典型例子就是在网络数据上运行的搜索...
Spark on Yan集群搭建的详细过程,减少集群搭建的时间
基于ambari安装大数据平台,已通过测试,按照文档步骤可以完成安装。
yarn-workspace-plugin-since
基于docker搭建spark on yarn及可视化桌面.doc
yarn 前端打包工具指定配置文件
HA和Yarn高可用的搭建.txt
SPARK2_ON_YARN-2.4.0 jar包下载
详细描述 node环境安装与配置 npm环境配置以及仓库配置 yarn环境配置
本篇博客,Alice为大家带来关于如何搭建Spark的on yarn集群模式的教程。 文章目录准备工作cluster模式client模式[了解]两种模式的区别 官方文档: http://spark.apache.org/docs/latest/running-on-yarn.html 准备...
Luinx环境安装nvm以及yarn以及vue环境
flink-hadoop-compatibility_2.12-1.7.1.jar javax.ws.rs-api-2.0.1.jar jersey-common-2.27.jar jersey-core-1.19.4.jar 解决 Exception in thread "main" java.lang.NoClassDefFoundError: ...
这将使git存储库中的.yarn/cache不存在。 它使用并重写历史记录,因此使用后果自负。 它的工作方式是先将带有--mirror标志的--mirror到临时路径中。 然后,它将计算.yarn/cache中文件的git对象ID列表,并将其删除。...