1 环境准备
1.1 虚拟机准备
序号 | host | ip | 操作系统 |
主节点 | master | 192.168.14.15 | centOS7 |
从节点 | slave0 | 192.168.14.16 | centOS7 |
从节点 | slave1 | 192.168.14.17 | centOS7 |
1.2 JAVA环境
hadoop是纯JAVA开发的,所以需要java环境,具体配置自行百度,网上教程很多,这里不再过多介绍了。
1.3 hadoop下载
根据需求,去官网下载相应版本的hadoop软件包:
http://archive.apache.org/dist/hadoop/core/ hadoop集群安装的软件包配置要求是一样的,所以先下载到一个节点改完了,scp到其他节点即可。
2 服务器免密登录
由于hadoop启动在一个节点启动后,会远程把其他节点一同启动,会输入很多次其他服务的密码,可以将集群的几台虚拟机做成免密登录。这样方便很多。
具体做法参考博客:
3 配置文件
上面已经说了,hadoop集群使用的软件包配置都是相同的,所以只需要在一个节点修改完之后,直接将修改的好的软件包发送给其他节点,这里选择master节点进行修改。
3.1 配置env文件
修改vi /opt/hadoop/hadoop/etc/hadoop/hadoop-env.sh
文件,配置JAVA_HOME
,根据实际情况自行修改
3.2 配置core文件
修改vi /opt/hadoop/hadoop/etc/hadoop/core-site.xml
文件,在<configuration></configuration>
之间添加下面配置
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hadoopdata</value>
</property>
第二个参数配置的dhfs的文件路径,需要在这个路径下创建文件夹
mkdir -p /opt/hadoop/hadoopdata
3.3 配置hdfs文件
修改vi /opt/hadoop/hadoop/etc/hadoop/hdfs-site.xml
文件,在<configuration></configuration>
之间添加下面配置
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
3.4 配置yarn文件
修改vi /opt/hadoop/hadoop/etc/hadoop/yarn-site.xml
文件,在<configuration></configuration>
之间添加下面配置
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
3.5 配置mapreduce文件
需要将/opt/hadoop/hadoop/etc/hadoop
下的mapred-site.xml.template
文件复制一份,改名为mapred-site.xml
cp /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml
修改文件vi /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml
,在<configuration></configuration>
之间添加下面配置
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.6 配置slaves文件
slaves文件告诉hadoop集群的所有节点列表,启动hadoop集群时,系统会根据slaves文件中的host启动其他节点。
vi /opt/hadoop/hadoop/etc/hadoop/slaves
开始已经配置了slave0
,slave1
,所以添加这两个节点的host
slave0
slave1
注意:删除slaves文件中原来localhost那一行!
4. 启动
4.1 文件发送
将master节点上修改好的hadoop软件包发送给其他连个节点
scp -r /opt/hadoop root@slave0:/opt
scp -r /opt/hadoop root@slave1:/opt
4.2 环境变量
在三个hadoop节点上都设置hadoop的环境变量,
在 /etc/profile
文件最后添加下面内容
#HADOOP
export HADOOP_HOME=/opt/hadoop/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
更新环境变量
source /etc/profile
格式化文件系统
hadoop namenode -format
4.3 运行
进入到目录
cd /opt/hadoop/hadoop/sbin
启动集群命令如下
./start-all.sh
关闭集群命令
./stop-all.sh
4.4 查看运行情况
使用jps
命令即可
master情况:
slave0情况:
slave1情况:
这样hadoop集群全部启动并正常运行。