# java -version # vim /etc/profile.d/java.sh export JAVA_HOME=/usr # yum install java-1.8.0-openjdk-devel # mkdir /bdapps # tar xf hadoop-2.7.4.tar.gz -C /bdapps/ # cd /bdapps # ln -sv hadoop-2.7.4 hadoop # cd hadoop/ # vim /etc/profile.d/hadoop.sh 編輯環境配置文件 export HADOOP_PREFIX=/bdapps/hadoop export PATH=$PATH:${HADOOP_PREFIX}/bin:${HADOOP_PREFIX}/sbin export HADOOP_YARN_HOME=${HADOOP_PREFIX} export HADOOP_MAPPERD_HOME=${HADOOP_PREFIX} export HADOOP_COMMON_HOME=${HADOOP_PREFIX} export HADOOP_HDFS_HOME=${HADOOP_PREFIX} # ./etc/profile.d/hadoop.sh # ls bin/ 存放二進制程序文件 include/ 頭文件目錄 lib/ 庫文件目錄 sbin/ 腳本 etc/hadoop .sh格式文件是配置hadoop運行環境 .xml結尾的文件實配置文件 # groupadd hadoop 創建用戶和組 # useradd -g hadoop yarn # useradd -g hadoop hdfs # useradd -g hadoop mapred # mkdir -pv /data/hadoop/hdfs{nn,snn,dn} 創建數據庫 # chown -R hdfs:hadoop /data/hadoop/hdfs # ll # mkdir logs 創建日志目錄 # chown -R yarn:hadoop logs # chown -R yarn:hadoop ./* 配置hadoop # cd etc/hadoop # vim core-site.xml 包含了NameNode的一些信息 <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> <final>true</final> </property> </configuration> # vim hdfs-site.xml 配置HDFS相關的屬性 <configuration> <property> <name>dfs.replication</name> <value>1<value> </propery> <property> <name>dfs.namenode.name.dir</name> <value>file:///data/hadoop/hdfs/nn</value> </propery> <property> <name>dfs.datanode.data.dir</name> <value>file:///data/hadoop/hdfs/dn</value> </propery> <property> <name>fs.checkpoint.dir</name> <value>file:///data/hadoop/hdfs/snn<value> </propery> <property> <name>fs.checkpoint.dir</name> <value>file:///data/hadoop/hdfs/snn<value> </propery> </configuration> 注意,如果需要其他用戶對hdfs有寫入權限,還需要添加 <property> <name>dfs.premissions</name> 不做嚴格權限限制 <value>false<value> </propery> # cp mapred-site.xml.template mapred-site.xml # vim mapred-site.xml 定義MapReduce <configuration> ? <property> ??? <name>mapred.framwork.name</name> ??? <value>yarn</value> ? </property> </configuration> # vim yarn-site.xml
<configuration> ? <property> ??? <name>yarn.resourcemanager.address</name> ??? <value>localhost:8032</value> ? </property> ? <property> ??? <name>yarn.resourcemanager.scheduleraddress</name> #調度器地址 ??? <value>localhost:8030</value> ? </property>? ? <property> ??? <name>yarn.resourcemanager.resource-tracker.address</name> #資源追蹤器地址 ??? <value>localhost:8031</value> ? </property> ? <property> ??? <name>yarn.resourcemanager.admin.address</name> #管理地址 ??? <value>localhost:8033</value> ? </property> ? <property> ??? <name>yarn.resourcemanager.webapp.address</name> ??? <value>localhost:8088</value> ? </property> ? ??<property> ??? <name>yarn.nodemanager.aux-service</name> #輔助服務 ??? <value>mapreduce_shuffle</value> ? </property> ? <property> ??? <name>yarn.nodemanager.auxservice.mapreduce_shuffle.class</name> #shuffle類 ??? <value>org.apache.hadoop.mapred.ShuffleHandler</value> ? </property> ? ??<property> ??? <name>yarn.resourcemanager.scheduler.class</name> ??? <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value> ? </property> ? </configuration>
格式化HDFS
以hadoop用戶運行如下命令
# su - hdfs $ hadoop namenode -format
其中的“Storage directory /hadoop/temp/dfs/name has been successfully formatted”一行信息表明對應的存儲已經格式化成功。
啟動hadoop
$ hadoop-daemon.sh start namenode
$ jps ? ? ? ? ? ? ? ? ??查看正在運行的Hadoop進程
$ hadoop-daemon.sh start secondarynamenode 啟動輔助名稱節點 $ hadoop-daemon.sh start datanode $ hdfs dfs -ls / 查看目錄 $ hdfs dfs -mkdir /test drwxr-xr-x - hdfs supergroup $ hdfs -dfs -put /etc/fstab /test/fstab $ hdfs dfs -lsR / 查看是否上傳成功 $ hdfs dfs -cat /test/fstab (對應cat /data/hadoop/dfs/dn/current/...) $ su -yarn $ yarn-daemon.sh start resourcemanager $ jps $ yarn-daemon.sh start nodemanager
HDFS和YARN ResourceManager各自提供了一個Web接口,通過這些接口可檢查HDFS集群以及YARN集群的相關狀態信息
HDFS-NameNode ? ? http://<NameNodeHost>:50070
YARN-ResourceManager ? ? http://<ResourceManagerHost>:8088
運行測試程序
hadoop-YARN自帶了許多樣例程序,它們位于hadoop安裝路徑下/share/hadoop/mapreduce目錄中,其中hadoop-mapreduce-example可做mapreduce程序測試
# su - hdfs $ yarn jar /bdapps/hadoop//share/hadoop/mapreduce/hadoop-mapreduce-example-2.7.4.jar
原創文章,作者:nene,如若轉載,請注明出處:http://www.www58058.com/89608