linux上hadoop2.4.0安裝配置

1 環境準備java

安裝java-1.6(jdk)node

安裝sshweb

1.1 安裝jdkubuntu

(1)下載安裝jdkssh

在/usr/lib下建立java文件夾,輸入命令:分佈式

cd /usr/lib
mkdir java

輸入命令:oop

sudo apt-get install sun-java6-jdk

下載後執行安裝文件測試

(2)配置環境變量ui

輸入命令:spa

sudo gedit /etc/environment

將以下內容加入其中:

JAVA_HOME=/usr/lib/java/jdk1.6.0_45
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
/usr/lib/java/jdk1.6.0_45/bin:/usr/lib/java/jdk1.6.0_45:/home/ylf/hadoop/bin:/home/ylf/hadoop/sbin" CLASSPATH=/usr/lib/java/jdk1.6.0_45/lib:/usr/lib/java/jdk1.6.0_45/jre/lib

其中path部分是在你原有的path變量基礎上加入你所安裝的jdk路徑。

執行以下命令使得配置生效:

source /etc/environment

(3)驗證java是否安裝成功

輸入命令:

java -version

1.2 配置ssh免密碼登陸

輸入命令:

sudo apt-get install ssh

配置能夠無密碼登錄本機:

在當前用戶目錄下新建隱藏文件.ssh,輸入命令:

mkdir .ssh

接下來,輸入命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

這個命令會在.ssh文件夾下建立兩個文件id_dsa及id_dsa.pub,這是一對私鑰和公鑰,而後把id_dsa.pub(公鑰)追加到受權的key裏面去,輸入命令:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

驗證ssh已安裝成功及無密碼登錄本機,輸入命令:

ssh -version

顯示結果:

Bad escape character 'rsion'.

這顯示ssh已經安裝成功。

登錄ssh,輸入命令:

ssh localhost

第一次登錄可能會詢問是否繼續連接,輸入yes便可,之後登錄直接登進去。

顯示結果:

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

Last login: Sun Oct 12 13:27:58 2014 from localhost

2.安裝hadoop2.4.0

2.1 下載hadoop2.4.0

從官網上下載hadoop-2.4.0.tar.gz

2.2 解壓hadoop-2.4.0.tar.gz,並重命名爲hadoop

tar xzvf hadoop-2.4.0.tar.gz
mv hadoop-2.4.0 hadoop

 

2.3 配置環境變量

sudo gedit /etc/environment

在文件中加入:

HADOOP_HOME=/home/ylf/hadoop
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
/usr/lib/java/jdk1.6.0_45/bin:/usr/lib/java/jdk1.6.0_45:/home/ylf/hadoop/bin:/home/ylf/hadoop/sbin"

其中path爲原有的path變量中加入hadoop的路徑。

執行以下命令,使之生效:

source /etc/environment

2.4單機模式配置

單機模式不用任何配置就能夠直接進行測試。

運行hadoop自帶的wordcount實例,統計一批文本文件中單詞出現的次數

bin/hadoop jar /usr/local/hadoop2.4.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.0.jar wordcount input output

其中input已經上傳至hdfs中,上傳命令:

./bin/hdfs dfs -put input /input

2.5 僞分佈式模式

2.5.1 修改配置文件

在當前用戶目錄下建立文件夾hadoop_tmp,輸入命令:

mkdir hadoop_tmp

配置文件都在安裝目錄的etc/hadoop下

修改hadoop-env.sh

將export JAVA_HOME=${JAVA_HOME}改成你本身安裝的jdk路徑:

export JAVA_HOME=/usr/lib/java/jdk1.6.0_45

修改core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
    <final>true</final>
  </property>

  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/ylf/hadoop_tmp</value>
  </property>
</configuration>

修改hdfs-site.xml:

<configuration>
        <property>
      <name>dfs.namenode.name.dir</name>
      <value>/home/ylf/hadoop/dfs/namenode</value>
      <final>true</final>
    </property>      
     <property>
       <name>dfs.datanode.data.dir</name>
       <value>/home/ylf/hadoop/dfs/datanode</value>
      <final>true</final>
    </property>
    <property>
      <name>dfs.http.address</name>
      <value>localhost:50070</value>
       <description>
         The address and the base port where the dfs namenode web ui will listen on.
If the port is
0 then the server will start on a free port. </description> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>

修改mapred-site.xml

<configuration>
        <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
    <property>
      <name>mapred.job.tracker</name>
      <value>hdfs://localhost:9001</value>
    </property>
        <property>  
          <name>mapred.system.dir</name>  
          <value>file:/home/ylf/hadoop/mapred/system</value>  
          <final>true</final>  
        </property>  
       
        <property>  
          <name>mapred.local.dir</name>  
          <value>file:/home/ylf/hadoop/mapred/local</value>  
          <final>true</final>  
        </property> 
</configuration>

修改yarn-site.xml:

<configuration>

<!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description>shuffle service that needs to be set for Map Reduce to run</description>
  </property>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
    <description>hostname of Resource Manager</description>
  </property>
</configuration>

修改slaves文件

localhost

默認就是localhost,因此不用修改。

啓動僞分佈式模式:

第一次啓動都要格式化下數據文件,命令:

./bin/hdfs namenode -format

啓動hadoop,命令:

./sbin/start-all.sh

查看,命令:

jps

結果:

表示啓動成功。

2.6 web訪問端口

NameNode 50070
ResourceManager 8088
MapReduce JobHistory Server 19888

 

 

 

 

 

訪問http://localhost:50070

訪問http://localhost:8088

其中19888端口要啓動JobHistoryServer進程,啓動命令以下:

./sbin/mr-jobhistory-daemon.sh start historyserver

而後訪問http://localhost:19888

到此爲止,hadoop的僞分佈式安裝配置講解完畢。

hadoop基本命令:

1.查看hdfs 文件夾下文件命令

hadoop fs -ls dir

2.從本地上傳至hdfs

hadoop fs -copyFromLocal input/hello.txt /input/hello.txt

3.從hdfs下載至本地

hadoop fs -copyToLocal /input/hello.txt input/hello.copy.txt

4.建立文件夾

hadoop fs -mkdir testDir

5.查看hdfs文件列表

hadoop fs -lsr /testDir
相關文章
相關標籤/搜索