一、工作准备
1.虚拟机
- 安装Vmware
- 安装CentOs虚拟机三台
- master 192.168.33.101
- slave1 192.168.33.102
- slave2 192.168.33.103
2.虚拟机配置
以master为例
-
修改主机名
hostname master
-
配置静态ip
修改ifcfg-eno16777736,该文件在/etc/sysconfig/network-scripts下
修改/etc/sysconfig/network,添加如下内容:NETWORKING=yes
HOSTNAME=master
GATEWAY=192.168.33.1修改/etc/resolv.conf,添加DNS
nameserver 8.8.8.8
使网络修改生效
service network restart -
安装JDK
卸载原有的JDKrpm -qa | grep jdk #查看原有的JDK rpm -e --nodeps java-XXX #卸载JDK
安装JDK
下载(官网下载,https://www.oracle.com/technetwork/java/javase/downloads/index.html),解压wget url
tar -zvxf jdk-XXXX设置环境变量,vim /etc/profile
使环境变量生效 source /etc/profile
检验JAVA安装 java -version
该报错是权限问题导致的,所以赋予权限就可以完美解决了
-
关闭防火墙
systemctl start firewalld #启动防火墙 systemctl stop firewalld #关闭防火墙 systemctl disable firewalld #开机禁用 systemctl enable firewalld #开机启用
-
克隆两台主机,命名为slave1、slave2
-
建立主机名和ip的映射,修改/etc/hosts文件
-
配置ssh免密登录
在slave1、slave2上做相同操作,将id_rsa.pub中的内容复制到master的authorized_keys
通过scp分发到另外两台主机scp authorized_keys root@slave1:~/.ssh/
测试免密登录
准备工作完成!
二、hadoop搭建
1.下载hadoop
http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
解压
tar -zvxf hadoop-3.1.1.tar.gz
2.配置环境变量
vim /etc/profile
export HADOOP_HOME=/home/hadoop/apps/hadoop-3.1.1
export PATH=$HADOOP_HOME/bin:$PATH
3.修改配置文件
修改hadoop-3.1.1/etc/hadoop里面的文件,在hadoop-3.1.1目录下,新建文件夹tmp、dfs/data、dfs/name
- vim workers
hadoop-3.1.1将slaves文件更改为workers,删除localhost
master
slave1
slave2
- vim hadoop-env.sh
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_181
- vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/apps/hadoop-3.1.1/tmp/</value>
</property>
</configuration>
- vim hdfs-site-xml
hadoop-3.1.1 默认端口9870
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/apps/hadoop-3.1.1/data/tmp</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/apps/hadoop-3.1.1/data/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http.address</name>
<value>master:9870</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
- vim yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>1536</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>3072</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2560M</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
4.格式化namenode
hdfs namenode -format
格式化只能做一次,第二次格式化需要删除dfs目录下的data和name,且格式化会影响搭建好的hbase
5.启动hadoop
查看进程
查看webUI
搭建完成!