注意:如下安裝步驟在Centos6.5操做系統中進行,安裝步驟一樣適於其餘操做系統,若有同窗使用Ubuntu等其餘Linux操做系統,只需注意個別命令略有不一樣。html
注意一下不一樣用戶權限的操做,好比關閉防火牆,須要用root權限。java
單節點的hadoop安裝出現的問題會在以下幾個方面:JDK環境的配置、防火牆是否關閉、root用戶和hadoop用戶的不一樣操做等。node
在搭建的過程當中細心一點,按照下面的步驟作,基本不會有什麼問題的。linux
關閉防火牆:service iptables stop 關閉開機啓動:chkconfig iptables off
建立hadoop用戶:useradd hadoop 密碼:passwd hadoop 加入sudoers:vim /etc/sudoers ,在root下一行寫入hadoop ALL=(ALL) ALL
在/etc/hosts文件最後一行加入:vim
127.0.0.1 hadoop
rpm -qa |grep java rpm -qa |grep jdk
rpm -e --nodeps 程序名 (如:rpm -e --nodeps tzdata-java-2013g-1.el6.noarch rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64)
rpm -ivh jdk-8-linux-x64.rpm (在安裝文件所在的目錄下執行該指令,安裝前可將.rpm文件放置在任意目錄,左後jdk默認安裝在/usr/java/jdk1.8.0 中)
修改 /etc/profile文件,在文件末尾加入如下幾行:ssh
export JAVA_HOME=/usr/java/jdk1.8.0 export JRE_HOME=/usr/java/jdk1.8.0/jre export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile
java -version echo $JAVA_HOME
ssh-keygen -t dsa (而後一直按回車便可,會自動生成.ssh文件夾,內有兩個文件)
進入/home/hadoop/.ssh目錄oop
cat id_dsa.pub >> authorized_keys
chmod 600 authorized_keys
ssh localhost
若是不用再次輸入密碼,說明成功測試
tar -zxvf hadoop-2.5.1.tar.gz
配置文件在/home/hadoop/hadoop-2.5.1/etc/hadoop/目錄下spa
在<configuration>和</configuration>之間加入以下內容操作系統
<property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hadoop-2.5.1/tmp</value> </property>
<property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/hadoop-2.5.1/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/hadoop-2.5.1/data</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property>
注意:/home/hadoop/hadoop-2.5.1/data和/home/hadoop/hadoop-2.5.1/name這兩個目錄應該是存在的。
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
export JAVA_HOME=/usr/java/jdk1.8.0 export HADOOP_MAPRED_PID_DIR=/home/hadoop/hadoop-2.5.1/tmp
export JAVA_HOME=/usr/java/jdk1.8.0 export HADOOP_PID_DIR=/home/hadoop/hadoop-2.5.1/tmp export HADOOP_SECURE_DN_PID_DIR=/home/hadoop/hadoop-2.5.1/tmp
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
sudo vim /etc/profile 加入以下兩行 export HADOOP_HOME=/home/hadoop/hadoop-2.5.1 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
hdfs namenode -format
若是成功,此時,在/home/hadoop/hadoop-2.5.1/name/中會生成current文件夾
hadoop-daemon.sh start namenode hadoop-daemon.sh start datanode
經過jps可以驗證是否啓動成功
start-yarn.sh
輸入jps驗證
Wordcount例子在/home/hadoop/hadoop-2.5.1/share/hadoop/mapreduce中的hadoop-mapreduce-examples-2.5.1.jar
hadoop fs -put 文件 /test (如:hadoop fs -put 1 /test是將本地的文件1上傳至hdfs中的/test目錄下)
hadoop jar hadoop-mapreduce-examples-2.5.1.jar wordcount /test/1 /test/output/1
注意:/test/output/1必須是不存在的目錄
hadoop fs -cat /test/output/1/part-r-00000