Hadoop2.6.0-cdh5.4.1源码编译安装

版本使用范围,大致 与Apache Hadoop编译步骤一致大同小异,因为CDH的Hadoop的本来就是从社区版迁过来的,所以,这篇文章同样适合所有的以Apache Hadoop为原型的其他商业版本的hadoop编译,例如,Cloudera(CDH)的hadoop和Hortonworks(HDP)的的hadoop编译,下面开工: 1,环境准备(Cenots6.x,其他的大同小异) (1)yum安装 sudo yum install -y autoconf automake libtool git gcc gcc-c++ make cmake openssl-devel,ncurses-devel bzip2-devel (2)安装JDK1.7+ (3)安装Maven3.0+ (4)安装Ant1.8+ (5)安装 protobuf-2.5.0.tar.gz 安装例子: cd /home/search tar -zxvf protobuf-2.5.0.tar.gz cd /home/search/protobuf-2.5.0 ./configure --prefix=/home/search/protobuf(指定的一个安装目录,默认是根目录) make && make install (6)安装snappy1.1.0.tar.gz(可选选项,如果需要编译完的Hadoop支持Snappy压缩,需要此步骤) 安装例子: cd /home/search tar -zxvf snappy1.1.0.tar.gz cd /home/search/snappy1.1.0 ./configure --prefix=/home/search/snappy(指定的一个安装目录,默认是根目录) make && make install (7)安装hadoop-snappy git下载地址 git clone https://github.com/electrum/hadoop-snappy.git 安装例子: 下载完成后 cd hadoop-snappy 执行maven打包命令 mvn package -Dsnappy.prefix=/home/search/snappy (需要6步骤) 构建成功后

这个目录就是编译后的snappy的本地库,在hadoop-snappy/target/hadoop-snappy-0.0.1-SNAPSHOT-tar/hadoop-snappy-0.0.1-SNAPSHOT/lib目录下,有个hadoop-snappy-0.0.1-SNAPSHOT.jar,在hadoop编译后,需要拷贝到$HADOOP_HOME/lib目录下 上面使用到的包,可到百度网盘:http://pan.baidu.com/s/1mBjZ4下载 2,下载编译hadoop2.6.0 下载cdh-hadoop2.6.0源码: wget http://archive-primary.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.4.1-src.tar.gz 解压 tar -zxvf hadoop-2.6.0-cdh5.4.1-src.tar.gz 解压后进入根目录 执行下面这个编译命令,就能把snappy库绑定到hadoop的本地库里面,这样就可以在所有的机器上跑了 mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=(hadoop-snappy里面编译后的库地址) -Dbundle.snappy 中间会报一些异常,无须关心,如果报异常退出了,就继续执行上面这个命令,直到成功为止,一般速度会跟你的网速有关系,大概40分钟左右,最后会编译成功。

3,搭建Hadoop集群 (1)拷贝编译完成后在hadoop-2.6.0-cdh5.4.1/hadoop-dist/target/hadoop-2.6.0-cdh5.4.1.tar.gz位置的tar包,至安装目录 (2)解压执行mv hadoop-2.6.0-cdh5.4.1 hadoop重命名为hadoop (3)进入hadoop目录下,执行bin/hadoop checknative -a查看本地库,支持情况

(4)配置Hadoop相关的环境变量 #hadoop export HADOOP_HOME=/home/search/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export CLASSPATH=.:$CLASSPATH:$HADOOP_COMMON_HOME:$HADOOP_COMMON_HOMEi/lib:$HADOOP_MAPRED_HOME:$HADOOP_HDFS_HOME:$HADOOP_HDFS_HOME (5)选择一个数据目录/data/ 新建三个目录 hadooptmp(存放hadoop的一些临时数据) nd(存放hadoop的namenode数据) dd(存放hadoop的datanode数据) (6)进入hadoop/etc/hadoop目录 依次配置 slaves内容如下:

Java代码

  1. hadoop1
  2. hadoop2
  3. hadoop3

core-site.xml内容如下:

Java代码

  1. <configuration>
  2. <property>
  3. <name>fs.default.name</name>
  4. <value>hdfs://hadoop1:8020</value>
  5. </property>
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>/ROOT/tmp/data/hadooptmp</value>
  9. </property>
  10. <property>
  11. <name>io.compression.codecs</name>
  12. <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec</value>
  13. </property>
  14. <property>
  15. <name>fs.trash.interval</name>
  16. <value>1440</value>
  17. <description>Number of minutes between trash checkpoints.
  18. If zero, the trash feature is disabled.
  19. </description>
  20. </property>
  21. </configuration>

hdfs-site.xml内容如下:

Java代码

  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>1</value>
  5. </property>
  6. <property>
  7. <name>dfs.namenode.name.dir</name>
  8. <value>file:///ROOT/tmp/data/nd</value>
  9. </property>
  10. <property>
  11. <name>dfs.datanode.data.dir</name>
  12. <value>/ROOT/tmp/data/dd</value>
  13. </property>
  14. <property>
  15. <name>dfs.permissions</name>
  16. <value>false</value>
  17. </property>
  18. <property>
  19. <name>dfs.webhdfs.enabled</name>
  20. <value>true</value>
  21. </property>
  22. <property>
  23. <name>dfs.blocksize</name>
  24. <value>134217728</value>
  25. </property>
  26. <property>
  27. <name>dfs.namenode.handler.count</name>
  28. <value>20</value>
  29. </property>
  30. <property>
  31. <name>dfs.datanode.max.xcievers</name>
  32. <value>65535</value>
  33. </property>
  34. </configuration>

mapred-site.xml内容如下:

Java代码

  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. <property>
  7. <name>mapreduce.jobtracker.address</name>
  8. <value>hadoop1:8021</value>
  9. </property>
  10. <property>
  11. <name>mapreduce.jobhistory.address</name>
  12. <value>hadoop1:10020</value>
  13. </property>
  14. <property>
  15. <name>mapreduce.jobhistory.webapp.address</name>
  16. <value>hadoop1:19888</value>
  17. </property>
  18. <property>
  19. <name>mapred.max.maps.per.node</name>
  20. <value>4</value>
  21. </property>
  22. <property>
  23. <name>mapred.max.reduces.per.node</name>
  24. <value>2</value>
  25. </property>
  26. <property>
  27. <name>mapreduce.map.memory.mb</name>
  28. <value>1408</value>
  29. </property>
  30. <property>
  31. <name>mapreduce.map.java.opts</name>
  32. <value>-Xmx1126M</value>
  33. </property>
  34. <property>
  35. <name>mapreduce.reduce.memory.mb</name>
  36. <value>2816</value>
  37. </property>
  38. <property>
  39. <name>mapreduce.reduce.java.opts</name>
  40. <value>-Xmx2252M</value>
  41. </property>
  42. <property>
  43. <name>mapreduce.task.io.sort.mb</name>
  44. <value>512</value>
  45. </property>
  46. <property>
  47. <name>mapreduce.task.io.sort.factor</name>
  48. <value>100</value>
  49. </property>
  50. </configuration>

yarn-site.xml内容如下:

Java代码

  1. <configuration>
  2. <property>
  3. <name>mapreduce.jobhistory.address</name>
  4. <value>hadoop1:10020</value>
  5. </property>
  6. <property>
  7. <name>mapreduce.jobhistory.webapp.address</name>
  8. <value>hadoop1:19888</value>
  9. </property>
  10. <property>
  11. <name>yarn.resourcemanager.address</name>
  12. <value>hadoop1:8032</value>
  13. </property>
  14. <property>
  15. <name>yarn.resourcemanager.scheduler.address</name>
  16. <value>hadoop1:8030</value>
  17. </property>
  18. <property>
  19. <name>yarn.resourcemanager.scheduler.class</name>
  20. <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
  21. </property>
  22. <property>
  23. <name>yarn.resourcemanager.resource-tracker.address</name>
  24. <value>hadoop1:8031</value>
  25. </property>
  26. <property>
  27. <name>yarn.resourcemanager.admin.address</name>
  28. <value>hadoop1:8033</value>
  29. </property>
  30. <property>
  31. <name>yarn.resourcemanager.webapp.address</name>
  32. <value>hadoop1:8088</value>
  33. </property>
  34. <property>
  35. <name>yarn.nodemanager.aux-services</name>
  36. <value>mapreduce_shuffle</value>
  37. </property>
  38. <property>
  39. <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  40. <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  41. </property>
  42. <property>
  43. <description>Classpath for typical applications.</description>
  44. <name>yarn.application.classpath</name>
  45. <value>$HADOOP_CONF_DIR
  46. ,$HADOOP_COMMON_HOME/share/hadoop/common/*
  47. ,$HADOOP_COMMON_HOME/share/hadoop/common/lib/*
  48. ,$HADOOP_HDFS_HOME/share/hadoop/hdfs/*
  49. ,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*
  50. ,$YARN_HOME/share/hadoop/yarn/*</value>
  51. </property>
  52. <!-- Configurations for NodeManager -->
  53. <property>
  54. <name>yarn.nodemanager.resource.memory-mb</name>
  55. <value>5632</value>
  56. </property>
  57. <property>
  58. <name>yarn.scheduler.minimum-allocation-mb</name>
  59. <value>1408</value>
  60. </property>
  61. <property>
  62. <name>yarn.scheduler.maximum-allocation-mb</name>
  63. <value>5632</value>
  64. </property>
  65. </configuration>

(6)将整个hadoop目录和/data数据目录,scp分发到各个节点上 (7)格式化HDFS 执行命令bin/hadoop namenode -format (8)启动集群 sbin/start-dfs.sh 启动hdfs sbin/start-yarn.sh启动yarn sbin/mr-jobhistory-daemon.sh start historyserver 启动日志进程 (9)检验集群状态 jps监测:

web页面监测: http://hadoop1:50070 http://hadoop1:8088 (10)基准测试 测试map bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.4.1.jar randomwriter rand 测试reduce bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.4.1.jar sort rand sort-rand Hadoop官方文档链接:http://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html

原文发布于微信公众号 - 我是攻城师(woshigcs)

原文发表时间:2015-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据订阅

数据订阅案例

我们会通过模拟从库向主库获取对应 binlog 内容进行分析,大概架构图如下,我们会通过解析 binlog ,按照订阅通道配置的库表进行分析,所以几乎对主库没有...

1643
来自专栏Brian

搭建分布式Spark计算平台

集群机器规划 三台机器的操作系统全部为CentOS7.2. 主机名称 IP地址 master 192.168.1.106 slave1 192...

1.1K6
来自专栏Huramkin的归档库

Screen命令常见用法

4002
来自专栏伦少的博客

Spark 通过 spark-submit 设置日志级别

Spark有多种方式设置日志级别,这次主要记录一下如何在spark-submit设置Spark的日志级别。

1682
来自专栏星汉技术

Sqoop简介以及安装

2082
来自专栏Hadoop实操

如何在Hue中创建Ssh的Oozie工作流

前面Fayson讲过《如何使用Hue创建Spark1和Spark2的Oozie工作流》和《如何使用Hue创建Spark2的Oozie工作流(补充)》,在创建Oo...

5519
来自专栏Hadoop实操

7.如何在OpenLDAP中实现将一个用户添加到多个组

在前面的文章Fayson讲了《1.如何在CentOS6.5安装OpenLDAP并配置客户端》、《2.OpenLDAP集成SSH登录并使用SSSD同步用户》、《3...

5494
来自专栏后台及大数据开发

Linux巩固记录(3) hadoop 2.7.4 环境搭建

以前只在linux上配置J2EE项目执行环境,无非配置下jdk,部署tomcat,再通过docker或者jenkins自动部署上去

871
来自专栏陆耀伟的专栏

DNS故障对TDW影响评估及改进方案探索

TDW集群的所有slaves机器都需要通过DNS域名解析方式连接master,也就是在所有slaves机器上配置master的域名,而非直接的IP地址;用户需要...

3380
来自专栏LhWorld哥陪你聊算法

从0到1搭建spark集群---企业集群搭建

今天分享一篇从0到1搭建Spark集群的步骤,企业中大家亦可以参照次集群搭建自己的Spark集群。

3833

扫码关注云+社区

领取腾讯云代金券