hadoop3.3.4安装及启动

2023-12-13 04:39:27

1.虚拟机的安装

此处我选择的是VMware,激活码可以百度搜索,安装过程比较缓慢,需要耐心等待

---------------------------------------------------------------------------------------------------------------------------------

2.创建新的虚拟机

点击创建虚拟机,如果已经创建,导入即可

---------------------------------------------------------------------------------------------------------------------------------

3.下载镜像

多种镜像可以选择,我选择下载的是CentOS7。相比于ubantu,CentOS7下载速度更快,相对应的虚拟机克隆的速度也更快。但是图形化界面不如ubantu,对新手不友好。

---------------------------------------------------------------------------------------------------------------------------------

4.导入镜像

注意:一定要先选稍后安装,如果在这里直接安装,将会出现用户注册无效的问题,你将无法登录进入虚拟机

创立成功后,再在CD/DVD设置中,导入镜像文件。重启虚拟机,使其生效

---------------------------------------------------------------------------------------------------------------------------------

5.登入

一共有两种模式,一种是注册时注册的自定义用户,该用户权限很小,特征是命令前缀为$,另一种是root用户,该用户权限很大,特征是命令前缀为#。如果在登录界面输入的用户名是“root”(不加引号)那么将登入root用户。输入exit可以切换为自定义用户。此外,自定义用户可以输入su指令,切换到root用户

---------------------------------------------------------------------------------------------------------------------------------

6.网络设置

Hadoop需要至少三台机器互联互通,因此网络的设置至关重要,可以先采用ping www.baidu.com的方法,检验网络设置(点击ctrl+c中止该过程,不然会一直进行通信)

如果能显示,证明可以联通互联网,反之则需要调试网络。

打开虚拟网络编辑器,选择VMnet8模式,关闭使用本地DHCP分配IP地址选项(静态ip地址,不需要分配),同时点击NAT设置,查找本机子网IP,子网掩码以及网卡,记住他们。

以我的设置为例:

接下里,打开本机的网络配置器,选择VMnet8

修改IPV4协议,除了IP地址以外,其他地址按在虚拟网络适配器中查到的值抄写。IP地址头三组按查到的值抄写,最后一位写0-255之间的任意数。注意合理分配最后一位数,待会还会用到

输入ip addr查找虚拟机配置文件号

输入vi /etc/sysconfig/network-scripts/ifcfg-ens33(ens33是刚刚用ip addr查到的号码),按i进入编辑模式,给机器分配ip地址,要与在ipv4中设置的ip地址不同,我这里写的是200.编辑完成后按esc退出,按下:wq保存修改

BOOTPROTO=static
 
ONBOOT=yes
IPADDR=192.168.198.200
NETMASK=255.255.255.0
GATEWAY=192.168.198.2
DNS=8.8.8.8

输入service network restart重启网络,使修改生效。最后再ping www.baidu.com检验。一台机子完成设置后,克隆两台(完整克隆,不要链接克隆!),再按同样的流程,修改为不同的ip地址(202,204)

我们采用主从结构搭建,三台机器为:

192.168.198.200 hadoop01
192.168.198.202 hadoop02
192.168.198.204 hadoop03

使用vi /home/hosts打开hosts文件,把上面那段代码加进去,完成后重启网络,使修改生效

使用相互ping的方法检验是否设置成功

注意:在这一步就可以关闭防火墙了,使用systemctl stop firewalld和systemctl disable firewalld.service指令。

---------------------------------------------------------------------------------------------------------------------------------

7.配置ssh免密登录

在主节点机器(hadoop01)使用ssh-keygen -t rsa生成ssh密钥

ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03

把密钥拷贝到三台机器上,这样就实现免密登陆了。这一步成功的基础在于,必须关闭防火墙

使用

ssh hadoop01
ssh hadoop02
ssh hadoop03

进行检验,看是否分发成功。输入exit即可断开连接

---------------------------------------------------------------------------------------------------------------------------------

8.远程连接工具的下载

putty和xshell均可以。xshell无需购买,家庭版足矣,此外xshell图形化界面更友好。下载之后采用ip地址连接的方式与虚拟机连接即可。值得注意的是,连接虚拟机时,虚拟机必须开机,不能关机!

---------------------------------------------------------------------------------------------------------------------------------

9.jdk下载传输

利用xshell或者putty和虚拟机建立连接。输入rz,如果没有任何反应那么意味着没有下载rz包,使用yum install语句,下载rz命令的资源包。同时,考虑到后续要设置java变量,区分命令和变量的颜色十分重要,我们同样使用yum install语句,下载vim语句的资源包(vim 语句区分不同变量的颜色十分醒目,便于我们修改、配置java变量)。使用家庭版xshell第一次上传时,可能会出现乱码,不要慌张,退出连接后,重新再上传一次基本上就不会有乱码了。输入ls检查下载的目录下是否有jdk压缩包。没有问题的话,将该压缩包解压(利用语句在虚拟机上解压,不要理解为在本机解压!)输入

tar zxvf 资源包名字

再次输入ls查看目录下是否有解压文件和安装包。这一步的时候,也可以上传hadoop 3.3.4的压缩包,上传过程同理

输入以下语句配置jdk变量

vim .bash_profile

输入:

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export JAVA_HOME=/jdk地址/jdk1.8.0_212
export PATH=$JAVA_HOME/bin:$PATH

(可以输入pwd查看jdk下载地址)

再输入,使配置的修改生效:

source .bash_profile

输入java -version检查虚拟机的jdk是否配置成功

如果出现不能识别java的报错,那就意味着要么jdk为正确解压,要么java变量为配置成功

---------------------------------------------------------------------------------------------------------------------------------

10.hadoop的解压与配置

输入如下命令,解压hadoop

tar zxvf hadoop-3.3.4.tar.gz

?可以把压缩包移到想要的地址,合理分配内存资源,利用mv语句,比如这个地址:

/home/hadoop/hadoop-3.3.4

输入cd /home/hadoop语句,切换到该文件夹,输入ls查看是否成功的把压缩包移动到该文件夹下,如果用mv语句一直没有反应,那可以直接先切换到该文件下,然后使用rz语句,就在该文件夹下解压hadoop

接下来配置hadoop服务器上的各个文件:

/home/hadoop/hadoop-3.3.4/etc/hadoop/

切换到该目录下

输入

vim hadoop-env.sh

将# export JAVA_HOME=那一行的注释符删除,同时将地址配置为jdk安装的地址

接下来配置,core-site.xml

vim  core-site.xml

在两个configuraiton标签之间插入:

<property>
<name>fs.default.name</name>
<value>hdfs://192.168.198.200:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>

然后配置hdfs-site.xml?

vim hdfs-site.xml 

同样的,插入:

 <property>  
 <name>dfs.namenode.name.dir</name> 
 <value>file:/home/hadoop/dfs/name</value>
 </property>
 <property> 
 <name>dfs.datanode.data.dir</name> 
 <value>file:/home/hadoop/dfs/data</value>
 </property>
 <property> 
 <name>dfs.replication</name>
 <value>2</value> 
 </property>
 <property>
 <name>dfs.http.address</name>  
 <value>192.168.198.200:50070</value>
 </property>
 <property>
 <name>dfs.namenode.secondary.http-address</name>
 <value>192.168.198.200:9001</value>
 </property>
 <property>
 <name>dfs.webhdfs.enabled</name>
 <value>true</value>
 </property>

还需要配置mapred-site.xml

vim mapred-site.xml

插入:

 <property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 </property>
 <property>
 <name>mapreduce.jobhistory.address</name>
 <value>192.168.198.200:10020</value>
 </property>
 <property>
 <name>mapreduce.jobhistory.webapp.address</name>
 <value>192.168.198.200:19888</value>
 </property>

此外还有yarn-site.xml

vim yarn-site.xml

插入:

<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
 </property>
 <property>
 <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
 <value>org.apache.hadoop.mapred.ShuffleHandler</value>
 </property>
 <property>
 <name>yarn.resourcemanager.address</name>
 <value>192.168.198.200:8032</value>
 </property>
 <property>
 <name>yarn.resourcemanager.scheduler.address</name>
 <value>192.168.198.200:8030</value>
 </property>
 <property>
 <name>yarn.resourcemanager.resource-tracker.address</name>
 <value>192.168.198.200:8031</value>
 </property>
 <property>
 <name>yarn.resourcemanager.admin.address</name>
 <value>192.168.198.200:8033</value>
 </property>
 <property>
 <name>yarn.resourcemanager.webapp.address</name>
 <value>192.168.198.200:8088</value>
 </property>
 <property>
<name>yarn.nodemanager.resource.memory-mb</name>
 <value>1024</value>
 </property>

注意:在hadoop3.3.4中,不再需要配置yarn-env.sh文件!

最后,配置环境变量

vim /etc/profile

输入:

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
export HADOOP_PID_DIR=/home/hadoop
export HADOOP_HOME=/home/hadoop/hadoop-3.3.4/
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$HOME/bin
export PATH

输入命令,使得配置生效:

source /etc/profile

---------------------------------------------------------------------------------------------------------------------------------

11.配置worker,为下一步分发hadoop以及后续守护线程的启动做准备

cd /home/hadoop/hadoop-3.3.4/etc/hadoop
vim workers

删除localhost,输入三台机器的ip地址

输入指令重启,使修改生效

---------------------------------------------------------------------------------------------------------------------------------

12.分发jdk,hadoop,file到两台从机

scp -r /home/jdk1.8.0_212 hadoop02:/home/
scp -r /home/jdk1.8.0_212 hadoop03:/home/
scp -r /etc/profile hadoop02:/etc/
scp -r /etc/profile hadoop03:/etc/
scp -r /home/hadoop hadoop02:/home/
scp -r /home/hadoop hadoop03:/home/

注意上传成功后要在两台从机分别重启配置文件,不然配置无效

---------------------------------------------------------------------------------------------------------------------------------

13.hadoop服务器启动

只需要在主虚拟机上启动服务器,第一次启动时要注意要进行格式化。不要轻易进行格式化,多次格式化会产生严重报错。如果这一次启动失败了,那么需要执行以下命令清除上一次格式化产生的错误数据

rm -rf tmp/       ----/home/hadoop目录下
mkdir tmp         ----/home/hadoop目录下
rm -rf logs/      ----/home/hadoop/hadoop-3.3.4目录下
mkdir logs        ----/home/hadoop/hadoop-3.3.4目录下

第一次启动,建议分别启动dfs和yarn,不要直接启动两个服务器,第一次启动直接用sbin/start-all.sh几乎百分之百会报错。采用sbin/start-dfs.sh、sbin/start-yarn.sh分别启动。没有报错的话,输入jps检查守护线程

或者输入hadoop fs命令

那么hadoop3.3.4就配置成功了!

文章来源:https://blog.csdn.net/weixin_61023150/article/details/134927826
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。