安装Hadoop之前,请先安装好zookeeper集群并启动
参考 CentOS7安装Zookeeper集群
我这里准备了三台服务器,一台主机名为hadoop1(做NameNode),一台主机名为hadoop2(做DataNode),一台主机名为hadoop3(做DataNode)
192.168.1.186(hadoop1)
192.168.1.188(hadoop2)
192.168.1.18(hadoop3)
创建名为 hadoop 的用户,参考CentOS7建立用户
将所有hadoop服务器,配置好 hadoop 用户的免密码登录,让所有hadoop主机之间可以免密码互通
参考 CentOS7配置ssh无密码登录
设置好zookeeper、hadoop所有服务器的 hosts 文件的内容
192.168.1.232 zookeeper1
192.168.1.200 zookeeper2
192.168.1.233 zookeeper3
192.168.1.186 hadoop1
192.168.1.188 hadoop2
192.168.1.18 hadoop3
切换到 hadoop 用户,安装并配置hadoop,从http://hadoop.apache.org/releases.html找到一个你想要的版本,下载binary包(下载到hadoop1机上,配置完毕以后再复制到其他机器上),我这里下载的是hadoop-2.7.3.tar.gz
su hadoop
cd ~
wget http://119.90.25.43/mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
解压缩,并重命名为hadoop
tar -zxvf hadoop-2.7.3.tar.gz
mv hadoop-2.7.3 hadoop
编辑 hadoop-env.sh 文件,修改JAVA_HOME部分,不知道java按照位置的请参考CentOS7安装OpenJDK
vi ~/hadoop/etc/hadoop/hadoop-env.sh
编辑 yarn-env.sh 文件,修改JAVA_HOME部分
vi ~/hadoop/etc/hadoop/yarn-env.sh
编辑 slaves 文件,添加DataNode节点服务器的主机名,我这里添加了两个
vi ~/hadoop/etc/hadoop/slaves
建立临时文件夹
mkdir ~/hadoop/tmp
编辑 core-site.xml 文件
vi ~/hadoop/etc/hadoop/core-site.xml
添加如下内容
hadoop.tmp.dir
/home/hadoop/hadoop/tmp
fs.default.name
hdfs://hadoop1:9000
ha.zookeeper.quorum
zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
编辑 hdfs-site.xml 文件
vi ~/hadoop/etc/hadoop/hdfs-site.xml
添加如下内容
dfs.http.address
hadoop1:50070
dfs.namenode.secondary.http-address
hadoop1:50090
dfs.replication
3
复制 mapred-site.xml.template 文件为 mapred-site.xml
cp ~/hadoop/etc/hadoop/mapred-site.xml.template ~/hadoop/etc/hadoop/mapred-site.xml
编辑其内容
vi ~/hadoop/etc/hadoop/mapred-site.xml
mapred.job.tracker
hadoop1:9001
mapred.map.tasks
20
mapred.reduce.tasks
4
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
hadoop1:10020
mapreduce.jobhistory.webapp.address
hadoop1:19888
修改 yarn-site.xml 文件
vi ~/hadoop/etc/hadoop/yarn-site.xml
将其内容修改为
yarn.resourcemanager.address
hadoop1:8032
yarn.resourcemanager.scheduler.address
hadoop1:8030
yarn.resourcemanager.webapp.address
hadoop1:8088
yarn.resourcemanager.resource-tracker.address
hadoop1:8031
yarn.resourcemanager.admin.address
hadoop1:8033
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
将配置好的hadoop文件夹复制到其他节点机器
scp -r ~/hadoop hadoop@hadoop2:~/
scp -r ~/hadoop hadoop@hadoop3:~/
cd ~/hadoop
./bin/hdfs namenode -format
./sbin/start-all.sh
在NameNode机器中,使用jps命令,看到下面内容就说明成功了
在其他DataNode节点查看jps
可以打开浏览器,查看http://192.168.1.186:50070
一般我们是使用http://hadoop1:50070这个地址访问,因为hadoop1才是NameNode机器,当然,这需要你打开浏览器的那台机器配置hosts文件
停止hadoop的命令
./sbin/stop-all.sh