1)如果系統已經安裝java,通過以下方式設置java相關環境變量:
$ ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 Mar 20 14:49 /usr/bin/java -> /etc/alternatives/java
$ ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 Mar 20 14:49 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java
設置java相關環境變量:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
如果系統沒有安裝java,下載相應java版本進行安裝,然後設置java相關環境變量即可。
2)設置ssh免登錄
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
3)以僞分佈式模式安裝hadoop-2.7.6
從官方網站下載hadoop 2.7.6:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz
將hadoop-2.7.6.tar.gz文件拷貝到/usr/local目錄並解壓,然後設置相關的環境變量:
export HADOOP_HOME=/usr/local/hadoop-2.7.6
export PATH=$HADOOP_HOME/bin:$PATH
進入/usr/local/hadoop-2.7.6/etc目錄,依次修改以下配置文件:
- core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
- hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
格式化hdfs文件系統:
$ hdfs namenode -format
啓動hdfs:
$ /usr/local/hadoop-2.7.6/sbin/start-dfs.sh
在瀏覽器輸入:http://localhost:50070/
,可以看到NameNode的相關信息。
4)運行示例程序
在hdfs上創建相應目錄,並上傳相應的文件到該目錄:
$ cat log
hello hadoop
hello hdfs
hello mapreduce
$ hdfs dfs -mkdir -p /user/root/input
$ hdfs dfs -put log input
$ hdfs dfs -ls /user/root/input
Found 1 items
-rw-r--r-- 1 root supergroup 40 2018-07-23 06:33 /user/root/input/log
運行示例程序:
$ hadoop jar /usr/local/hadoop-2.7.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar grep input output 'he[a-z.]+'
查看運行結果:
$ hdfs dfs -cat output/*
3 hello