hadoop的單機環境搭建

翔之天空發表於2016-11-18


本次實驗參考了官方文件如下:

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html

 

版本說明:

作業系統:rhel-linux-64

hadoop版本:hadoop-3.0.0-alpha1  下載地址:http://hadoop.apache.org/releases.html

Java版本:jdk 1.8  下載地址:https://www.java.com/en/download/manual.jsp#lin



一:環境配置

1、安裝jdk:
[root@test2 setup]# rpm -ivh jre-8u111-linux-x64.rpm

2、安裝配置pdsh
[root@test2 setup]# tar -jxf pdsh-2.26.tar.bz2 && cd pdsh-2.26
[root@test2 pdsh-2.26]# ./configure --with-ssh --without-rsh && make && make install
[hadoop@test2 pdsh-2.26] # pdsh -v

3、建立hadoop 使用者:
[root@test1 ~]# useradd hadoop
[root@test1 ~]# passwd hadoop

4、Hadoop使用者解壓縮安裝包:
[hadoop@test2 setup]# gunzip hadoop-3.0.0-alpha1.tar.gz
[hadoop@test2 setup]# tar -xvf hadoop-3.0.0-alpha1.tar

5、在hadoop環境變數檔案中設定java環境變數
[hadoop@test2 hadoop-3.0.0-alpha1]$ vi etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jre1.8.0_111

6、Hadoop使用者設定java環境變數
[hadoop@test2 latest]$ export JAVA_HOME=/usr/java/jre1.8.0_111

7、檢視java為1.8版本
[hadoop@test2 latest]$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build25.111-b14, mixed mode)

 

二:搭建偽分散式hadoop

偽分散式搭建(Hadoop的偽分散式就是可以執行在一個節點上但hadoop守護程式執行在每個獨立的java程式中)

1、修改core-site.xml檔案  hadoop-3.0.0-alpha1/etc/hadoop/core-site.xml
<configuration>
    <property>
       <name>fs.defaultFS</name>
       <value>hdfs://localhost:9000</value>
    </property>
</configuration>

 
2、修改hdfs-site.xml檔案  hadoop-3.0.0-alpha1/etc/hadoop/ hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>


3、設定ssh信任
[hadoop@test2 ~]$ ssh-keygen -t rsa
[hadoop@test2 ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
[hadoop@test2 ~]$ cd .ssh
[hadoop@test2 .ssh]$ chmod 0600 authorized_keys

無需密碼既能返回日期即表示成功
[hadoop@test2 .ssh]$ ssh localhost date
Fri Nov 18 10:17:14 CST 2016


4、格式化檔案系統
[hadoop@test2 hadoop-3.0.0-alpha1]$ ./bin/hdfs namenode -format


5、啟動NameNode和DataNode
[hadoop@test2 hadoop-3.0.0-alpha1]$./sbin/start-dfs.sh

注:hadoop的日誌寫入到 $HADOOP_LOG_DIR  目錄 (預設是 $HADOOP_LOG_DIR /logs)

6、NameNode 的預設地址:http://localhost:9870/

(本次測試伺服器的IP是192.168.56.59)

 

7、生成HDFS的目錄以便執行MapReduce任務
[hadoop@test2 hadoop-3.0.0-alpha1]$./bin/hdfs dfs -mkdir /user 
[hadoop@test2 hadoop-3.0.0-alpha1]$./bin/hdfs dfs -mkdir /user/hadoopuser 


8、把輸入檔案拷貝一份到分散式檔案系統中
[hadoop@test2 hadoop-3.0.0-alpha1]$./bin/hdfs dfs -mkdir /user/hadoopuser/input
[hadoop@test2 hadoop-3.0.0-alpha1]$./bin/hdfs dfs -put etc/hadoop/*.xml /user/hadoopuser/input


9、執行一些示例程式
[hadoop@test2 hadoop-3.0.0-alpha1]$./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha1.jar grep 
/user/hadoopuser/input output 'dfs[a-z.]+'


10、檢視輸出檔案,將輸出檔案從分散式檔案系統拷貝到本地然後檢視
[hadoop@test2 hadoop-3.0.0-alpha1]$./bin/hdfs dfs -get output output
[hadoop@test2 hadoop-3.0.0-alpha1]$ cat output/*

或者在分散式檔案系統上檢視輸出檔案
[hadoop@test2 hadoop-3.0.0-alpha1]$./bin/hdfs dfs -cat output/*

 
11、停止服務程式
[hadoop@test2 hadoop-3.0.0-alpha1]$ ./sbin/stop-dfs.sh

 

三:YARN的配置

1、修改mapred-site.xml檔案  hadoop-3.0.0-alpha1/etc/hadoop/mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.admin.user.env</name>
        <value>HADOOP_MAPRED_HOME=$HADOOP_COMMON_HOME</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=$HADOOP_COMMON_HOME</value>
    </property>
</configuration>


2、修改yarn-site.xml檔案  hadoop-3.0.0-alpha1/etc/hadoop/yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>


3、開啟資源管理和節點管理
[hadoop@test2 hadoop-3.0.0-alpha1]$./sbin/start-yarn.sh

4、資源管理的預設地址:http://localhost:8088/

(本次測試伺服器的IP是192.168.56.59)

5、關閉資源管理和節點管理
[hadoop@test2 hadoop-3.0.0-alpha1]$./sbin/stop-yarn.sh

相關文章