首先要安装jdk
解压到指定目录,并且配置
vi /etc/profile
#jdk配置
JAVA_HOME=/data/jl2tina/app/bigdata/jdk1.8.0_121
#Hadoop配置
HADOOP_HOME=/data/jl2tina/app/bigdata/hadoop
#zookeeper配置
ZOOKEEPER_HOME=/data/jl2tina/app/bigdata/zookeeper
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
export PATH JAVA_HOME HADOOP_HOME ZOOKEEPER_HOME
最后
source /etc/profile
zookeeper 集群安装
配置文件:
1
hadoop3.1.3集群安装部署
规划:
jl2tina10 | jl2tina11 | jl2tina12 | jl2tina13 | jl2tina14 | |
HDFS | NameNode | SecondaryNameNode DataNode journalnode(依赖于zk) | SecondaryNameNode DataNode journalnode(依赖于zk) |
NameNode | DataNode journalnode(依赖于zk) |
YARN | ResourceManager NodeManager | ResourceManager NodeManager | NodeManager | NodeManager | NodeManager |
zookeeper | zookeeper | zookeeper | zookeeper |
首先解压:tar.gz安装包
修改一下5个文件
hadoop-3.1.3/etc/hadoop/core-site.xml
hadoop-3.1.3/etc/hadoop/hdfs-site.xml
hadoop-3.1.3/etc/hadoop/mapred-site.xml
hadoop-3.1.3/etc/hadoop/yarn-site.xml
hadoop-3.1.3/etc/hadoop/worker # 注意,要用 worker 而不是 slave 文件
core-site.xml配置如下:
1
hdfs-site.xml配置如下:
1
mapred-site.xml配置如下:
1
yarn-site.xml配置如下:
1
worker 配置如下:注意存放的是datanode 节点的host 或者IP
jl2tina11
jl2tina12
jl2tina14
启动步骤:
1、先启动zookeeper
可以逐一启动,也可以通过一下脚本 zkHaServer.sh 注意此脚本需要有执行权限
#!/bin/bash
for host in jl2tina11 jl2tina12 jl2tina14
do
echo "----------${host}:$1----------"
ssh $host "source /etc/profile;/data/jl2tina/app/bigdata/zookeeper/bin/zkServer.sh $1"
done
sleep 5
for j in jl2tina11 jl2tina12 jl2tina14
do
echo "----------$j status----------"
ssh $j "source /etc/profile;/data/jl2tina/app/bigdata/zookeeper/bin/zkServer.sh status"
done
1、在jl2tina11、jl2tina12、jl2tina14启动journalnode
hdfs --daemon start journalnode
2、然后格式化namenode:
hdfs namenode -format
3、 启动namenode,以便同步其他namenode
hdfs --daemon start namenode
4、其他namenode同步
- 如果是使用高可用方式配置的namenode,使用下面命令同步(需要同步的namenode执行)
hdfs namenode -bootstrapStandby
2. 如果不是使用高可用方式配置的namenode,使用下面命令同步:
hdfs namenode -initializeSharedEdits
5、启动:
start-all.sh
最后总结遇到的问题:
1、datanode 只有 的节点没有一个启动了,只启动了namenode节点的datanode节点?造成原因是:没有配置worker 文件;
2、配置了worker 所有节点启动了,但是50070界面还是不显示datanode,原因是我直接复制了data/hdfs/data目录到其他目录,这样是不正确的;最后有格式化了。就可以了。
3、格式化出错,需要停止掉journalnode
hdfs --daemon stop journalnode
然后删除 data logs 目录即可