十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
怎么实现Hadoop集群搭建,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联是一家企业级云计算解决方案提供商,超15年IDC数据中心运营经验。主营GPU显卡服务器,站群服务器,绵阳服务器托管,海外高防服务器,机柜大带宽、租用·托管,动态拨号VPS,海外云手机,海外云服务器,海外服务器租用托管等。
阅读编译文档 准备一个hadoop源码包,我选择的hadoop版本是:hadoop-2.7.7-src.tar.gz,在hadoop-2.7.7的源码 包的根目录下有一个文档叫做BUILDING.txt,这其中说明了编译hadoop所需要的一些编译环境相关的 东西。不同的hadoop版本的要求都不一样。对应的版本参照BUILDING.txt
准备一台Unix类型操作系统,在这里我们选用的是CentOS-7.4,初次编译要求必须联网,切记:以下 这些东西都是需要的,详细安装在下面,这里只介绍我准备这些软件所选择的版本。
安装对应软件 对应以上需求,我们准备好所要求版本的这些软件。
2.1. 安装openssl-devel 执行下面的所有命令: yum -y install svn yum -y install autoconf automake libtool cmake zlib-devel lzo-devel yum -y install ncurses-devel yum -y install openssl-devel yum -y install zlib1g-dev libssl-dev 这个安装过程,如果能连上网,那么等待命令执行完成即可。
2.2. 安装gcc 先使用命令检测一下看gcc是否已经安装过了 [root@compile_hadoop soft]# gcc -v gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
如果最后一行出现如上的gcc版本信息日志,表示已经安装成功过了。不然使用命令安装:
2.3. 安装gcc-c++ 直接使用命令安装: yum install -y gcc
2.4. 安装JDK 我们选择的安装包:jdk-7u80-linux-x64.tar.gz 第一步:从官网下载安装包
第二步:上传安装到编译机,然后解压安装 tar -zxvf /root/jdk-7u80-linux-x64.tar.gz -C /root/apps/
第三步:配置环境变量 vi /etc/profile export JAVA_HOME=/root/apps/jdk1.7.0_80 export PATH=PATH:JAVA_HOME/bin export CLASSPATH=.:/root/apps/jdk1.7.0_80/lib/dt.jar:/root/apps/jdk1.7.0_80/lib/tools.jar
第四步:检测安装是否成功 source /etc/profile java -version
2.5. 安装Maven 我们选择的安装包:apache-maven-3.5.3-bin.tar.gz 第一步:从官网下载安装包
第二步:上传到服务器,解压安装 tar -zxvf /root/apache-maven-3.5.3-bin.tar.gz -C /root/apps/
第三步:修改配置文件(如果需要更改默认的maven仓库路径的话) 1、进入到maven安装包的conf目录 cd /root/apps/apache-maven-3.5.3/conf
2、修改配置文件settings.xml 在配置文件的中部找到localRepository这个标签,它本来是注释了的,并且有一个默认仓库路径,我们 最好自己设置一个,所以我自己加了一个,我的路径是: /root/mavenlocalrepo/
3、如果为了节省时间,可以把我提供的mavenlocalrepo文件夹,直接上传到root用户的家目录。替换 你的mavenlocalrepo文件夹。这样就可以极大节省下载maven依赖的时间。提高效率。
第四步:配置环境变量 vi /etc/profile 追加如下内容: export M2_HOME=/root/apps/apache-maven-3.5.3 export PATH=PATH:M2_HOME/bin
第五步:检测是否成功 source /etc/profile java -version
第六步:设置maven仓库 这个操作不是必须的,但是最好去操作一下,提高效率。 鉴于远程maven仓库的网络连接不稳定,可以修改和配置远程仓库为阿里的。详细配置如下:
alimaven-central central aliyun maven http://maven.aliyun.com/nexus/content/repositories/central/
alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central
jboss-public-repository-group central JBoss Public Repository Group http://repository.jboss.org/nexus/content/groups/public
2.6. 安装Ant 我们选择的安装包:apache-ant-1.9.9-bin.tar.gz 第一步:从官网下载安装包
第二步:上传安装包到编译机,然后解压缩安装 tar -zxvf /root/apache-ant-1.9.9-bin.tar.gz -C /root/apps/
第三步:配置环境变量 追加如下内容:
第四步:检测是否成功
2.7. 安装FindBugs 我们选择的安装包:findbugs-3.0.0.tar.gz 第一步:从官网下载安装包
第二步:上传安装包到编译机,然后解压缩安装
第三步:配置环境变量: 追加如下内容: vi /etc/profile export ANT_HOME=/root/apps/apache-ant-1.9.9 export PATH=PATH:ANT_HOME/bin 第四步:检测安装是否成功 source /etc/profile ant -version
2.7. 安装FindBugs 我们选择的安装包:findbugs-3.0.0.tar.gz 第一步:从官网下载安装包
第二步:上传安装包到编译机,然后解压缩安装 tar -zxvf /root/findbugs-3.0.0.tar.gz -C /root/apps/ 第三步:配置环境变量: 追加如下内容: vi /etc/profile export ANT_HOME=/root/apps/apache-ant-1.9.9 export PATH=PATH:ANT_HOME/bin 第四步:检测安装是否成功 source /etc/profile ant -version
2.8. 安装make 先检测以下系统是否安装了make工具: make -version 如果没有安装过make,那么请使用命令安装: yum install -y make
2.9. 安装Cmake 我们选择的安装包:cmake-2.8.12.2.tar.gz
第一步:从官网下载安装包
第二步:上传安装包到编译机,然后解压缩安装 tar -zxvf /root/cmake-2.8.12.2.tar.gz -C /root/apps/ 第三步:编译安装 首先进入到根目录: cd /root/apps/cmake-2.8.12.2/ 然后依次执行以下命令:这个步骤的时间有点长,耐心等待一下。 ./bootstrap gmake & gmake install
第四步:检测安装是否成功 cmake -version
2.10. 安装Protobuf 我们选择的安装包:protobuf-2.5.0.tar.gz
第一步:从官网下载安装包
第二步:上传安装包到编译机,然后解压缩安装 tar -zxvf /root/protobuf-2.5.0.tar.gz -C /root/apps/ 第三步:编译安装
首先进入到根目录: cd /root/apps/protobuf-2.5.0/
然后依次执行以下命令: ./configure --prefix=/root/apps/protobuf # 表示安装到这个目录 make make check make install 以上的执行,都比较耗时,只要没报错,请耐心等待着.......>_<
第四步:配置环境变量 添加如下内容: vi /etc/profile export PROTOBUF_HOME=/root/apps/protobuf export PATH=PATH:PROTOBUF_HOME/bin 注意:PROTOBUF_HOME就是我们在执行configure命令的时候指定的目录
第五步:检测安装是否成功 source /etc/profile protoc --version 2.11. 安装Snappy 我们选择的安装包:snappy-1.1.1.tar.gz 第一步:从官网下载安装包
第二步:上传安装包到编译机,然后使用root用户安装 tar -zxvf /root/snappy-1.1.1.tar.gz -C /root/apps/
第三步:编译安装 cd ~/apps/snappy-1.1.1/ ./configure make make install
第四步:查看snappy lib库
查看snappy库文件 ls -lh /usr/local/lib |grep snappy
编译Hadoop 第一步:解压hadoop源码包 tar -zxvf /root/hadoop-2.7.7-src.tar.gz -C /root/apps/ 第二步:在编译之前防止 java.lang.OutOfMemoryError: Java heap space 堆栈问题,在centos系统中执 行命令 export MAVEN_OPTS="-Xms256m -Xmx512m" 第三步:切换工作目录到hadoop-2.7.7根目录下: cd /root/apps/hadoop-2.7.7-src 第四步:执行编译 Create binary distribution with native code and with documentation:
mvn clean package -Pdist,native -DskipTests -Dtar -Dsnappy.lib=/usr/local/lib - Dbundle.snappy -Drequire.openssl 如果中途编译失败,请重复执行这个命令,直到成功。 如果编译过程中,发现卡住了,请停止这个命令,然后重新再执行一遍就可以了。
查看snappy库文件 ls -lh /usr/local/lib |grep snappy
PS:tar和dist表示用maven项目管理工具对hadoop进行编译,编译好了之后会打成tar.gz包放到 hadoop-dist目录下,native和docs表示编译出来会编译出来本地库,并且把文档打包到该.tar.gz文件 中,skipTests表示忽略测试 PS:如果有关于KMS的编译报错的话,大概是因为tomcat(apache-tomcat-6.0.48.tar.gz)的下载有 问题。请自行下载,然后放到对应的位置,可以参考这篇文章来解决:https://blog.csdn.net/qq_3413 9020/article/details/90340425,异常信息是这样的: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun- plugin:1.7:run (dist) on project hadoop-kms: An Ant BuildException has occured: exec returned: 2 [ERROR] around Ant part ...... @ 10:118 in /root/apps/hadoop-2.7.7-src/hadoop-common-project/hadoop- kms/target/antrun/build-main.xml
自行下载tomcat放到: cp ~/apache-tomcat-6.0.48.tar.gz /root/apps/hadoop-2.7.7-src/hadoop-common-project/hadoop-kms/downloads cp ~/apache-tomcat-6.0.48.tar.gz /root/apps/hadoop-2.7.7-src/hadoop-hdfs-project/hadoop-hdfs-httpfs/downloads
第五步:静静等待编译……. 第一次编译预估一个小时左右
第六步:编译成功 编译成功了的话,最后的日志信息。 [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] Apache Hadoop Main 2.7.7 ........................... SUCCESS [ 4.549 s] [INFO] Apache Hadoop Build Tools .......................... SUCCESS [ 3.072 s] [INFO] Apache Hadoop Project POM .......................... SUCCESS [ 2.412 s] [INFO] Apache Hadoop Annotations .......................... SUCCESS [ 4.514 s] [INFO] Apache Hadoop Assemblies ........................... SUCCESS [ 0.332 s] [INFO] Apache Hadoop Project Dist POM ..................... SUCCESS [ 2.572 s] [INFO] Apache Hadoop Maven Plugins ........................ SUCCESS [ 7.925 s] [INFO] Apache Hadoop MiniKDC .............................. SUCCESS [ 8.304 s] [INFO] Apache Hadoop Auth ................................. SUCCESS [ 8.775 s] [INFO] Apache Hadoop Auth Examples ........................ SUCCESS [ 4.661 s] [INFO] Apache Hadoop Common ............................... SUCCESS [02:00 min] [INFO] Apache Hadoop NFS .................................. SUCCESS [ 9.090 s] [INFO] Apache Hadoop KMS .................................. SUCCESS [ 14.194 s] [INFO] Apache Hadoop Common Project ....................... SUCCESS [ 0.093 s] [INFO] Apache Hadoop HDFS ................................. SUCCESS [02:41 min] [INFO] Apache Hadoop HttpFS ............................... SUCCESS [ 23.714 s] [INFO] Apache Hadoop HDFS BookKeeper Journal .............. SUCCESS [ 8.954 s] [INFO] Apache Hadoop HDFS-NFS ............................. SUCCESS [ 5.944 s] [INFO] Apache Hadoop HDFS Project ......................... SUCCESS [ 0.042 s] [INFO] hadoop-yarn ........................................ SUCCESS [ 0.077 s] [INFO] hadoop-yarn-api .................................... SUCCESS [ 47.872 s]
第七步:寻找安装好的安装包 编译成功之后,hadoop-2.7.7.tar.gz位于/root/apps/hadoop-2.7.7-src/hadoop-dist/target目录下,这 是编译后该文件夹的状态 [INFO] hadoop-yarn-common ................................. SUCCESS [ 47.298 s] [INFO] hadoop-yarn-server ................................. SUCCESS [ 0.101 s] [INFO] hadoop-yarn-server-common .......................... SUCCESS [ 13.572 s] [INFO] hadoop-yarn-server-nodemanager ..................... SUCCESS [ 22.335 s] [INFO] hadoop-yarn-server-web-proxy ....................... SUCCESS [ 5.139 s] [INFO] hadoop-yarn-server-applicationhistoryservice ....... SUCCESS [ 9.246 s] [INFO] hadoop-yarn-server-resourcemanager ................. SUCCESS [ 28.326 s] [INFO] hadoop-yarn-server-tests ........................... SUCCESS [ 6.921 s] [INFO] hadoop-yarn-client ................................. SUCCESS [ 8.189 s] [INFO] hadoop-yarn-server-sharedcachemanager .............. SUCCESS [ 5.153 s] [INFO] hadoop-yarn-applications ........................... SUCCESS [ 0.046 s] [INFO] hadoop-yarn-applications-distributedshell .......... SUCCESS [ 3.670 s] [INFO] hadoop-yarn-applications-unmanaged-am-launcher ..... SUCCESS [ 2.591 s] [INFO] hadoop-yarn-site ................................... SUCCESS [ 0.115 s] [INFO] hadoop-yarn-registry ............................... SUCCESS [ 6.537 s] [INFO] hadoop-yarn-project ................................ SUCCESS [ 4.812 s] [INFO] hadoop-mapreduce-client ............................ SUCCESS [ 0.237 s] [INFO] hadoop-mapreduce-client-core ....................... SUCCESS [ 28.160 s] [INFO] hadoop-mapreduce-client-common ..................... SUCCESS [ 22.924 s] [INFO] hadoop-mapreduce-client-shuffle .................... SUCCESS [ 5.353 s] [INFO] hadoop-mapreduce-client-app ........................ SUCCESS [ 12.172 s] [INFO] hadoop-mapreduce-client-hs ......................... SUCCESS [ 8.190 s] [INFO] hadoop-mapreduce-client-jobclient .................. SUCCESS [ 8.825 s] [INFO] hadoop-mapreduce-client-hs-plugins ................. SUCCESS [ 2.338 s] [INFO] Apache Hadoop MapReduce Examples ................... SUCCESS [ 7.318 s] [INFO] hadoop-mapreduce ................................... SUCCESS [ 2.876 s] [INFO] Apache Hadoop MapReduce Streaming .................. SUCCESS [ 5.552 s] [INFO] Apache Hadoop Distributed Copy ..................... SUCCESS [ 10.235 s] [INFO] Apache Hadoop Archives ............................. SUCCESS [ 2.436 s] [INFO] Apache Hadoop Rumen ................................ SUCCESS [ 6.994 s] [INFO] Apache Hadoop Gridmix .............................. SUCCESS [ 5.701 s] [INFO] Apache Hadoop Data Join ............................ SUCCESS [ 3.263 s] [INFO] Apache Hadoop Ant Tasks ............................ SUCCESS [ 2.552 s] [INFO] Apache Hadoop Extras ............................... SUCCESS [ 3.743 s] [INFO] Apache Hadoop Pipes ................................ SUCCESS [ 7.674 s] [INFO] Apache Hadoop OpenStack support .................... SUCCESS [ 6.348 s] [INFO] Apache Hadoop Amazon Web Services support .......... SUCCESS [36:42 min] [INFO] Apache Hadoop Azure support ........................ SUCCESS [ 39.897 s] [INFO] Apache Hadoop Client ............................... SUCCESS [ 9.289 s] [INFO] Apache Hadoop Mini-Cluster ......................... SUCCESS [ 1.060 s] [INFO] Apache Hadoop Scheduler Load Simulator ............. SUCCESS [ 6.998 s] [INFO] Apache Hadoop Tools Dist ........................... SUCCESS [ 8.306 s] [INFO] Apache Hadoop Tools ................................ SUCCESS [ 0.052 s] [INFO] Apache Hadoop Distribution 2.7.7 ................... SUCCESS [ 38.204 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 51:06 min [INFO] Finished at: 2020-04-03T10:51:47+08:00 [INFO] ------------------------------------------------------------------------
第七步:寻找安装好的安装包 编译成功之后,hadoop-2.7.7.tar.gz位于/root/apps/hadoop-2.7.7-src/hadoop-dist/target目录下,这 是编译后该文件夹的状态
看完上述内容,你们掌握怎么实现Hadoop集群搭建的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!