1. 程式人生 > >在docker的centos官方映象中安裝hadoop的一些關鍵步驟

在docker的centos官方映象中安裝hadoop的一些關鍵步驟

在docker中使用
$ docker pull centos:centos6.7
拉去centos6.7映象,拉完後直接用 docker create命令建立容器。
很慢?可以用阿里雲加速

1. JAVA環境

安裝java openjdk 1.8

$ yum install java-1.8.0-openjdk

檢視jdk安裝位置

$ rpm -ql java-1.8.0-openjdk

我的是在/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-3.b16.el6_9.x86_64 這個位置,而且這個目錄下只有一個jre資料夾

1.1 配置JAVA環境變數

建議配到使用者環境資訊裡去
先開啟自己的使用者環境資訊配置檔案

$ source ~/.bash_profile

再使用下述命令檢視是否配置成功,如果沒有輸出任何內容,則表示配置有問題

$ echo $JAVA_HOME

二、修改Hadoop的配置檔案

1. hadoop-env.sh、yarn-env.sh

初始的hadoop-env.sh檔案內容如下,有一行為

...
export JAVA_HOME=${JAVA_HOME}
...

這樣是不行的,要修改為絕對路徑

...
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8
.0.141-3.b16.el6_9.x86_64 ...

而在yarn-env.sh中,export JAVA_HOME 是被註釋掉的,所以需要將前面的#號去掉,再寫成上面的樣子

2. core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

請根據自己使用的需求,是單機還是分散式進行百度搜索

3. hdfs

因為使用的是openjdk,所以需要將這個檔案修改一下,不然會報找不到java程式的錯誤。
對於hdfs(在bin目錄下)指令碼,需要修改JAVA變數,來使得它能找到java程式

...
else
    # run it
JAVA=$JAVA_HOME/jre/bin/java #指定java程式 exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "[email protected]" fi

如果在執行start-all.sh時也報未找到java程式的錯誤,只需根據錯誤提示找到相應的指令碼,新增上述程式碼即可。