如何实现在Hadoop2.X/YARN环境下搭建CentOS7.0 JDK配置
这篇文章主要讲解了“如何实现在Hadoop2.X/YARN环境下搭建CentOS7.0 JDK配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现在Hadoop2.X/YARN环境下搭建CentOS7.0 JDK配置”吧!
Hadoop是Java写的,他无法使用Linux预安装的OpenJDK,因此安装hadoop前需要先安装JDK(1.6以上)
原材料:在Oracle官网下载的32位JDK:
说明:
1、CentOS 7.0系统现在只有64位的,但是,Hadoop一般支持32位的,在64位环境下有事会有Warning出现,避免真的有神马问题,选择i586的JDK(即32位的),当然,64位的CentOS 7 肯定是兼容32位JDK的,记住:64位系统肯定兼容32位的软件,32位系统不能兼容64位软件。64位只是说明了CPU一次运算的位数为64位,比32位多,64位性能更高。
2、以前的Linux版本JDK有”.bin”文件可供下载,但是,现在官网只提供rpm的安装包与tar.gz的压缩包了,rpm安装包是RedHat系列系统(RedHat/RHEL/Fedora/CentOS)特有的安装文件,直接运行即可,但我们不知道其中的配置方法。所以,为接近底层,我选择tar.gz的压缩包予以安装。
安装方式:
自带的OpenJDK与之后安装的JDK,不可兼得,故而有两种操作:1、卸载删除原有的OpenJDK,再安装JDK 2、二者依然共存,但是,配置何者为真正有效的JDK
Method 1: 卸载删除原有的OpenJDK,再安装JDK
第一步:卸载删除OpenJDK
卸载删除OpenJDK,首先需要知道到底要删除哪些东西:
[Randy@localhost~]$rpm-qa|grepopenjdk-i#查找已经安装的OpenJDK,-i表示忽略“openjdk”的大小写
现在将之全部删除:
[Randy@localhost~]$sudoyumremovejava-1.6.0-openjdk-devel-1.6.0.0-6.1.13.4.el7_0.x86_64java-1.7.0-openjdk-devel-1.7.0.65-2.5.1.2.el7_0.x86_64java-1.7.0-openjdk-headless-1.7.0.65-2.5.1.2.el7_0.x86_64java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64java-1.6.0-openjdk-1.6.0.0-6.1.13.4.el7_0.x86_64#用RedHat系列系统自带的yum进行删除openjdk,yum类似ubuntu中的apt-get,均用于安装、卸载及更新系统自带的软件,注意:以上均以空格间隔
第二步:安装JDK
1、解压
首先解压下载得来的JDK:(JDK的tar.gz压缩包放在了~/dev目录下)
[Randy@localhost~]$sudomkdir/usr/lib/jdk#如若没有/usr/lib/jdk路径,则执行此句予以创建jdk文件夹[Randy@localhost~]$sudotar-zxvfjdk-8u11-linux-i586.tar.gz-C/usr/lib/jdk#注意:-C,--directory=DIR改变至目录DIR[Randy@localhost~]$ls/usr/lib/jdkjdk1.8.0_11[Randy@localhost~]$ls/usr/lib/jdk/jdk1.8.0_11/binjavafx-src.zipmanTHIRDPARTYLICENSEREADME-JAVAFX.txtCOPYRIGHTjreREADME.htmlTHIRDPARTYLICENSEREADME.txtdblibreleaseincludeLICENSEsrc.zip[Randy@localhost~]$
移动jdk1.8.0_11中的文件到/usr/lib/jdk,并删除jdk1.8.0_11文件夹:
[Randy@localhost~]$sudocp-rf/usr/lib/jdk/jdk1.8.0_11/*/usr/lib/jdk/#移动[Randy@localhost~]$[Randy@localhost~]$ls/usr/lib/jdkbinjavafx-src.zipLICENSEsrc.zipCOPYRIGHTjdk1.8.0_11manTHIRDPARTYLICENSEREADME-JAVAFX.txtdbjreREADME.htmlTHIRDPARTYLICENSEREADME.txtincludelibrelease[Randy@localhost~]$sudorm-rf/usr/lib/jdk/jdk1.8.0_11/#删除[Randy@localhost~]$ls/usr/lib/jdkbinjavafx-src.zipmanTHIRDPARTYLICENSEREADME-JAVAFX.txtCOPYRIGHTjreREADME.htmlTHIRDPARTYLICENSEREADME.txtdblibreleaseincludeLICENSEsrc.zip[Randy@localhost~]$
2、配置环境变量
[Randy@localhost~]$sudovim/etc/profile在最后一行插入:
#JAVAEnvironmentexportJAVA_HOME=/usr/lib/jdkexportJRE_HOME=/usr/lib/jdk/jreexportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATHexportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib
3、修改系统默认的JDK
[Randy@localhost~]$sudoupdate-alternatives--install/usr/bin/javajava/usr/lib/jdk/bin/java300#使系统默认的java命令是/usr/lib/jdk/bin中的java命令[Randy@localhost~]$sudoupdate-alternatives--install/usr/bin/javacjavac/usr/lib/jdk/bin/javac300#使系统默认的javac命令是/usr/lib/jdk/bin中的javac命令[Randy@localhost~]$sudoupdate-alternatives--install/usr/bin/jarjar/usr/lib/jdk/bin/jar300#使系统默认的jar命令是/usr/lib/jdk/bin中的jar命令[Randy@localhost~]$sudoupdate-alternatives--configjava#配置默认java命令共有1个提供“java”的程序。选项命令-----------------------------------------------*+1/usr/lib/jdk/bin/java按Enter保留当前选项[+],或者键入选项编号:1[Randy@localhost~]$sudoupdate-alternatives--configjavac#配置默认java命令共有1个提供“java”的程序。选项命令-----------------------------------------------*+1/usr/lib/jdk/bin/javac按Enter保留当前选项[+],或者键入选项编号:1
第三步:测试JDK
[Randy@localhost~]$java-versionjavaversion"1.8.0_11"Java(TM)SERuntimeEnvironment(build1.8.0_11-b12)JavaHotSpot(TM)ServerVM(build25.11-b03,mixedmode)[Randy@localhost~]$javac-versionjavac1.8.0_11
测试是遇到了一个问题:
[Randy@localhost~]$java-bash:/usr/bin/java:/lib/ld-linux.so.2:badELFinterpreter:没有那个文件或目录[Randy@localhost~]$ls/lib/ld-linuxls:无法访问/lib/ld-linux:没有那个文件或目录[Randy@localhost~]$java-version-bash:/usr/bin/java:/lib/ld-linux.so.2:badELFinterpreter:没有那个文件或目录[Randy@localhost~]$
解决方法是:
[Randy@localhost~]$sudoyuminstallglibc.i686#在64系统里执行32位程序如果出现/lib/ld-linux.so.2:badELFinterpreter:Nosuchfileordirectory,安装下glic即可
Method 2: 二者共存,配置何者为真正有效的JDK
与Method1类似,只是不需要卸载删除OpenJDK
1、解压
首先解压下载得来的JDK:(JDK的tar.gz压缩包放在了~/dev目录下)
[Randy@localhost~]$sudomkdir/usr/lib/jdk#如若没有/usr/lib/jdk路径,则执行此句予以创建jdk文件夹[Randy@localhost~]$sudotar-zxvfjdk-8u11-linux-i586.tar.gz-C/usr/lib/jdk#注意:-C,--directory=DIR改变至目录DIR[Randy@localhost~]$ls/usr/lib/jdkjdk1.8.0_11[Randy@localhost~]$ls/usr/lib/jdk/jdk1.8.0_11/binjavafx-src.zipmanTHIRDPARTYLICENSEREADME-JAVAFX.txtCOPYRIGHTjreREADME.htmlTHIRDPARTYLICENSEREADME.txtdblibreleaseincludeLICENSEsrc.zip[Randy@localhost~]$
移动jdk1.8.0_11中的文件到/usr/lib/jdk,并删除jdk1.8.0_11文件夹:
[Randy@localhost~]$sudocp-rf/usr/lib/jdk/jdk1.8.0_11/*/usr/lib/jdk/#移动[Randy@localhost~]$[Randy@localhost~]$ls/usr/lib/jdkbinjavafx-src.zipLICENSEsrc.zipCOPYRIGHTjdk1.8.0_11manTHIRDPARTYLICENSEREADME-JAVAFX.txtdbjreREADME.htmlTHIRDPARTYLICENSEREADME.txtincludelibrelease[Randy@localhost~]$sudorm-rf/usr/lib/jdk/jdk1.8.0_11/#删除[Randy@localhost~]$ls/usr/lib/jdkbinjavafx-src.zipmanTHIRDPARTYLICENSEREADME-JAVAFX.txtCOPYRIGHTjreREADME.htmlTHIRDPARTYLICENSEREADME.txtdblibreleaseincludeLICENSEsrc.zip[Randy@localhost~]$
2、配置环境变量
[Randy@localhost~]$sudovim/etc/profile在最后一行插入:
#JAVAEnvironmentexportJAVA_HOME=/usr/lib/jdkexportJRE_HOME=/usr/lib/jdk/jreexportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATHexportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib
3、修改系统默认的JDK
[Randy@localhost~]$sudoupdate-alternatives--install/usr/bin/javajava/usr/lib/jdk/bin/java300#使系统默认的java命令是/usr/lib/jdk/bin中的java命令[Randy@localhost~]$sudoupdate-alternatives--install/usr/bin/javacjavac/usr/lib/jdk/bin/javac300#使系统默认的javac命令是/usr/lib/jdk/bin中的javac命令[Randy@localhost~]$sudoupdate-alternatives--install/usr/bin/jarjar/usr/lib/jdk/bin/jar300#使系统默认的jar命令是/usr/lib/jdk/bin中的jar命令[Randy@localhost~]$sudoupdate-alternatives--configjava#配置默认java命令共有3个提供“java”的程序。选项命令-----------------------------------------------*1/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64/jre/bin/java/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java+3/usr/lib/jdk/bin/java按Enter保留当前选项[+],或者键入选项编号:3[Randy@localhost~]$sudoupdate-alternatives--configjavac#配置默认java命令共有3个提供“javac”的程序。选项命令-----------------------------------------------*1/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64/jre/bin/javac/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/javac+3/usr/lib/jdk/bin/javac按Enter保留当前选项[+],或者键入选项编号:3[Randy@localhost~]$
第三步:测试JDK
[Randy@localhost~]$java-versionjavaversion"1.8.0_11"Java(TM)SERuntimeEnvironment(build1.8.0_11-b12)JavaHotSpot(TM)ServerVM(build25.11-b03,mixedmode)[Randy@localhost~]$javac-versionjavac1.8.0_11
测试是遇到了一个问题:
[Randy@localhost~]$java-bash:/usr/bin/java:/lib/ld-linux.so.2:badELFinterpreter:没有那个文件或目录[Randy@localhost~]$ls/lib/ld-linuxls:无法访问/lib/ld-linux:没有那个文件或目录[Randy@localhost~]$java-version-bash:/usr/bin/java:/lib/ld-linux.so.2:badELFinterpreter:没有那个文件或目录[Randy@localhost~]$
解决方法是:
[Randy@localhost~]$sudoyuminstallglibc.i686#在64系统里执行32位程序如果出现/lib/ld-linux.so.2:badELFinterpreter:Nosuchfileordirectory,安装下glic即可
附:
说完了JDK的环境配置,顺便聊聊CentOS 7自带的数据库MariaDB的设置。
现在,RHEL 7/CentOS 7自带的数据库都不再是MySQL了,主要是因为开源的能力更大,现在google也正将其数据从MySQL迁移到MariaDB。为体验最先进的思想,以后我的Hive数据库平台将是MariaDB
系统装好后,系统的mariadb服务是出于stop状态的,所以应该先启动服务:
[Randy@localhost~]$sudosystemctlstartmariadb#之前CentOS版本执行sudoservicemariadbstart,而CentOS7执行service命令也可生效,但提示:Redirectingto/bin/systemctlstartmariadb.service[Randy@localhost~]$sudosystemctlstopmariadb#停止mariadb服务[Randy@localhost~]$sudosystemctlstatusmariadb#查看mariadb状态[Randy@localhost~]$
设置mariadb的root密码为“root”:
命令格式:
sudo mysqladmin -u 用户名 password "新密码"
如果root已经设置过密码,采用如下方法:
sudo mysqladmin -u 用户名 password 旧密码 "新密码"
由于安装系统后没有密码,所以设定root用户密码为“root”:
[Randy@localhost~]$sudomysqladmin-urootpassword"root"
测试:
[Randy@localhost~]$mysql-uroot-proot
显示:
WelcometotheMariaDBmonitor.Commandsendwith;or\g.YourMariaDBconnectionidis3Serverversion:5.5.37-MariaDB-logMariaDBServerCopyright(c)2000,2014,Oracle,MontyProgramAbandothers.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.MariaDB[(none)]>
感谢各位的阅读,以上就是“如何实现在Hadoop2.X/YARN环境下搭建CentOS7.0 JDK配置”的内容了,经过本文的学习后,相信大家对如何实现在Hadoop2.X/YARN环境下搭建CentOS7.0 JDK配置这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。