环境准备
- 3台CentOS7(本例使用VMware替代)
- jdk8
- Hadoop3.3
虚拟机基础准备
- 网络适配器选用NAT模式(针对VMware)
- 设置静态IP,对应关系如下
| 名称 |
地址 |
| hadoop01 |
192.168.138.201 |
| hadoop02 |
192.168.138.202 |
| hadoop03 |
192.168.138.203 |
- 设置主机名,在各自机器上执行
hostnamectl set-hostname 主机名称即可
- 将jdk、Hadoop安装包分别上传至hadoop01:/hadoop目录下
接下来的操作,我会标明在那个机器里面操作,执行的时候切记不要执行错了
hadoop01中执行
解压安装包
1 2 3 4 5 6 7 8 9 10 11
| cd /hadoop // 解压jdk tar -xzvf jdk* // 解压hadoop tar -xzvf hadoop* // 删除安装包 rm -rf ./*.gz // 重命名jdk mv jdk* jdk8 // 重命名hadoop mv hadoop* hadoop3
|
安装jdk
使用命令vi /etc/profile将如下代码添加到末尾
1 2 3
| export JAVA_HOME=/hadoop/jdk8 export CLASSPATH=.$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH
|
配置完成后执行source /etc/profile重新加载配置文件
然后使用java -version测试jdk是否安装成功
安装Hadoop
1、配置环境变量
使用命令vi /etc/profile将如下代码添加到末尾
1 2
| export HADOOP_HOME=/hadoop/hadoop3 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
|
配置完成后执行source /etc/profile重新加载配置文件
2、修改Hadoop配置文件
涉及修改的文件有core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml、yarn-site.xml、workers
- core-site.xml
1 2 3 4
| <property> <name>fs.defaultFS</name> <value>hdfs://hadoop01:9000</value> </property>
|
- hadoop-env.sh
1 2 3 4 5 6
| export JAVA_HOME=/hadoop/jdk8 export HDFS_NAMENODE_USER="root" export HDFS_DATANODE_USER="root" export HDFS_SECONDARYNAMENODE_USER="root" export YARN_RESOURCEMANAGER_USER="root" export YARN_NODEMANAGER_USER="root"
|
- hdfs-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/hadoop/hadoop3/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/hadoop/hadoop3/hdfs/data</value> </property> <property> <name>dfs.namenode.http-address</name> <value>hadoop01:9870</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>
|
- mapred-site.xml
1 2 3 4
| <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
|
1 2 3 4 5 6 7 8 9 10 11 12
| <property> <name>yarn.resourcemanager.hostsname</name> <value>hadoop01</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>hadoop01:8088</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
|
1 2 3
| hadoop01 hadoop02 hadoop03
|
修改hosts文件
使用vi /etc/hosts编辑文件,在末尾加入
1 2 3
| 192.168.138.201 hadoop01 192.168.138.202 hadoop02 192.168.138.203 hadoop03
|
将jdk、hadoop等文件分发给其他机器
1 2 3 4 5 6 7 8 9 10 11 12
| // hadoop02 // 配置文件 scp -r /etc/profile hadoop02:/etc/ // 映射关系 scp -r /etc/hosts hadoop02:/etc/ // 安装文件 scp -r /hadoop hadoop02:/
// hadoop03 scp -r /etc/profile hadoop03:/etc/ scp -r /hadoop hadoop03:/ scp -r /etc/hosts hadoop03:/etc/
|
以下命令三个机器全部执行
1、刷新配置文件
2、配置ssh免密登录
1 2 3
| ssh-copy-id hadoop01 ssh-copy-id hadoop02 ssh-copy-id hadoop03
|
3、关闭防火墙
1 2
| systemctl stop firewalld.service systemctl disable firewalld.service
|
hadoop01中执行
到此搭建已经完成,访问web页面http://192.168.138.201:8088即可,