CentOS 8下安装hadoop-3.3.0
OS:
[orange@localhost ~]$ cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core)
Step1:
配置IP:1 or 2 or 3
为什么配置IP?因为我们如果在生产环境下,必须通过机器名精准的找到每台dataNode,通过为每台机器配置固定IP从而可以配置每台机器的Host.
1.Settings-->Network-->Wired-->set-->IP4
2.stepup 命令
3.修改配置文件
Step2:
让普通用户拥有sudo权限
为什么需要配置sudo权限?如果我们每次修改系统配置文件的时候都切换到root用户,从而导致有可能忘记切回普通用户,造成安装的包的用户都是root。
1.切换到root用户
[orange@localhost Downloads]$ su Password: [root@localhost Downloads]# vim /etc/sudoers
2.编辑/etc/sudoers
【yy】命令复制一行,【p】命令在当前行粘贴
## Allow root to run any commands anywhere root ALL=(ALL) ALL orange ALL=(ALL) ALL
3.Esc -> :-->wq!保存退出
Step3:
关闭centos 图形界面。也可以不关闭
为什么关闭图形界面?Linux的图形界面会占用内存和硬盘空间,如果dataNode有很多,我们会做一个母本,然后通过母本安装其他的dataNode,节省机器的空间和提高效率。
1.
[root@localhost Downloads]# sudo vim /etc/inittab
2.输入【id:3:initdefalt:】将启动级别改成3
Step4:
修改主机名
[orange@localhost sysconfig]$ sudo vim /etc/sysconfig/network
修改HOSTNAME=XXXXX
执行 【sudo hostname XXXXX】然后重新登陆terminal
修改/etc/hostname直接用命令:
hostnamectl set-hostname XXXXXX 就可以。
Step5:
域名解析(主机名映射IP)
sudo vim /etc/host
输入【你的IP地址 主机名】
ping 你的主机名进行测试
Step6:
安装JDK(省略)
重点:把java path放到环境变量里
Step7:
安装Hadoop
1.下载Hadoop
http://apache.org/index.html#projects-list(官网)
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.0/(国内资源库)
2.解压Hadoop
tar -zxvf hadoop-3.3.0.tar.gz -C /home/orange/app
3.hadoop目录说明
bin --- hadoop可执行的一些脚本,比如hadoop,mapreduce,yarn
sbin --- 系统相关的一些执行脚本,比如hadoop的相关启动/关闭脚本
lib --- 本地库,本地平台的效率实现
etc --- 配置文件
libexec --- 执行相关
include -- 本地库相关
share --- jar包,开发相关
share/doc --- 开发文档,为了节省空间可以删除这个目录
Step8:
编辑配置文件
1.配置hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/home/orange/app/jdk-11.0.2
2.配置core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop001:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/orange/app/hadoop-3.3.0/data</value> </property> </configuration>
3.配置hdfs-site.xml,副本数一般为3,演示的时候我们配置成1.
<configuration>
<property>
<name>dfs.replicationn</name>
<value>1</value>
</property>
</configuration>
4.配置mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
5.配置yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>hadoop001</value> </property> <property> <name>yarn.nodemanager.hostname</name> <value>mapreduce_shuffle</value> </property>
6.在实际项目中需要把端口配置到防火墙白名单中,我们这是演示版本,我们不需要配置。
7.初始化文件服务
hadoop namenode -format
或者
hdfs namenode -format
如果出现下列的语句就说明Hadoop安装成功
common.Storage: Storage directory /home/orange/app/hadoop-3.3.0/data/dfs/name has been successfully formatted.
8.配置slaves文件,在最新的hadoop中已经没有slaves文件了,但是它换成了works文件,大家把datanode的
机器配置到works文件中就可以。我们演示的时候把本地机器配置到works中。
9.集群间的机器SSH免密登陆
ssh-keygen -t rsa
把(.ssh/id_rsa.pub)拷贝到datanode机器上,也就是你需要免密登陆的机器,我们这是演示版本,就放到本地,不拷贝。但需要把id_rsa.pub的内容拷贝到授权列表文件(authorized_keys)中
touch authorized_keys chmod 600 authorized_keys
10.验证
[orange@hadoop001 ~]$ start-dfs.sh Starting namenodes on [hadoop001] Starting datanodes Starting secondary namenodes [hadoop001]
[orange@hadoop001 sbin]$ start-yarn.sh
Starting resourcemanager
Starting nodemanagers
安装完成。我们在安装的时候没有关闭防火墙或者把hadoop的相关端口添加到白名单中,如果只是启动hadoop的hdfs和yarn是没事的。如果在开发中碰到需要关闭防火墙的时候可以关闭防火墙或者配置白名单。