0


在虚拟机上从0开始安装 hadoop 3.1.3 集群记录

hadoop 3.1.3 安装记录

linux 安装

使用centos7.5 DVD
环境虚拟机 VMware
jdk1.8
hadoop 3.1.3

VMware

新建虚拟机向导

  • 选择典型
  • 稍后安装操作系统
  • linux 版本centOS7 64位
  • 虚拟机名称 hadoop11
  • 位置 d:\dev\hadoop11
  • 磁盘大小 50
  • 将虚拟磁盘拆分成多个文件
  • 自定义硬件 内存 4GB(根据实际情况定)
  • 处理器数量2 每个处理器的内核数量2 (根据实际情况定)
  • 新CD/DVD 使用ISO镜像文件 选择centos7.5 DVD
  • Done
  • 开启此虚拟机

VMware的网络配置

  • 编辑 虚拟网络编辑器
  • 选择NAT 模式 修改子网IP192.168.【挑个吉祥数】.0
  • NAT设置 网管IP改成【吉祥数】
  • 修改vm对应的网卡的 internet协议版本 4 (TCP/IPv4) ip地址 192.168.【吉祥数】.1 子网掩码 255.255.255.0 默认网关 192.168.【吉祥数】.2 首选DNS 192.168.【吉祥数】.2 吉祥数是10,实际根据环境判断,避免占用
  • 完事

centos 7.5

安装

  • 本地化 设置当前时间
  • 软件安装 最小安装 【已选开发环境的附加选项】全钩上
  • 安装位置 其他存储选项 我要配置分区
  • 标准分区
    • 挂载点 /boot 1G 添加挂载点 文件系统ext4
    • 挂载点 /swap 4G 添加挂载点 文件系统swap
    • 挂载点 / 45G 添加挂载点 文件系统ext4
  • 完成标准分区设置
  • KDUMP [在标准分区旁边] 不启用 kdump
  • 网络和主机名称 打开以太网 设置主机名hadoop11 点击应用 【完成】
  • SECURITY POLICY 【No content found】
  • [开始安装]ing
  • 设置密码和用户
  • 安装工具
yum install -y epel-release
yum install -y vim 
yum install -y net-tools 
yum install -y ntp

设置服务器

  • 给用户赋root权限
vim /etc/sudoers
  • user 修改成linux安装时候设置的用户名
  • ⚠️注意!注意!注意!需要增加在 %wheel ALL=(ALL) ALL 后面注意:user这一行不要直接放到root行下面,因为所有用户都属于wheel组,你先配置了user具有免密功能,但是程序执行到%wheel行时,该功能又被覆盖回需要密码。所以user要放到%wheel这行下面。
#找到 %wheel  ALL=(ALL)       ALL 添加在该行下面
user   ALL=(ALL)     NOPASSWD:ALL
  • 设置hostname
vim /etc/hostname
hadoop11
  • 设置hosts
vim /etc/hosts
192.168.10.11     hadoop11
192.168.10.12     hadoop12
192.168.10.13     hadoop13
  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld.service
  • 卸载 自带jdk 【最小安装无jdk】 rpm -qa:查询所安装的所有rpm软件包 grep -i:忽略大小写 xargs -n1:表示每次只传递一个参数 rpm -e –nodeps:强制卸载软件
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 
  • 虚拟网络ip设置
  • su root权限
vim /etc/sysconfig/network-scripts/ifcfg-ens33 
  • #IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议) BOOTPROTO=“static”
  • #IP地址 IPADDR=192.168.10.11
  • #网关 GATEWAY=192.168.10.2
  • #域名解析器 DNS1=192.168.10.2
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="ec201efe-1f94-46ab-b276-50022ceee6e8"DEVICE="ens33"ONBOOT="yes"IPADDR=192.168.10.11
GATEWAY=192.168.10.2
DNS1=192.168.10.2

保存后重启

reboot

使用windTerm 连接服务器 (使用shell工具即可)

  • 自行下载WindTerm github 建议百度找资源
  • 新建回话 主机192.168.10.11
  • 后续操作使用windTerm 操作

jdk和hadoop安装

上传和准备

  • 在opt下创建module和software
mkdir /opt/module
mkdir /opt/software
  • 使用windTerm 中使用文件管理 进入 /opt/software/
  • 将jdk1.8 和hadoop 3.1.3上传到服务器的software目录下Alt
  • 分别将jdk和hadoop解压缩到module 目录下
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

配置环境

vim /etc/profile
  • 在末尾添加【环境变量】
  • 也可以通过在profile.d目录下my_env.sh,在该文件中配置环境变量【环境变量】
vim /etc/profile.d/my_env.sh
  • 【环境变量】
#JAVA_HOMEexportJAVA_HOME=/opt/module/jdk1.8.0_212
exportPATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOMEexportHADOOP_HOME=/opt/module/hadoop-3.1.3
exportPATH=$PATH:$HADOOP_HOME/bin
exportPATH=$PATH:$HADOOP_HOME/sbin
  • 重载配置文件
source /etc/profile
  • 测试是否OK
jps
java -version

hadoop环境配置

192.168.10.11 hadoop11是主节点
192.168.10.12 hadoop12是Yarn节点
192.168.10.13 hadoop13是从节点

  • 以下操作均需要进入配置的文件所在的目录:$HADOOP_HOME/etc/hadoop/
cd /opt/module/hadoop-3.1.3/etc/hadoop
  • core-site.xml 设置NameNode、存储目录、以及机群启动后通过web页面管理的操作权限。
  • 注意“【user】”需要替换成linux的用户,就是上文赋过root权限的用户
vim core-site.xml
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop11:8020</value></property><!-- 指定hadoop数据的存储目录 --><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.1.3/data</value></property><!-- 配置HDFS网页登录使用的静态用户为user --><property><name>hadoop.http.staticuser.user</name><value>ocken</value></property></configuration>
  • hdfs-site.xml 指定主从服务
vim hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- nn web端访问地址--><property><name>dfs.namenode.http-address</name><value>hadoop11:9870</value></property><!-- 2nn web端访问地址--><property><name>dfs.namenode.secondary.http-address</name><value>hadoop13:9868</value></property></configuration>
  • yarn-site.xml 指定YARN服务器
vim yarn-site.xml
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定MR走shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>hadoop12</value></property><!-- 环境变量的继承 --><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value></property><!-- 开启日志聚集功能 --><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!-- 设置日志聚集服务器地址 --><property><name>yarn.log.server.url</name><value>http://hadoop11:19888/jobhistory/logs</value></property><!-- 设置日志保留时间为7天 --><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property></configuration>
  • mapred-site.xml
vim mapred-site.xml
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定MapReduce程序运行在Yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property><!-- 历史服务器端地址 --><property><name>mapreduce.jobhistory.address</name><value>hadoop11:10020</value></property><!-- 历史服务器web端地址 --><property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop11:19888</value></property></configuration>
  • workers 不可以有空格和缩进
vim workers
hadoop11
hadoop12
hadoop13

拷贝服务器及快捷脚本

拷贝以及设置服务器

  • 使用VMware 右键电源 关机 右键快照 拍摄快照 日期
  • 右键 管理 克隆 下一步 虚拟机中当状态 下一步 创建完整克隆
  • 虚拟机名称 分别是hadoop12 和 hadoop13 目录看自己
  • 修改每台机器的hostname和ifcfg-ens33文件。
vim /etc/hostname
vim /etc/sysconfig/network-scripts/ifcfg-ens33
  • reboot
  • 在windterm分别增加会话。

设置分发脚本

  • 设置ssh免密登录,分别在三台服务器上执行一下操作。
ssh-keygen -t rsa
ssh-copy-id hadoop11
ssh-copy-id hadoop12
ssh-copy-id hadoop13
  • 了解一下scp -r $pdir/$fname $user@$host:$pdir/$fname 命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称 rsync -av $pdir/$fname $user@$host:$pdir/$fname 命令 选项参数 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
  • xsync 脚本
sudovim /home/bin/xsync
#!/bin/bash#1. 判断参数个数if[$# -lt 1]thenecho Not Enough Arguement!exit;fi#2. 遍历集群所有机器forhostin hadoop11 hadoop12 hadoop13
doecho====================$host====================#3. 遍历所有目录,挨个发送forfilein$@do#4. 判断文件是否存在if[ -e $file]then#5. 获取父目录pdir=$(cd -P $(dirname $file);pwd)#6. 获取当前文件的名称fname=$(basename $file)ssh$host"mkdir -p $pdir"rsync -av $pdir/$fname$host:$pdirelseecho$file does not exists!fidonedone
  • 赋权【user】替换成你服务器用户名称
sudochmod777 xsync
cd /home/【user】/bin
sudovim myhadoop.sh
#!/bin/bashif[$# -lt 1]thenecho"No Args Input..."exit;ficase$1in"start")echo" =================== 启动 hadoop集群 ==================="echo" --------------- 启动 hdfs ---------------"ssh hadoop11 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"echo" --------------- 启动 yarn ---------------"ssh hadoop12 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"echo" --------------- 启动 historyserver ---------------"ssh hadoop11 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver";;"stop")echo" =================== 关闭 hadoop集群 ==================="echo" --------------- 关闭 historyserver ---------------"ssh hadoop11 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"echo" --------------- 关闭 yarn ---------------"ssh hadoop12 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"echo" --------------- 关闭 hdfs ---------------"ssh hadoop11 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh";;
*)echo"Input Args Error...";;esac
  • 给脚本赋权
sudochmod +x myhadoop.sh

-设置查询hadoop脚本

sudovim jpsall
#!/bin/bashforhostin hadoop11 hadoop12 hadoop13
doecho===============$host===============ssh$host jps 
done
sudochmod777 jpsall
  • 分发该脚本在分发xsync的时候,一定到bin目录下,避免同步.ssh文件🥸 xsync /home/【user】/bin/*

done!&start!

使用linux【user】用户进行一下操作

  • 分别在三台服务器上初始化
hdfs namenode -format
  • 启停服务器
#启动服务器
myhadoop.sh start
#停止服务器
myhadoop.sh stop
#查看服务器
jpsall
#输出一下内容就OK了=============== hadoop11 ===============5379 JobHistoryServer
4915 DataNode
5204 NodeManager
4760 NameNode
5448 Jps
=============== hadoop12 ===============7282 ResourceManager
7747 Jps
7592 NodeManager
7098 DataNode
=============== hadoop13 ===============5040 NodeManager
5147 Jps
4843 DataNode
4956 SecondaryNameNode
  • hdfs常用命令例如
#创建文件夹
hadoop fs -mkdir /input
#将jdk移入input
hadoop fs -put /opt/software/jdk-8u212-linux-x64.tar.gz /input

常用端口


本文依据尚硅谷大数据Hadoop教程,hadoop3.x搭建到集群调优,百万播放内容整理,感谢感谢感谢海哥


本文转载自: https://blog.csdn.net/weixin_45823152/article/details/135822938
版权归原作者 McDu2L 所有, 如有侵权,请联系我们删除。

“在虚拟机上从0开始安装 hadoop 3.1.3 集群记录”的评论:

还没有评论