Hadoop2.X/YARN環境搭建--CentOS7.0 JDK配置,centos7.0

來源:互聯網
上載者:User

Hadoop2.X/YARN環境搭建--CentOS7.0 JDK配置,centos7.0

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|grep openjdk -i #尋找已經安裝的OpenJDK,-i表示忽略“openjdk”的大小寫

 

現在將之全部刪除:

[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系列系統內建的yum進行刪除openjdk,yum類似ubuntu中的apt-get,均用於安裝、卸載及更新系統內建的軟體,注意:以上均以空格間隔

 

第二步:安裝JDK

1、解壓

首先解壓下載得來的JDK:(JDK的tar.gz壓縮包放在了~/dev目錄下)

[Randy@localhost ~]$ sudo mkdir /usr/lib/jdk #如若沒有/usr/lib/jdk路徑,則執行此句予以建立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、配置環境變數

[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、修改系統預設的JDK

[Randy@localhost ~]$  sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk/bin/java 300  #使系統預設的java命令是/usr/lib/jdk/bin中的java命令
[Randy@localhost ~]$  sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/bin/javac 300  #使系統預設的javac命令是/usr/lib/jdk/bin中的javac命令
  [Randy@localhost ~]$ sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jdk/bin/jar 300 #使系統預設的jar命令是/usr/lib/jdk/bin中的jar命令
[Randy@localhost ~]$  sudo update-alternatives --config java   #配置預設java命令
共有 1 個提供“java”的程式。
  選項    命令
-----------------------------------------------
*+ 1          /usr/lib/jdk/bin/java
按 Enter 保留當前選項[+],或者鍵入選項編號:1
[Randy@localhost ~]$ sudo update-alternatives --config javac   #配置預設java命令
共有 1 個提供“java”的程式。
  選項    命令
-----------------------------------------------
*+ 1          /usr/lib/jdk/bin/javac
按 Enter 保留當前選項[+],或者鍵入選項編號: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系統裡執行32位程式如果出現/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路徑,則執行此句予以建立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、配置環境變數

[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、修改系統預設的JDK

[Randy@localhost ~]$  sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk/bin/java 300  #使系統預設的java命令是/usr/lib/jdk/bin中的java命令
[Randy@localhost ~]$  sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/bin/javac 300  #使系統預設的javac命令是/usr/lib/jdk/bin中的javac命令
  [Randy@localhost ~]$ sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jdk/bin/jar 300 #使系統預設的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 保留當前選項[+],或者鍵入選項編號: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 保留當前選項[+],或者鍵入選項編號: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系統裡執行32位程式如果出現/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory,安裝下glic即可

附:

說完了JDK的環境配置,順便聊聊CentOS 7內建的資料庫MariaDB的設定。

現在,RHEL 7/CentOS 7內建的資料庫都不再是MySQL了,主要是因為開源的能力更大,現在google也正將其資料從MySQL遷移到MariaDB。為體驗最先進的思想,以後我的Hive資料庫平台將是MariaDB

 

系統裝好後,系統的mariadb服務是出於stop狀態的,所以應該先啟動服務:

[Randy@localhost ~]$ sudo systemctl start mariadb  #之前CentOS版本執行sudo service mariadb start,而CentOS7執行service 命令也可生效,但提示:Redirecting to /bin/systemctl start  mariadb.service
[Randy@localhost ~]$ sudo systemctl stop mariadb  #停止mariadb服務
[Randy@localhost ~]$ sudo systemctl status mariadb  #查看mariadb狀態
[Randy@localhost ~]$

 

設定mariadb的root密碼為“root”:

命令格式:

sudo mysqladmin -u 使用者名稱 password "新密碼"

如果root已經設定過密碼,採用如下方法:

sudo mysqladmin -u 使用者名稱 password 舊密碼 "新密碼"

由於安裝系統後沒有密碼,所以設定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)]>

想在windows下搭建android的開發平台 也安裝了JDK 環境變數也設定了

3樓說的對,有些東西,要配置在環境變數裡

我的電腦->屬性->進階->環境變數

使用者變數
PATH=D:\Program Files\android-2.2_r01-windows\tools

系統變數
CLASSPATH=.;D:\Program Files\Java\jdk1.6.0_25\lib\dt.jar;D:\Program Files\Java\jdk1.6.0_25\lib\tools.jar
JAVA_HOME:=D:\Program Files\Java\jdk1.6.0_25
PATH=D:\Program Files\Java\jdk1.6.0_25\bin;D:\Program Files\Android\android-sdk-windows\platform-tools

注意,以上幾項,如果變數有,內容為追加的,如果沒有,就另外建立。具體路徑根據你實際安裝地址做修改
 
搭建java環境 JDK怎安裝

sun官網上下載個JDK,一般貌似是jdk_i586.exe這麼個檔案,你雙擊,運行,然後選擇安裝的磁碟路徑。 下一步,下一步,直到完成。
其後,配置環境變數。 win7下,開啟資源管理員,系統屬性,系統進階屬性 ,環境變數 ,然後,建立環境變數 名稱path 內容寫你安裝的JDK路徑。 再建立個casspath 路徑是 你安裝的jdk路徑後補上jre/lib /rt.jar; 最後點確定就好。。
如果還不會,百度JDK 環境變數,肯定有的。。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.