hadoop3與hadoop2.x的變化很大,hadoop3很多東西現在做起來太麻煩了,這里先安裝hadoop2.7.3
此貼學習地址http://www.yiibai.com/t/mapreduce/article-14.html,不過有些改動
1.下載解壓hadoop包
wget http://apache.claz.org/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
tar zxf hadoop-2.7.3.tar.gz
mv hadoop-2.7.3/* to hadoop
2.設置hadoop
vi ~/.bashrc
HADOOP_HOME=/home/xiabin/hadoop/hadoop
HADOOP_MAPRED_HOME=$HADOOP_HOME
HADOOP_COMMON_HOME=$HADOOP_HOME
HADOOP_HDFS_HOME=$HADOOP_HOME
YARN_HOME=$HADOOP_HOME
HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
保存退出文件
source ~/.bashrc讓bashrc文件立即生效
3.進入hadoop的 etc/hadoop文件
cd $HADOOP_HOME/etc/hadoop
將hadoop-env.sh文件中的export JAVA_HOME={JAVA_HOME}改成自己的java路徑
我這里:JAVA_HOME=/usr/java/jdk1.8.0_112
4.編輯以下文件來配置Hadoop
core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
5.修改core-site.xml
core-site.xml 包含以下信息
用於Hadoop實例的端口號
存儲器分配用於文件系統
內存限制用於存儲數據
讀/寫緩存大小
打開core-site.xml,在標簽之間添加以下屬性
編輯:core-site.xml在configuration中加入
<property>
<name>fs.default.name</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
6.hdfs-site.xml 包含以下信息
復制數據的值
NameNode的路徑
本地文件系統的數據節點的路徑(要存儲Hadoop下文的地方)
在它的configuration中間加入
dfs.replication 1 dfs.name.dir file:///home/hadoop/hadoopinfra/hdfs/namenode dfs.data.dir file:///home/hadoop/hadoopinfra/hdfs/datanode
這是namenode和datanode的地址,這些地址可以根據自己的喜好配置
7.yarn-site.xml
此文件用於配置yarn 到Hadoop 。打開yarn-site.xml 文件,並在標記之間添加以下屬性。
yarn.nodemanager.aux-services mapreduce_shuffle
8.mapred-site.xml
此文件用於指定我們正在使用MapReduce框架。默認情況下,Hadoop含有yarn-site.xml模板。首先,需要將文件從mapred-site.xml 復制。使用以下命令復制模板 mapred-site.xml 文件。
cp mapred-site.xml.template mapred-site.xml
在configuration中加入:mapreduce.framework.name yarn
9.設置名稱節點使用命令 “hdfs namenode -format” 如下
$ cd ~
$ hdfs namenode -format
驗證Hadoop dfs(節點)
$ start-dfs.sh,正常啟動
第3步 - 驗證Yarn 腳本(管理節點的平台)
以下命令用於啟動yarn 腳本。執行該命令將啟動yarn 守護進程。
$ start-yarn.sh
10測試訪問
IP:50070(如果在服務器上面配置的hadoop記得開啟50070端口的防火牆)
訪問IP:8088
11配置hdfs的下的文件
新建用戶: hdfs dfs -mkdir /waterlufei
新建目錄: hdfs dfs -mkdir /waterlufei/hadoop
新建目錄: hdfs dfs -mkdir /waterlufei/hadoop/input
將dream.txt放入到input文件夾下: hdfs dfs -put dream.txt /waterlufei/hadoop/input
查看hdfs下所有的目錄: hdfs dfs -ls /
查看hdfs下某個目錄:hdfs dfs -ls /waterlufei/hadoop/input