hadoop集群搭建
1. 准备虚拟机4台
分别为hadoop101:192.168.12.101hadoop102:192.168.12.102hadoop103:192.168.12.103hadoop104:192.168.12.104
虚拟机做好以下配置:
配置网络:NAT模式
关闭防火墙:预防出现网络连接不同
配置hostname:方便区分节点
配置hosts文件:方便各节点直接使用节点名访问
创建hadoop用户:创建hadoop用户后使用hadoop操作,避免权限问题
配置hadoop用户的sudo命令:辅助hadoop操作root权限
安装jdk:安装后配置环境变量,克隆后不需要重新安装配置,比较方便
// 所有机器安装好以后配置
配置ssh免密登录:方便节点之间的访问,不配的话总是要输入密码
步骤:安装好一台虚拟机后,完成上面的配置,克隆3台虚拟机,只需要修改克隆机器的网络配置,修改hostname,最后配置ssh免密登录;
2. 安装hadoop
在hadoop101节点上
步骤:解压后,配置环境变量即可;
3. 修改配置文件
配置文件都在hadoop/etc/hadoop/目录下
-
配置hadoop运行需要的环境变量一共有三个文件需要配置
hadoop-env.sh,mapred-env.sh,yarn-env.sh,必须配置JAVA_HOME,其他配置按需求自定义;(虽然我们的机器上有配置java的环境变量,但是hadoop是不认识的,因为hadoop运行的时候即使在本机运行也会把本机当成远程环境。)
设置JAVA_HOME环境变量:
JAVA_HOME=/opt/module/jdk1.8.0_181
-
核心配置core-site.xml:添加以下配置
<!-- 指定HDFS中NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop102:9000</value> </property> <!-- 指定Hadoop运行时产生文件的存储目录,目录不用新建会自动生成 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.7.2/data/tmp</value> </property>
-
HDFS配置hdfs-site.xml:添加以下配置
<!-- 指定副本数量 --> <property> <name>dfs.replication</name> <value>3</value> </property> <!-- 指定secondary节点,非必须 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop104:50090</value> </property>
-
yarn配置yarn-site.xml:添加以下配置
<!-- Reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop103</value> </property>
-
mapreduce配置mapred-site.xml将mapred-site.xml.template 添加如下配置,然后将名字修改为mapred-site.xml
<!-- 指定MR运行在Yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
-
slaves文件配置原文件中写着localhost,将其删掉改为以下配置
#若没有配置hosts,则写节点ip hadoop102 hadoop103 hadoop104
4. 分发hadoop
使用scp命令将hadoop目录分发给另外三个节点 命令如下:
scp -r /opt/module/hadoop-2.7.2/ hadoop102:/opt/module/
scp -r /opt/module/hadoop-2.7.2/ hadoop103:/opt/module/
scp -r /opt/module/hadoop-2.7.2/ hadoop104:/opt/module/
5.格式化namenode
使用如下命令:
hadoop namenode -format
或者 bin/hadoop namenode -format
6. 启动HDFS
sbin/start-dfs.sh 访问HDFS的web端:192.168.12.101:50070
7. 启动yarn
sbin/start-yarn.sh 访问yarn的web端:192.168.12.101:8088
至此hadoop集群配置完毕,NameNode和 resourcemanager都在hadoop101节点上