hadoop 分布式集群安装(使用普通用户hadoop)
集群规划:
HDFS |
YARN |
|
hadoop01 |
namenode+datanode |
nodemanager |
hadoop02 |
datanode+secondarynamenode |
nodemanager |
hadoop03 |
datanode |
nodemanager+resourcemanager |
1.上传安装包
put c:/hadoop-2.7.6.tar.gz
2.解压安装包
tar -zxvf hadoop-2.7.6.tar.gz -C /home/hadoop/apps
3.配置环境变量
输入
sudo vi /etc/profile
在最后两行加上
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
重新加载配置文件
source /etc/profile
验证
hadoop version
4.修改hadoop配置文件
cd /home/hadoop/apps/hadoop-2.7.6/etc/hadoop
4.1修改hadoop-env.sh
输入,并将JAVA_HOME的值进行更改
vi hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_73
4.2修改core-site.xml (hadoop的核心配置文件)
输入
vi core-site.xml
在configuration标签中加入
<property>
<!--hadoop hdfs的访问入口 namenode的访问入口-->
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<!--hadoop namenode的管理数据的存储位置 namenode所在的节点本地-->
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/data/hadoopdata</value>
</property>
4.3修改hdfs-site.xml (hdfs的相关配置文件)
输入
vi hdfs-site.xml
同样的加入
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/data/hadoopdata/name</value>
<description>namenode 管理数据存储目录</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/data/hadoopdata/data</value>
<description>datanode 的数据存储目录 真实数据</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
<description>数据存储副本个数</description>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>hadoop02:50090</value>
<description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description>
</property>
4.4修改mapred-site.xml (mapreduce的配置)
先复制
cp mapred-site.xml.template mapred-site.xml
输入
vi mapred-site.xml
同样的加入
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
4.5修改yarn-site.xml (yarn的相关配置)
输入
vi yarn-site.xml
同样的加入
<property>
<!--resourcemanager节点-->
<name>yarn.resourcemanager.hostname</name>
<value>hadoop03</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
</property>
4.6增加slaves(从节点)
输入
vi slaves
加入
- hadoop01
- hadoop02
- hadoop03
5.远程发送配置安装包
scp -r hadoop-2.7.6 hadoop02:/home/hadoop/apps/
scp -r hadoop-2.7.6 hadoop03:/home/hadoop/apps/
6.远程发送配置文件
sudo scp /etc/profile hadoop02:/etc/
sudo scp /etc/profile hadoop03:/etc/
三台机器同时执行
source /etc/profile
hadoop version
7.格式化hdfs
在namenode(hadoop01)的节点执行
hdfs namenode -format
注意:格式化不成功不能启动
一旦格式化报错修正报错重新格式化
出现has been successfully formatted.则成功
注意:成功的格式化只能进行一次
8.启动hadoop
在hadoop启动文件夹里启动
cd /home/hadoop/apps/hadoop-2.7.6/sbin
在任意节点启动hdfs
start-dfs.sh
在resourcemanager(hadoop03)节点启动yarn
start-yarn.sh
验证:
jps
网页:
- hdfs:
http://hadoop01:50070
- yarn:
http://hadoop03:8088
9.安装过程注意的问题
9.1某一个进程启动不了
单独启动没有的进程
hdfs进程单独启动命令
- hadoop-daemon.sh start 进程namenode|datanode|secondarynamenode
hadoop-daemon.sh start namenode
yarn进程单独启动命令:
- yarn-daemon.sh start resourcemanager|nodemanager
yarn-daemon.sh start resourcemanager
9.2看日志文件
在路径$HADOOP_HOME/logs/下有两个日志文件
- hadoop-hadoop-namenode-hadoop01.log
- yarn-hadoop-nodemanager-hadoop01.log
一般问题写在最后一百行,查看最后一百行内容
tail -100 hadoop-hadoop-datanode-hadoop01.log
9.3格式化问题
如果已经成功格式化了一次,再此格式化会出现ID冲突的问题
首先停止所有
stop-all.sh
然后删除三个机器上的/home/hadoop/data
rm -rf /home/hadoop/data
最后重新格式化
hadoop namenode -format