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