二、安裝JDK、Hadoop及其配置


前期准備:創建一個新用戶hadoop


 

$ sudo useradd -m hadoop -s /bin/bash

設置密碼

$ sudo passwd hadoop #也可以設置你喜歡的

需輸入兩次密碼

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

提升hadoop用戶的權限,編輯:

$ vi /etc/sudoers

:92  enter(轉到92行),在root  ALL=(ALL)    ALL下,添加

hadoop    ALL=(ALL)    ALL    

保存,退出,切換至hadoop用戶

su hadoop

配置SSH免密登錄

 


 

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 755 ~/.ssh
$ chmod 0600 ~/.ssh/authorized_keys

驗證ssh

$ ssh localhost

 

JDK安裝


先查看是否安裝,如果安裝了,先卸載當前版本

下載JDK

 

 

1、方法一:在線下載

$ cd /opt/software   #software是我自己建的一個存放安裝包的文件夾
$ wget https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-x64.tar.gz?AuthParam=1558191965_2d075bd3a41704e8e152ef0cfd98ba3e 
$ sudo tar -zxvf jdk-8u211-linux-x64.tar.gz -C /usr/local/ #解壓到
/usr/local/ 這個路徑下
 
        

2、方法二:在本機上下載,然后直接用工具拖進去,解壓方法相同

添加環境變量

$ vi /etc/profile.d/en.sh

切換至編輯模式,輸入以下內容:

export JAVA_HOME=/usr/local/jdk  #這是我重命名之后的,原來是jdk1.8.0_211
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

source配置文件生效

$ source /etc/profile.d/en.sh

輸出JAVA_HOME路徑,查看配置是否生效

$ echo $JAVA_HOME

輸出以下內容說明配置已經生效

/usr/local/jdk1.8.0_211

查看是否java安裝成功

$ java -version

顯示以下信息說明安裝成功

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

 

安裝Hadoop

 


 

與JDK相同,可以在線下載,也可以直接拖過去

解壓

$ sudo tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local/  #解壓到/usr
$ mv hadoop-2.7.1 hadoop # 重命名
cd /usr/local/hadoop 

$ ./bin/hadoop version
#你將會看到類似內容:
Hadoop 2.7.1
Source code repository ………………………………(省略)

 

 

添加環境變量

$ vi /etc/profile.d/en.sh
#輸入以下內容:
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
$ source /etc/profile.d/en.sh

  

配置core-site.xml:

$ sudo vi /usr/local/hadoop/etc/hadoop/core-site.xml
#輸入以下內容:
<configuration>
   <property>
      <name>hadoop.tmp.dir</name>
      <value>file:/usr/local/hadoop/tmp</value>
      <description>Abase for other temporary directories.
      </description>
  </property>
  <property>
       <name>fs.defaultFS</name>
       <value>hdfs://localhost:9000</value>
  </property>
</configuration>

$ source /etc/profile.d/en.sh

 

配置hadoop-env.sh

$ sudo vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh

在里面添加,如果原來有,就注釋或刪掉

export JAVA_HOME=/usr/local/jdk

配置hdfs-site.xml:hdfs-site.xml文件中包含,如:復制數據的值,NameNode的路徑,本地文件系統,要存儲Hadoop基礎架構的Datanode路徑的信息

$ sudo vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml
#寫下以下 <configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

 

配置完成后,執行NameNode的格式化

$ /usr/local/hadoop/bin/hdfs namenode -format
#出現類似輸出,說明名稱節點設置成功
19/05/19 11:13:33 INFO common.Storage: Storage directory /opt/module/hadoop-2.7.2/tmp/dfs/name has been successfully formatted. 19/05/19 11:13:33 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0 19/05/19 11:13:33 INFO util.ExitUtil: Exiting with status 0 19/05/19 11:13:33 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at hadoop137/192.168.137.110 ************************************************************/

#如果失敗with status 后面為1
#可以先切換到root下,把/usr/local/hadoop/tmp下的tmp文件刪除,再執行格式化
 

配置yarn-site.xml

換到hadoop用戶下

$ sudo vi /usr/local/hadoop/etc/hadoop/yarn-site.xml
#寫下
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

 

配置mapred-site.xml

(此文件用於指定MapReduce框架以使用。默認情況下Hadoop包含yarn-site.xml模板。首先,它需要從mapred-site.xml復制模板到mapred-site.xml文件。)

 

 

sudo vi /usr/local/hadoop/etc/hadoop/mapred-site.xml

 

#復制過后,再添加
<
configuration> <!--模板中有!復制時不包含configuration標簽--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>

 

啟動:/usr/local/hadoop/sbin/start-dfs.sh,出現類似輸出,說明安裝成功:

Starting namenodes on [localhost]
localhost: namenode is running as process 16525.  Stop it first.
Starting datanodes
………………………………

通過jps查看是否啟動成功

如果啟動不成功,出現權限問題

運行以下命令,把hadoop目錄所有用戶改到hadoop上

 

 sudo chown -R hadoop:root /usr/local/hadoop

 

再次運行

測試:

1、虛擬機內部測試:

(1)curl http://localhost:50070

(2)curl http://172.0.0.1:50070

(3)curl http://192.168.137.136:50070

如果發現無法訪問,手動修改hdfs-site.xml, 修改hdfs-site.xml,添加如下,測試時把端口號換成9870

<property>
  <name>dfs.http.address</name>
  <value>0.0.0.0:9870</value>
</property>

2、本地測試:

http://192.168.137.136:50070

http://192.168.137.136:8088/

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM