大数据技术栈-Hadoop3.3.4-完全分布式集群搭建部署-centos7完全详细-小白注释版虚拟机安装+平台部署
目录
1、安装虚拟机(已安装好虚拟机的可跳转至 二、安装JDK与Hadoop)
一、集群前置环境搭建(三台机器分别设置hostname、网卡(ip)配置、ssh免密登录)
(1)首先,查看本机的网卡配置,使用cmd查看ipconfg,找到VMware的虚拟网卡,查看ip
(3)检查 hadoop-3.3.4/etc/hadoop 路径下的文件
(1)修改hadoop-env.sh 添加JAVA_HOME
环境条件:
设备类型 | 软件类别 | 名称、版本号 |
PC机(建议内存8GB以上) | 操作系统 | Window10 |
软件 | VMware Workstation 17 Player | |
虚拟机 | Linux 操作系统 | CentOS 7 |
镜像文件与安装包 |
CentOS-7-x86_64-DVD-2009.iso |
|
Hadoop3.3.4.tar.gz | ||
jdk-8u191-linux-x64.tar.gz | ||
其他(看个人喜好选用) | 工具 | Xshell 7 |
Xftp 7 |
1、安装虚拟机(已安装好虚拟机的可跳转至 二、安装JDK与Hadoop)
默认VMware已经安装好,打开VMware安装第一台虚拟机
(1)直接新建一台虚拟机
选中 已经下载好的镜像文件 CentOS7-x86_64-DVD-2009.iso
修改机器名称、本机用户与密码,root用户也使用此密码
命名虚拟机名称,并设置本虚拟机的位置(建议选择储存空间大的位置,新建文件夹存放)
设置大小,默认为20GB,不用修改
选择 将虚拟磁盘存储为单个文件 然后下一步
检查虚拟机硬件配置,进行 自定义硬件 进行修改
将内存设置为 2GB(最少2GB)
将处理器数量设置为 2个
将网络适配器选择为自定义 选用 VMnet8
至此,虚拟机基本设置完成,点击完成即可。
(2)首次启用虚拟机,进行安装
直接启动
首次启用需等待系统自动下载
然后就进入系统了
注:本次安装过程使用了简易安装,不使用的话是需要自行选择需要安装的插件和软件
可以点击用户名进行普通登录,或选择 Not listed? 使用root用户登录
至此,虚拟机的安装就算结束了···
一、集群前置环境搭建(三台机器分别设置hostname、网卡(ip)配置、ssh免密登录)
1、查看一下本机与虚拟机的网卡和ip信息
(1)首先,查看本机的网卡配置,使用cmd查看ipconfg,找到VMware的虚拟网卡,查看ip
win R 打开 cmd
cmd中使用 ipconfig 进行查看
找到 VMnet8 这个虚拟网卡,所有集群的IP需配置在此网段内。例如:192.168.13.20
记住192.168.13.1和255.255.255.0
(2)查看虚拟机的网卡配置和网络信息
使用 ifconfig 或 ip a 进行查看 两者选一个即可(能看到虚拟机现在的ip和网卡名称即可)
ifconfig
通常出现的第一个此虚拟机使用的虚拟网卡,名称为ens33 对这个网卡的配置文件进行修改
ip a
此命令的内容与 ifconfig 大致相同
(3)修改Hostname
方法一:使用 vim/etc/hostname 编辑即可
vim/etc/hostname
修改后使用 reboot 重启虚拟机生效
使用命令 hostname 查看
hostname
方法二:使用 hostnamectl 命令
hostnamectl set-hostname 新名称
修改后使用reboot重启虚拟机
使用hostname查看
hostname
2、配置静态ip网卡
网卡路径 /etc/sysconfig/network-scripts/ifcfg-ens33
使用vim对网卡配置文件进行编辑
vim /etc/sysconfig/network-scripts/ifcfg-ens33
-
#网卡配置文件内容
-
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=f605a46e-401e-46bf-98f7-1d9270d29270
-
DEVICE=ens33
-
ONBOOT=yes
-
IPADDR=192.168.13.30
-
NETMASK=255.255.255.0
-
DNS1=8.8.8.8
-
DNS2=114.114.114.114
-
DNS3=192.168.13.1
-
PREFIX=24
-
GATEWAY=192.168.13.2
使用ping命令测试网络是否联通
ping -c 4 百度.com
显示以上内容,说明测试成功。按照以上全部步骤继续创建 slave1 和 slave2 两台虚拟机
3、配置ssh免密登录
三台虚拟机都配置好网络后,再进行本步骤!
(1)修改hosts文件
vim /etc/hosts
-
#IP地址 hostname名称
-
192.168.13.30 master
-
192.168.13.31 slave1
-
192.168.13.32 slave2
三台机器同步进行修改(建议使用xshell同时三台进行操作)
后续操作均使用Xshell工具进行,与虚拟机终端进行操作的结果相同
(2)配置ssh
创建.ssh文件夹(三台机器都需要执行)
mkdir .ssh
ll 查看是否创建成功(ls命令是看不见的)
ll -a
生成密钥(三台机器都需要执行)
ssh-keygen -t rsa
回车执行
即为成功
ssh-copy-id 复制到其他主机
ssh-copy-id master ssh-copy-id slave1 ssh-copy-id slave2每台机器都运行以上三条命令一遍
使用ssh进行测试(无需密码直接切换到其他主机)
# master 免密登录至slave1节点 ssh slave1
4、hadoop集群规划
机器 | ip地址 | 节点分配 |
master | 192.168.13.30 | NameNode、DataNode、NodeManager |
slave1 | 192.168.13.31 | ResourceManager、DataNode、NodeManager |
slave2 | 192.168.13.32 | SecondaryNameNode、DataNode、NodeManager |
二、安装jdk与hadoop
1、检查jdk是否安装
使用 java-version 查看Jdk的版本
java -version
这里我用的是jdk1.8.0_191
使用新版jdk,在 /etc/profile 修改jdk环境变量至新版的路径即可
安装包:虚拟机联网后可直接通过浏览器进行下载 若在PC机 则需通过工具上传至虚拟机中 (使用xshell或xftp)
2、安装jdk,配置环境
在/opt目录下创建两个文件夹
mkdir -p software //存放安装包
mkdir -p module //存放解压后的文件
准备好安装包后,使用tar命令解压
-
mkdir -p /opt/software
-
mkdir -p /opt/module
-
ls /opt
tar -zvxf /目标文件路径 -C /安装路径
tar -zvxf /opt/software/jdk-8u191-linux-x64.tar.gz -C /opt/module
解压好后通过mv命令改名
mv /opt/module/解压后文件 /opt/module/改名
配置环境 /etc/profile
vim /etc/profile
将以下内容写入profile中 (路径需与安装的一致)
-
#Profile中对jdk的配置内容
-
export JAVA_HOME=/opt/module/jdk1.8.0_191
-
export PATH=$JAVA_HOME/bin:$PATH
-
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$HAVA_HOME/lib/tools.jar
修改后使用source命令
source /etc/profile
使用命令查看jdk版本,与安装包相符说明配置成功
java -version
3、准备Hadoop3.3.4安装包
(1)获取安装包
获取方式一:若虚拟机是图形化界面,即可使用火狐浏览器直接 apache.org 进行访问,再Download中下载Hadoop对应版本
获取方式二: 通过各种工具软件从PC机将下载好的安装包上传至虚拟机内。
(2)解压安装包
使用tar命令解压安装包(我的安装包统一放在/opt/software目录下,解压在/opt/module目录)
-
#使用tar命令解压
-
tar -zvxf /opt/software/hadoop-3.3.4.tar -C /opt/module/
-
-
#ls 查看解压是否成功
-
ls /opt/module
(3)检查 hadoop-3.3.4/etc/hadoop 路径下的文件
ls /opt/module/hadoop-3.3.4/etc/hadoop
后续要对这几个文件进行配置
4、配置Hadoop3.3.4环境变量
使用vim对 /etc/profile 进行编辑,将以下内容写入
-
#在profile中对Hadoop的配置内容
-
export HADOOP_HOME=安装路径
-
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
-
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
记得 source /etc/profile
5.修改Hadoop配置文件内容
(1)修改hadoop-env.sh 添加JAVA_HOME
#进入hadoop的配置文件目录 cd /opt/module/hadoop-3.3.4/etc/hadoop #vi修改 hadoop-env.sh vi hadoop-env.sh #添加JAVA_HOME 在38行插入 JAVA_HOME=/opt/module/jdk1.8.0_191
(2)修改 core-site.xml 添加配置信息:
vim core-site.xml
在<configuration></configuration>之间插入以下内容
<!--HDFS临时目录--> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-3.3.4/tmp</value> </property> <!--HDFS的默认地址、端口(访问地址)--> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property>
(3)修改yarn-site.xml
vim yarn-site.xml
<!--集群Master--> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <!--NodeManager上运行的附属服务--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!--容器可能会覆盖的环境变量--> <property> <name>yarn.nodemanager.envwhitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,PATH,LANG,TZ</value> </property> <!--关闭内存检测,在虚拟机环境中不做配置会报错--> <property> <name>yarn.nodemanager.vmem-check-enable</name> <value>false</value> </property>
(4)修改mapred-site.xml
vim mapred-site.xml
<!--local本地运行,Classic表示经典mapreduce框架,yarn表示新的框架--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!--如果map和reduce任务访问本地库(压缩等),则必须保留原始值,此值为空时,设置执行环境的命令将取决于操作系统--> <property> <name>mapreduce.admin.user.env</name> <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.3.4</value> </property> <!--可设置AM【AppMaster】端的环境变量--> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.3.4</value> </property>
(5)修改hdfs-site.xml
vim hdfs-site.xml
<!--hdfs web的地址--> <property> <name>dfs.namenode.http-address</name> <value>master:50070</value> </property> <!--副本数--> <property> <name>dfs.replication</name> <value>3</value> </property> <!--是否启用hdfs权限,当值为false时,代表关闭--> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property> <!--一块大小,默认128M--> <property> <name>dfs.blocksize</name> <value>13217728</value> </property>
(6)修改workers
vim workers
写入以下内容
master slave1 slave2
配置文件完成~~
6.同步hadoop至slave1与slave2
使用scp命令
scp -r /opt/module/hadoop-3.3.4 slave1:/opt/module/ scp -r /opt/module/hadoop-3.3.4 slave2:/opt/module/
三、初始化
1.初始化namenode
使用hdfs命令在master上进行(其余俩台服务器不用,注意:该命令只能使用一次!!)
hdfs namenode -format
2.启动Hadoop
(1)第一种启动方式
1)启动hdfs
start-hdfs.sh
若显示不存在则使用
$HADOOP_HOME/bin start-hdfs.sh
2)启动yarn
start-yarn.sh
$HADOOP_HOME/bin start-yarn.sh
(2)第二种启动方式
start-all全部启动
start-all.sh
或使用
$HADOOP_HOME/bin start-all.sh
(3) 检查启动状态
使用jps命令
jps
浏览HDFS文件
hadoop fs ls /
访问hdfs
master:50070
(4)关闭Hadoop
stop-all.sh
各种问题欢迎大家留言!
——————————————
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhficeig
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24