https://archive.apache.org/dist/hadoop/common/
hadoop-2.6.0-src.tar.gz 官方提供的源码包
hadoop-2.6.0.tar.gz 官方预编译安装包
http://archive.cloudera.com/cdh5/cdh/5/
hadoop-2.6.0-cdh5.14.0-src.tar.gz cdh版本源码包
hadoop-2.6.0-cdh5.14.0.tar.gz cdh版本预编译安装包
只要保证cdh版本号是一致的 该版本号中所有的生态圈软件之间都是兼容的
iptables selinux
软件的运行依赖于操作系统平台 操作系统之间存在着差异性 下载源码结合具体平台进行编译
修改源码中某些组件的逻辑
以java语言来说 把.java 编译成.class --->jar 便于程序运行
在每个版本的hadoop 源码包中 building.txt 里面描述了该版本的编译需要配置的依赖软件
最终只需要执行mvn -pachage 进行编译
保证编译过程中网络的顺畅 jar可以下载 推荐使用课程中提供cdh编译需要的jar仓库
NodeManager和Datanode通常部署在一台机器上。
node-1: NameNode DataNode | ResourceManager NodeManager
node-2: DataNode SecondaryNameNode| NodeManager
node-3: DataNode | NodeManager
如何扩展hadoop集群
node-4 DataNode NodeManager
node-5 DataNode NodeManager
node-6 DataNode NodeManager
.......
bin hadoop集群管理的基本脚本
etc 配置文件路径
include
lib
libexec
sbin hadoop集群启动关闭的脚本(单节点逐个 一键启动)
share hadoop 编译之后的jar 官方自带示例
导入java_home 保证hadoop运行的时候一定可以正确的加载jdk环境变量
vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/export/servers/jdk1.8.0_65
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node-1:8020</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录,默认/tmp/hadoop-${user.name} -->
<property>
<name>hadoop.tmp.dir</name>
<value>/export/data/hadoopdata</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node-2:50090</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node-1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
node-1
node-2
node-3
cd /export/servers/
scp -r hadoop-2.6.0-cdh5.14.0/ node-2:$PWD
scp -r hadoop-2.6.0-cdh5.14.0/ node-3:$PWD
export HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
参数文件 | 配置参数 | 参考值 |
---|---|---|
hadoop-env.sh | JAVA_HOME | /root/training/jdk1.8.0_144 |
参数文件 | 配置参数 | 参考值 |
---|---|---|
hadoop-env.sh | JAVA_HOME | /root/training/jdk1.8.0_144 |
hdfs-site.xml | dfs.replication | 1 |
... | dfs.permissions | false |
core-site.xml | fs.defaultFS | hdfs://<hostname>:9000 |
... | hadoop.tmp.dir | /root/training/hadoop-2.7.3/tmp |
mapred-site.xml | mapreduce.framework.name | yarn |
yarn-site.xml | yarn.resourcemanager.hostname | <hostname> |
... | yarn.nodemanager.aux-services | mapreduce_shuffle |
参数文件 | 配置参数 | 参考值 |
---|---|---|
hadoop-env.sh | JAVA_HOME | /root/training/jdk1.8.0_144 |
hdfs-site.xml | dfs.replication | 2 |
... | dfs.permissions | false |
core-site.xml | fs.defaultFS | hdfs://<hostname>:9000 |
... | hadoop.tmp.dir | /root/training/hadoop-2.7.3/tmp |
mapred-site.xml | mapreduce.framework.name | yarn |
yarn-site.xml | yarn.resourcemanager.hostname | <hostname> |
... | yarn.nodemanager.aux-services | mapreduce_shuffle |
slaves | DataNode的ip地址或主机名 | qujianlei001 |
如果出现以下警告信息:
只需要在以下两个文件中增加下面的环境变量,即可:
export JAVA_HOME=/root/training/jdk1.8.0_144export HADOOP_HOME=/root/training/hadoop-2.7.3export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_HOME=/root/training/jdk1.8.0_144export HADOOP_HOME=/root/training/hadoop-2.7.3export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
详细操作见:https://blog.csdn.net/a909301740/article/details/84147035
原文:https://www.cnblogs.com/TiePiHeTao/p/11503935.html