CentOS 7.7 Hadoop2.x 安装
首次发布时间:2020/8/19
最后修改时间:2020/8/19
摘要
- 下载 Hadoop
- 解压 Hadoop 压缩包
- 修改 Hadoop 的各种配置文件
- 创建临时目录和文件目录
- 配置环境变量
- 将相关配置复制到从节点
- 启动集群
- 查看服务进程
- 网页控制台
下载 Hadoop
下载地址
版本选择下载
- 我这里选的是
hadoop-2.8.5
- 其实大家选其它版本也行,影响不大,也可以选跟我一样的
- 点击下图红框中的
hadoop-2.8.5/
- 点击
hadoop-2.8.5.tar.gz
进行下载即可 - 不要点错其它了
将 Hadoop 压缩包移动到 CentOS 系统中
- 下载完毕后,要把下载好的
hadoop-2.8.5.tar.gz
移到虚拟机的 CentOS 系统中 - 我用的工具是
FlashFXP
,关于如何用FlashFXP
连接 VMWare 的 CentOS 系统,可以参考: - 连接上之后直接将下载好的
hadoop-2.8.5.tar.gz
拉到/usr/local/src
目录即可
解压 Hadoop 压缩包
- 进入 Hadoop 压缩包所在目录
cd /usr/local/src
- 解压 Hadoop 压缩包
tar zxvf hadoop-2.8.5.tar.gz
耐心等待解压完成
修改 Hadoop 的各种配置文件
修改 hadoop-env.sh
cd hadoop-2.8.5/etc/hadoop
vim hadoop-env.sh
- 添加 JAVA_HOME 环境变量
export JAVA_HOME=${JAVA_HOME}
其实这里不用改,文件原来就是这样的
而且我们上一篇文章已经配好了 JAVA 环境变量了
修改 yarn-env.sh
vim yarn-env.sh
- 添加 JAVA_HOME 环境变量
export JAVA_HOME=${JAVA_HOME}
这里要加,因为文件原来是没有配置好 JAVA_HOME 变量的
参考图中位置添加即可
修改 slaves
- 添加从节点的主机名
vim slaves
slave1
slave2
记得先将文件原来的内容删除掉
那是默认的主机名,对我们来说没用
修改 core-site.xml
- 添加 RPC 配置
vim core.site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/src/hadoop-2.8.5/tmp</value>
</property>
</configuration>
修改 hdfs-site.xml
- 添加 DFS 配置
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/src/hadoop-2.8.5/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/src/hadoop-2.8.5/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
修改 mapred-site.xml
- 原本是没有
mapred-site.xml
的 - 只有一个叫
mapred-site.xml.template
的模板文件 - 所以首先需要将模板复制一份,命名为
mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
- 然后添加 MR 配置
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改 yarn-site.xml
- 添加资源管理配置
vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
创建临时目录和文件目录
mkdir /usr/local/src/hadoop-2.8.5/tmp
mkdir -p /usr/local/src/hadoop-2.8.5/dfs/name
mkdir -p /usr/local/src/hadoop-2.8.5/dfs/data
如果细心的话可以发现,其实我们这里创建的目录,
其实都是上面配置文件中配置的目录,
现在就是把相应的目录创建出来
配置环境变量
vim ~/.bashrc
export HADOOP_HOME=/usr/local/src/hadoop-2.8.5
export PATH=$PATH:$HADOOP_HOME/bin
添加到文件的最后即可
将相关配置复制到从节点
复制环境变量到从节点
scp -r ~/.bashrc root@slave1:~/
scp -r ~/.bashrc root@slave2:~/
复制 Hadoop 包到从节点
scp -r /usr/local/src/hadoop-2.8.5 root@slave1:/usr/local/src
scp -r /usr/local/src/hadoop-2.8.5 root@slave2:/usr/local/src
图片只是展示一下命令,实际复制过程需要几分钟,耐心等待复制完毕即可
这样复制的好处是:
不用再一个一个去配置从节点的配置文件
重新加载环境变量(每个节点都要执行)
source ~/.bashrc
格式化 Namenode
hadoop namenode -format
格式化成功会有图中的信息
启动集群
- 只须在 master 节点执行
/usr/local/src/hadoop-2.8.5/sbin/start-all.sh
因为我们在之前的章节已经配置好了 SSH 免密登录,
以及前文中配置了etc/hadoop/slaves
的从节点主机名
所以可以直接用start-all.sh
进行集群启动
如果没有配置的,参考以下文章进行集群启动:
HADOOP集群启动
或者参考以下文章进行 SSH 配置:
【大数据 / 环境配置 / KEN】CentOS 网络配置(3)
- 但是从上图中可以看到:
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
- 说明
start-all.sh
脚本被弃用了 - 虽然当前版本还有,但是估计后续不知道哪个版本就没了
- 所以先习惯使用
start-dfs.sh
和start-yarn.sh
- 这两个脚本分别执行,和执行
start-all.sh
一样,就是分别启动 HDFS 和 yarn 集群
查看服务进程
- Master 节点:
- Slave1 节点:
- Slave2 节点:
网页控制台
Windows
- 修改文件:
C:\Windows\System32\drivers\etc\hosts
192.168.30.101 master
192.168.30.102 slave1
192.168.30.103 slave2
Linux
- 修改文件:
etc/hosts
Mac
- 修改文件:
etc/hosts
登录网页控制台
- 用浏览器访问:
master:8088/cluster
结束
- 有不清楚的可留言