這篇文章主要講解了“如何實現(xiàn)在Hadoop2.X/YARN環(huán)境下搭建CentOS7.0 JDK配置”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何實現(xiàn)在Hadoop2.X/YARN環(huán)境下搭建CentOS7.0 JDK配置”吧!
在港口等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需求定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,港口網(wǎng)站建設(shè)費用合理。
Hadoop是Java寫的,他無法使用Linux預(yù)安裝的OpenJDK,因此安裝hadoop前需要先安裝JDK(1.6以上)
原材料:在Oracle官網(wǎng)下載的32位JDK:
說明:
1、CentOS 7.0系統(tǒng)現(xiàn)在只有64位的,但是,Hadoop一般支持32位的,在64位環(huán)境下有事會有Warning出現(xiàn),避免真的有神馬問題,選擇i586的JDK(即32位的),當(dāng)然,64位的CentOS 7 肯定是兼容32位JDK的,記?。?4位系統(tǒng)肯定兼容32位的軟件,32位系統(tǒng)不能兼容64位軟件。64位只是說明了CPU一次運算的位數(shù)為64位,比32位多,64位性能更高。
2、以前的Linux版本JDK有”.bin”文件可供下載,但是,現(xiàn)在官網(wǎng)只提供rpm的安裝包與tar.gz的壓縮包了,rpm安裝包是RedHat系列系統(tǒng)(RedHat/RHEL/Fedora/CentOS)特有的安裝文件,直接運行即可,但我們不知道其中的配置方法。所以,為接近底層,我選擇tar.gz的壓縮包予以安裝。
安裝方式:
自帶的OpenJDK與之后安裝的JDK,不可兼得,故而有兩種操作:1、卸載刪除原有的OpenJDK,再安裝JDK 2、二者依然共存,但是,配置何者為真正有效的JDK
Method 1: 卸載刪除原有的OpenJDK,再安裝JDK
第一步:卸載刪除OpenJDK
卸載刪除OpenJDK,首先需要知道到底要刪除哪些東西:
[Randy@localhost ~]$ rpm -qa|grep openjdk -i #查找已經(jīng)安裝的OpenJDK,-i表示忽略“openjdk”的大小寫
現(xiàn)在將之全部刪除:
[Randy@localhost ~]$ sudo yum remove java-1.6.0-openjdk-devel-1.6.0.0-6.1.13.4.el7_0.x86_64 java-1.7.0-openjdk-devel-1.7.0.65-2.5.1.2.el7_0.x86_64 java-1.7.0-openjdk-headless-1.7.0.65-2.5.1.2.el7_0.x86_64 java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64 java-1.6.0-openjdk-1.6.0.0-6.1.13.4.el7_0.x86_64#用RedHat系列系統(tǒng)自帶的yum進行刪除openjdk,yum類似ubuntu中的apt-get,均用于安裝、卸載及更新系統(tǒng)自帶的軟件,注意:以上均以空格間隔
第二步:安裝JDK
1、解壓
首先解壓下載得來的JDK:(JDK的tar.gz壓縮包放在了~/dev目錄下)
[Randy@localhost ~]$ sudo mkdir /usr/lib/jdk #如若沒有/usr/lib/jdk路徑,則執(zhí)行此句予以創(chuàng)建jdk文件夾 [Randy@localhost ~]$ sudo tar -zxvf jdk-8u11-linux-i586.tar.gz -C /usr/lib/jdk #注意:-C, --directory=DIR 改變至目錄 DIR [Randy@localhost ~]$ ls /usr/lib/jdk jdk1.8.0_11 [Randy@localhost ~]$ ls /usr/lib/jdk/jdk1.8.0_11/ bin javafx-src.zip man THIRDPARTYLICENSEREADME-JAVAFX.txt COPYRIGHT jre README.html THIRDPARTYLICENSEREADME.txt db lib release include LICENSE src.zip [Randy@localhost ~]$
移動jdk1.8.0_11中的文件到/usr/lib/jdk,并刪除jdk1.8.0_11文件夾:
[Randy@localhost ~]$ sudo cp -rf /usr/lib/jdk/jdk1.8.0_11/* /usr/lib/jdk/ #移動 [Randy@localhost ~]$ [Randy@localhost ~]$ ls /usr/lib/jdk bin javafx-src.zip LICENSE src.zip COPYRIGHT jdk1.8.0_11 man THIRDPARTYLICENSEREADME-JAVAFX.txt db jre README.html THIRDPARTYLICENSEREADME.txt include lib release [Randy@localhost ~]$ sudo rm -rf /usr/lib/jdk/jdk1.8.0_11/ #刪除 [Randy@localhost ~]$ ls /usr/lib/jdk bin javafx-src.zip man THIRDPARTYLICENSEREADME-JAVAFX.txt COPYRIGHT jre README.html THIRDPARTYLICENSEREADME.txt db lib release include LICENSE src.zip [Randy@localhost ~]$
2、配置環(huán)境變量
[Randy@localhost ~]$ sudo vim /etc/profile 在最后一行插入:
#JAVA Environment export JAVA_HOME=/usr/lib/jdk export JRE_HOME=/usr/lib/jdk/jre export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib
3、修改系統(tǒng)默認的JDK
[Randy@localhost ~]$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk/bin/java 300 #使系統(tǒng)默認的java命令是/usr/lib/jdk/bin中的java命令 [Randy@localhost ~]$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/bin/javac 300 #使系統(tǒng)默認的javac命令是/usr/lib/jdk/bin中的javac命令 [Randy@localhost ~]$ sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jdk/bin/jar 300 #使系統(tǒng)默認的jar命令是/usr/lib/jdk/bin中的jar命令 [Randy@localhost ~]$ sudo update-alternatives --config java #配置默認java命令 共有 1 個提供“java”的程序。 選項 命令 ----------------------------------------------- *+ 1 /usr/lib/jdk/bin/java 按 Enter 保留當(dāng)前選項[+],或者鍵入選項編號:1 [Randy@localhost ~]$ sudo update-alternatives --config javac #配置默認java命令 共有 1 個提供“java”的程序。 選項 命令 ----------------------------------------------- *+ 1 /usr/lib/jdk/bin/javac 按 Enter 保留當(dāng)前選項[+],或者鍵入選項編號:1
第三步:測試JDK
[Randy@localhost ~]$ java -version java version "1.8.0_11" Java(TM) SE Runtime Environment (build 1.8.0_11-b12) Java HotSpot(TM) Server VM (build 25.11-b03, mixed mode) [Randy@localhost ~]$ javac -version javac 1.8.0_11
測試是遇到了一個問題:
[Randy@localhost ~]$ java -bash: /usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: 沒有那個文件或目錄 [Randy@localhost ~]$ ls /lib/ld-linux ls: 無法訪問/lib/ld-linux: 沒有那個文件或目錄 [Randy@localhost ~]$ java -version -bash: /usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: 沒有那個文件或目錄 [Randy@localhost ~]$
解決方法是:
[Randy@localhost ~]$ sudo yum install glibc.i686 #在64系統(tǒng)里執(zhí)行32位程序如果出現(xiàn)/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory,安裝下glic即可
Method 2: 二者共存,配置何者為真正有效的JDK
與Method1類似,只是不需要卸載刪除OpenJDK
1、解壓
首先解壓下載得來的JDK:(JDK的tar.gz壓縮包放在了~/dev目錄下)
[Randy@localhost ~]$ sudo mkdir /usr/lib/jdk #如若沒有/usr/lib/jdk路徑,則執(zhí)行此句予以創(chuàng)建jdk文件夾 [Randy@localhost ~]$ sudo tar -zxvf jdk-8u11-linux-i586.tar.gz -C /usr/lib/jdk #注意:-C, --directory=DIR 改變至目錄 DIR [Randy@localhost ~]$ ls /usr/lib/jdk jdk1.8.0_11 [Randy@localhost ~]$ ls /usr/lib/jdk/jdk1.8.0_11/ bin javafx-src.zip man THIRDPARTYLICENSEREADME-JAVAFX.txt COPYRIGHT jre README.html THIRDPARTYLICENSEREADME.txt db lib release include LICENSE src.zip [Randy@localhost ~]$
移動jdk1.8.0_11中的文件到/usr/lib/jdk,并刪除jdk1.8.0_11文件夾:
[Randy@localhost ~]$ sudo cp -rf /usr/lib/jdk/jdk1.8.0_11/* /usr/lib/jdk/ #移動 [Randy@localhost ~]$ [Randy@localhost ~]$ ls /usr/lib/jdk bin javafx-src.zip LICENSE src.zip COPYRIGHT jdk1.8.0_11 man THIRDPARTYLICENSEREADME-JAVAFX.txt db jre README.html THIRDPARTYLICENSEREADME.txt include lib release [Randy@localhost ~]$ sudo rm -rf /usr/lib/jdk/jdk1.8.0_11/ #刪除 [Randy@localhost ~]$ ls /usr/lib/jdk bin javafx-src.zip man THIRDPARTYLICENSEREADME-JAVAFX.txt COPYRIGHT jre README.html THIRDPARTYLICENSEREADME.txt db lib release include LICENSE src.zip [Randy@localhost ~]$
2、配置環(huán)境變量
[Randy@localhost ~]$ sudo vim /etc/profile 在最后一行插入:
#JAVA Environment export JAVA_HOME=/usr/lib/jdk export JRE_HOME=/usr/lib/jdk/jre export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib
3、修改系統(tǒng)默認的JDK
[Randy@localhost ~]$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk/bin/java 300 #使系統(tǒng)默認的java命令是/usr/lib/jdk/bin中的java命令 [Randy@localhost ~]$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/bin/javac 300 #使系統(tǒng)默認的javac命令是/usr/lib/jdk/bin中的javac命令 [Randy@localhost ~]$ sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jdk/bin/jar 300 #使系統(tǒng)默認的jar命令是/usr/lib/jdk/bin中的jar命令 [Randy@localhost ~]$ sudo update-alternatives --config java #配置默認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 保留當(dāng)前選項[+],或者鍵入選項編號:3 [Randy@localhost ~]$ sudo update-alternatives --config javac #配置默認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 保留當(dāng)前選項[+],或者鍵入選項編號:3 [Randy@localhost ~]$
第三步:測試JDK
[Randy@localhost ~]$ java -version java version "1.8.0_11" Java(TM) SE Runtime Environment (build 1.8.0_11-b12) Java HotSpot(TM) Server VM (build 25.11-b03, mixed mode) [Randy@localhost ~]$ javac -version javac 1.8.0_11
測試是遇到了一個問題:
[Randy@localhost ~]$ java -bash: /usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: 沒有那個文件或目錄 [Randy@localhost ~]$ ls /lib/ld-linux ls: 無法訪問/lib/ld-linux: 沒有那個文件或目錄 [Randy@localhost ~]$ java -version -bash: /usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: 沒有那個文件或目錄 [Randy@localhost ~]$
解決方法是:
[Randy@localhost ~]$ sudo yum install glibc.i686 #在64系統(tǒng)里執(zhí)行32位程序如果出現(xiàn)/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory,安裝下glic即可
附:
說完了JDK的環(huán)境配置,順便聊聊CentOS 7自帶的數(shù)據(jù)庫MariaDB的設(shè)置。
現(xiàn)在,RHEL 7/CentOS 7自帶的數(shù)據(jù)庫都不再是MySQL了,主要是因為開源的能力更大,現(xiàn)在google也正將其數(shù)據(jù)從MySQL遷移到MariaDB。為體驗最先進的思想,以后我的Hive數(shù)據(jù)庫平臺將是MariaDB
系統(tǒng)裝好后,系統(tǒng)的mariadb服務(wù)是出于stop狀態(tài)的,所以應(yīng)該先啟動服務(wù):
[Randy@localhost ~]$ sudo systemctl start mariadb #之前CentOS版本執(zhí)行sudo service mariadb start,而CentOS7執(zhí)行service 命令也可生效,但提示:Redirecting to /bin/systemctl start mariadb.service [Randy@localhost ~]$ sudo systemctl stop mariadb #停止mariadb服務(wù) [Randy@localhost ~]$ sudo systemctl status mariadb #查看mariadb狀態(tài) [Randy@localhost ~]$
設(shè)置mariadb的root密碼為“root”:
命令格式:
sudo mysqladmin -u 用戶名 password "新密碼"
如果root已經(jīng)設(shè)置過密碼,采用如下方法:
sudo mysqladmin -u 用戶名 password 舊密碼 "新密碼"
由于安裝系統(tǒng)后沒有密碼,所以設(shè)定root用戶密碼為“root”:
[Randy@localhost ~]$ sudo mysqladmin -u root password "root"
測試:
[Randy@localhost ~]$ mysql -u root -proot
顯示:
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 5.5.37-MariaDB-log MariaDB Server Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
感謝各位的閱讀,以上就是“如何實現(xiàn)在Hadoop2.X/YARN環(huán)境下搭建CentOS7.0 JDK配置”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何實現(xiàn)在Hadoop2.X/YARN環(huán)境下搭建CentOS7.0 JDK配置這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!