当前位置:   article > 正文

保姆级丨Hadoop部署

hadoop部署

0x00 前言

        Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

▲ Hadoop生态系统

0x01 环境说明

Xshell 7
Hadoop-3.3.3
jdk-18_linux-x64_bin
centos-a(192.168.1.10)
centos-b(192.168.1.11)
centos-c(192.168.1.12)

0x02 准备工作

        文中使用CentOS-7系统在三个虚拟机环境下进行示范,过程使用本地主机与虚拟机交互。首先要在Windows主机下载实验过程需要使用的环境。

ⅠXshell 7:

https://www.xshell.com/zh/xshell-download/

ⅡHadoop-3.3.3:

https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/hadoop-3.3.3.tar.gz

Ⅲjdk-18_linux-x64_bin:

https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.tar.gz

0x03 配置hosts文件(三个节点)

通过root执行命令

su root

配置虚拟机hosts文件

vi /etc/hosts

写入各个节点IP和主机名

  1. 192.168.1.10 centos-a
  2. 192.168.1.11 centos-b
  3. 192.168.1.12 centos-c

分别检测三个节点是否互联

ping -c 3 centos-x

0x04 SSH免密登录(三个节点)

        SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

生成密钥文件

ssh-keygen -t rsa -P ''

在.ssh目录中生成authorized_keys文件(仅在主节点执行)

touch /root/.ssh/authorized_keys

通过SSH复制三个节点生成的id信息

ssh-copy-id centos-assh-copy-id centos-bssh-copy-id cnetos-c

查看密钥文件是否成功配置

cat /root/.ssh/authorized_keys

验证免密登录是否成功

ssh centos-b

0x05 Xshell7连接虚拟机(三个节点)

        Xshell7可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。

打开Xshell7选择新建

修改常规项并连接虚拟机

接受并保存

​▲ 输入主机名并确定

​▲ 输入虚拟机密码并确定

​▲ 虚拟机连接成功

0x06 Xshell7文件上传(三个节点)

通过root执行命令

su root

创建software文件夹

mkdir /usr/local/software

下载文件互传工具

yum -y install lrzsz

打开software文件夹

cd /usr/local/software

利用lrzsz文件互传工具

rz

上传jdk-18_linux-x64_bin文件

上传Hadoop-3.3.3文件

0x07 安装JDK(三个节点)

创建jdk文件夹以保存解压的jdk文件

mkdir /usr/local/jdk

解压jdk文件

tar -zxvf jdk-18_linux-x64_bin.tar.gz -C /usr/local/jdk

打开profile文件

vi /etc/profile

配置jdk环境变量

  1. #--在末尾写入配置文件--
  2. export JAVA_HOME=/usr/local/jdk/jdk-18.0.2
  3. export PATH=$PATH:$JAVA_HOME/bin
  4. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/

使配置文件生效

source /etc/profile

0x08 安装Hadoop(三个节点)

创建hadoop文件夹以保存解压的hadoop文件

mkdir /usr/local/hadoop

解压hadoop文件

tar -zxvf hadoop-3.3.3.tar.gz -C /usr/local/hadoop

打开profile文件

vi /etc/profile

配置hadoop环境变量

  1. export HADOOP_HOME=/usr/local/hadoop/hadoop-3.3.3
  2. export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  3. export HDFS_NAMENODE_USER=root
  4. export HDFS_DATANODE_USER=root
  5. export HDFS_SECONDARYNAMENODE_USER=root
  6. export YARN_RESOURCEMANAGER_USER=root
  7. export YARN_NODEMANAGER_USER=root

使配置文件生效

source /etc/profile

0x09 配置Hadoop文件(仅在主节点执行)

打开hadoop-env.sh文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/hadoop-env.sh

修改hadoop-env.sh文件

JAVA_HOME=/usr/local/jdk/jdk-18.0.2

打开core-site.xml文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/core-site.xml

修改core-site.xml文件

  1. #在configuration标签中加入
  2. <!-- HDFS临时目录 -->
  3. <property>
  4. <name>hadoop.tmp.dir</name>
  5. <value>/usr/local/hadoop/hadoop-3.3.3/tmp</value>
  6. <description>Abase for other temporary directories.</description>
  7. </property>
  8. <!-- HDFS的默认地址、端口 访问地址 -->
  9. <property>
  10. <name>fs.defaultFS</name>
  11. <value>hdfs://centos-a:9000</value>
  12. </property>

打开yarn-site.xml文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/yarn-site.xml

修改yarn-site.xml文件

  1. #在configuration标签中加入
  2. <!-- 集群master -->
  3. <property>
  4. <name>yarn.resourcemanager.hostname</name>
  5. <value>centos-a</value>
  6. </property>
  7. <!-- NodeManager上运行的附属服务 -->
  8. <property>
  9. <name>yarn.nodemanager.aux-services</name>
  10. <value>mapreduce_shuffle</value>
  11. </property>
  12. <!-- 容器可能会覆盖的环境变量,而不是使用NodeManager的默认值 -->
  13. <property>
  14. <name>yarn.nodemanager.env-whitelist</name>
  15. <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ</value>
  16. </property>
  17. <!-- 关闭内存检测,在虚拟机中不做配置会报错 -->
  18. <property>
  19. <name>yarn.nodemanager.vmem-check-enabled</name>
  20. <value>false</value>
  21. </property>

打开mapred-site.xml文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/mapred-site.xml

修改mapred-site.xml文件

  1. #在configuration标签中加入
  2. <!-- yarn表示新的框架,local表示本地运行,classic表示经典mapreduce框架 -->
  3. <property>
  4. <name>mapreduce.framework.name</name>
  5. <value>yarn</value>
  6. </property>
  7. <!-- 如果mapreduce任务访问本地库(压缩等),则必须保留原始值,当此值为空时,设置执行环境的命令将取决于操作系统 -->
  8. <property>
  9. <name>mapreduce.admin.user.env</name>
  10. <value>HADOOP_MAPRED_HOME=/usr/local/hadoop/hadoop-3.3.3</value>
  11. </property>
  12. <!-- 设置AM[AppMaster]端的环境变量 -->
  13. <property>
  14. <name>yarn.app.mapreduce.am.env</name>
  15. <value>HADOOP_MAPRED_HOME=/usr/local/hadoop/hadoop-3.3.3</value>
  16. </property>

打开hdfs-site.xml文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/hdfs-site.xml

修改hdfs-site.xml文件

  1. #在configuration标签中加入
  2. <!-- hdfs web的地址 -->
  3. <property>
  4. <name>dfs.namenode.http-address</name>
  5. <value>centos-a:50070</value>
  6. </property>
  7. <!-- 副本数 -->
  8. <property>
  9. <name>dfs.replication</name>
  10. <value>3</value>
  11. </property>
  12. <!-- 是否启用hdfs权限 -->
  13. <property>
  14. <name>dfs.permissions.enabled</name>
  15. <value>false</value>
  16. </property>
  17. <!-- 块大小,默认128M -->
  18. <property>
  19. <name>dfs.blocksize</name>
  20.   <value>134217728</value>
  21. </property>

打开works文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/workers

修改works文件

  1. centos-a #--主节点--
  2. centos-b  #--从节点--
  3. centos-c #--从节点--

将centos-a主机节点配置好的文件发送给centos-b和centos-c

  1. scp -r /usr/local/hadoop/hadoop-3.3.3 centos-b://usr/local/hadoop/
  2. scp -r /usr/local/hadoop/hadoop-3.3.3 centos-c://usr/local/hadoop/

0x10 启动Hadoop(仅在主节点执行)

hadoop启动前必须要格式化

hadoop namenode -format

启动hadoop,启动文件位于sbin目录

  1. start-all.sh #--启动--
  2. stop-all.sh #--停用--

浏览器访问hadoop的web界面

192.168.1.10:50070

0x11 总结

至此Hadoop部署完成。由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/827961
推荐阅读
相关标签
  

闽ICP备14008679号