集群搭建(以搭建三个节点为例子)
1.打开centos网卡NAT模式
2.查看各个主机的时间是不是同步:date命令
2.修改/etc/sysconfig/network文件,设置主机名(centos2,centos03类似)
# Created by anaconda
NETWORKING=yes
HOSTNAME=centos01
3.修改/etc/hosts文件(centos02,centos03类似)。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.124.132 centos01
192.168.124.133 centos02
192.168.124.134 centos03
4.重启电脑,然后利用ping centos02测试是否成功。
5.关闭centos7防火墙(三台主机都得关闭):
firewall-cmd --state #查看默认防火墙状态
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
6.卸载openjdk。
查找自带的openjdk
rpm -qa | grep java
删除openjdk
yum -y remove java-1.7.0-openjdk*
yum -y remove java-1.8.0-openjdk*
7.安装JDK,以安装JDK8为例。然后配置环境变量/etc/profile
export JAVA_HOME=/root/java/jdk1.8.0_181
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
刷新profile文件:
source /etc/profile
8.安装hadoop。
修改配置文件:(重点)
8.1:修改hadoop-env.sh
8.2:core-site.xml文件
<configuration>
<!-- 指定使用的文件系统为hdfs文件系统,并且在主机centos01为文件系统NameNode和端口号 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://centos01:9000</value>
</property>
<!-- 指定hadoop运行时产生的文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hdfsdata</value>
</property>
</configuration>
8.3:修改hdfs-site.xml文件
<configuration>
<!-- 指定hdfs副本的数量 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 指定secondaNameNode在哪个节点上 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>centos02:50090</value>
</property>
</configuration>
8.4:修改mapred-site.xml文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>centos01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>centos01:19888</value>
</property>
</configuration>
8.5:修改yarn-site.xml文件
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- NodeManager上运行的附属服务 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>centos01</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
</configuration>
8.6:修改slavers文件
centos01
centos02
centos03
8.7把hadoohome加入环境变量/etc/profile,并且加入bin和sbin目录
8.8:利用scp命令把文件分发给其它节点
scp -r /etc/profile root@centos02:/etc/
scp -r ~/* root@centos02:/root/
8.9:首次启动hadoop集群,需要格式化操作,只能进行一次
其本质是进行文件系统的初始化操作,创建一些自己需要的文件
格式化应该在hdfs的namenode机器上操作
hdfs namenode -format
9.0:50070是HDFS的webUI界面
8088是yarn的webUI界面
10:测试hadoop:
在/root/hadoop/hadoop-2.7.6/share/hadoop/mapreduce目录下有个计算圆周率的测试jar包
hadoop jar hadoop-mapreduce-examples-2.7.6.jar pi 20 50