当前位置:   article > 正文

Hadoop完全分布式集群搭建过程(HA高可用)_头歌hadoop 高可用 (ha)(新)第1关:安装 jdk 和 zookeeper完全分布式

头歌hadoop 高可用 (ha)(新)第1关:安装 jdk 和 zookeeper完全分布式

使用Centos7来进行完全分布式的集群搭建,一般我们用伪分布式的集群就可以了,不需要配置完全分布式的集群
和我们搭建伪分布式集群一样,我们首先要现在好安装包,以及我们需要配置配置JDK,SSH免秘钥登陆,以及Zookeeper分布式的搭建等,下面就开始我们的搭建过程

一、配置Linux虚拟机

1.配置主机名以及主机映射

我们配置集群环境的时候,设置固定的主机名和主机映射能够方便的让我我们使用

修改主机名

修改主机名的时候,Centos6和Centos7完全不一样。下面是Centos7为例来修改我们的主机名

vim /etc/hostname
  • 1

删除原来的主机名,修改为我们自己的要配置的,在这里我修改的主机名为zj01,zj02,zj03,一般我们都是设置的master,slave1,slave2。按照个人喜好修改主机名

注意:修改主机名后我们需要重启虚拟机才会生效,使用reboot命令重启虚拟机

reboot
  • 1

补充:Centos6修改主机名

vim /etc/sysconfig/network
  • 1

将里面原来信息修改为如下信息:

NETWORKING=yes
HOSTNAME=zj01
  • 1
  • 2

修改完成后重启虚拟机

配置主机映射

修改配置文件hosts

vim /etc/hosts
  • 1

根据自己的ip信息,添加如下信息:

#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.130   zj01
192.168.8.131   zj02
192.168.8.132   zj03
  • 1
  • 2
  • 3
  • 4
  • 5

再修改我们的主机映射的时候,我们可以通过ifconfig来查看我们自己的ip信息,进行配置

ifconfig
  • 1

在这里插入图片描述
主机映射配置完毕

2.关闭防火墙

Centos7系统默认防火墙不是iptables,而是firewall,那就得使用以下方式关闭防火墙了。

systemctl stop firewalld.service            #停止firewall
systemctl disable firewalld.service        #禁止firewall开机启动
  • 1
  • 2

此时Centos7的防火墙就关闭了。

补充:Centos6关闭防火墙

service iptables status				#查看防火墙状态
service iptables stop				#关闭防火墙,但是重启后会恢复原来状态
chkconfig iptables --list			#查看系统中防火墙的自动
chkconfig iptables off				#关闭防火墙自启动
chkconfig iptables --list			#再次查看防火墙自启动的情况,所有启动状态都变成额off
  • 1
  • 2
  • 3
  • 4
  • 5

常时间没有用过Centos6了,应该是–list,如果不是直接关闭就行了,不用纠结这个命令

二、SSH免秘钥的配置

执行以下命令来生成相应得秘钥

ssh-keygen -t rsa
  • 1

一路回车,生成私有秘钥

cd /root/.ssh
ls
  • 1
  • 2

在这里插入图片描述
一般在第一次执行的时候,只有id_rsa、id_rsa.pub这两个文件,但是id_rsa.pub文件存的是私有秘钥,要想让其他节点来连接本台机器我们需要生成公钥,执行ssh-copy-id可以将秘钥转成公钥,在三台节点上执行以下命令:

ssh-copy-id zj01
ssh-copy-id zj02
ssh-copy-id zj03
  • 1
  • 2
  • 3

执行过次语句后,每台节点上都会生成以下两个文件authorized_keys,known_hosts,查看两个文件的内容,执行此语句的时候需要我们先输入yes统一连接,再输入要连接节点的密码就可以了。

cat authorized_keys
  • 1

在这里插入图片描述
此文件里面存储的是三台节点的秘钥。
查看known_hosts文件

cat known_hosts
  • 1

在这里插入图片描述
此文件主要记录的是我们使用ssh连接过的主机名。
相对而言authorized_keys文件是最重要的,有了这个文件我们再使用ssh连接的时候直接就连接了,不用我们再输入密码。
在这里插入图片描述
自此SSH免秘钥设置完毕。我们可以继续下面组件的安装配置。

三、JDK的安装部署

创建一个目录,用来存放所有的安装目录。在这里我创建的是目录是/apps/,我们可以将所有的安装包上传到这个文件中,解压后再将安装包删除。

注意:jdk三台都需要配置

1.卸载系统自带的jdk

rpm -qa | grep java
  • 1

使用rpm进行卸载

rpm -e java-xxx
rpm -e --nodeps java-xxx   #强制卸载
  • 1
  • 2

2.下载jdk安装包并上传到虚拟机中

在官网上进行下载jdk的安装包
官网路径:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
在这里插入图片描述
我这里面使用的XShell连接的虚拟机,在XShell连接的时候,执行以下语句就可以实验windows和虚拟机之间的文件传输

yum install lrzsz -y
  • 1

执行完成后就可以将文拖到虚拟机终端里面进行文件的上传。
注意:这只是其中的一种解决方案,我们还可以下载winscp来实现文件的上传下载。

3.安装jdk

解压并重新命令

tar -zxvf jdk-8u162-linux-x64.tar.gz ./
mv jdk-1.8.0_162 jdk
rm -rf  jdk-8u162-linux-x64.tar.gz
  • 1
  • 2
  • 3

修改环境变量(三个节点都配置)

vim /etc/profile
  • 1

配置如下:

#JDK 1.8
export JAVA_HOME=/apps/jdk
export PATH=$PATH:$JAVA_HOME/bin
  • 1
  • 2
  • 3

刷新环境变量

source /etc/profile
  • 1

验证jdk是否安装成功

java -version
  • 1

输出如下:
在这里插入图片描述
我们可以通过以下命令将jdk文件上传到其余的节点中

scp -r /apps/jdk zj02:/apps/
scp -r /apps/jdk zj03:/apps/
  • 1
  • 2

这样我们就可以在02,03节点上/apps/目录下查看我们上传的jdk文件,需要我们配置环境变量就可以了。

四、Zookeeper的安装部署

要配置完全分布式的Hadoop集群,Zookeeper的主要作用就是协调集群的运行,在Hadoop生态圈中zookeeper的作用是至关重要的。

下载zookeeper的安装包

首先我们要先下载zookeeper的安装包,在管网上下载安装包就可以了
管网路径:https://archive.apache.org/dist/zookeeper/
这里面有好多版本,我们可以选择自己版本进行下载。
在这里插入图片描述
将下载后的安装包,上传到zj01的/apps目录下。

安装zookeeper

解压zookeeper的安装包并重名为zookeeper

tar -zxvf zookeeper-3.4.12.tar.gz 
mv zookeeper-3.4.12 zookeeper
rm -rf zookeeper-3.4.12.tar.gz
  • 1
  • 2
  • 3

修改环境变量(三个节点都配置)

vim /etc/profile
  • 1

在文件末尾添加一下信息

#zookeeper
export ZOOKEEPER_HOME=/apps/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
  • 1
  • 2
  • 3

配置到文件后我们要刷新一下环境变量,让我们的配置信息生效

source /etc/profile
  • 1

配置zookeeper

进入zookeeper的conf目录下,将zoo_example.cfg复制出来一个为zoo.cfg

cp zoo_example.cfg zoo.cfg
  • 1

修改zoo.cfg文件

vim zoo.cfg
  • 1

配置信息如下
在这里插入图片描述

server.0=zj01:2888:3888
server.1=zj02:2888:3888
server.2=zj03:2888:3888
  • 1
  • 2
  • 3

其中0、1、2分别代表的是zj01、zj02、zj03的标识符。
创建标识符
进入dataDir设置的目录/apps/zookeeper/tmp,在此目录下创建一个myid文件,用来存放我们设置的标识符

cd /apps/zookeeper/tmp
echo 1 > myid
  • 1
  • 2

查看标识符
在这里插入图片描述
分发文件到其余的两个节点

scp -r /apps/zookeeper slave2:/apps/zookeeper
scp -r /apps/zookeeper slave3:/apps/zookeeper
  • 1
  • 2

记得修改zj02,zj03的标识符为1和2
在这里插入图片描述在这里插入图片描述
启动zookeeper

zkServer.sh stat
  • 1

查看每台zookeeper的状态,会出现一个leader,两个flower。此时zookeeper的集群搭建完毕

五、Hadoop的安装部署

下载安装包

我们可以在官网上进行下载安装包
官网:https://archive.apache.org/dist/hadoop/common/
进入官网选择自己想要下载的安装包进行下载,切记下载64位的tar.gz安装包
将下载好的安装包上传到zj01的/apps/目录下。

安装hadoop

解压并重命名为hadoop

tar -zxvf hadoop-2.7.5.tar.gz 
mv hadoop-2.7.5 hadoop
rm -rf hadoop-2.7.5.tar.gz 
  • 1
  • 2
  • 3

修改环境变量(三个节点都配置)

vim /etc/profile
  • 1

在文件末尾添加一下信息

#hadoop
export HADOOP_HOME=/apps/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
  • 1
  • 2
  • 3
  • 4

配置到文件后我们要刷新一下环境变量,让我们的配置信息生效

source /etc/profile
  • 1

修改配置文件

进入hadoop配置文件所在目录

cd /apps/hadoop/etc/hadoop
  • 1

我们在此目录下需要修改5个配置文件

修改hadoop-env.sh

需要我们指定jdk的版本信息

export JAVA_HOME=/apps/jdk
  • 1

修改core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!--指定文件系统的主节点-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://bigdata</value>
    </property>
	<!--hadoop的日志路径-->
	<property>
        <name>hadoop.tmp.dir</name>
        <value>/apps/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
	
	<!--指定可以在任何 IP 访问-->
	<property>
		<name>hadoop.proxyuser.hduser.hosts</name>
		<value>*</value>
	</property>
	
	<!--指定所有用户可以访问-->
	<property>
		<name>hadoop.proxyuser.hduser.groups</name>
		<value>*</value>
	</property>
	
	<!--这里是 ZooKeeper 集群的地址和端口。注意,数量一定是奇数,且不少于三个节点-->
	<property>
	<name>ha.zookeeper.quorum</name>
	<value>zj01:2181,zj02:2181,zj03:2181</value>
	</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

修改hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>	
	<!--指定 hdfs 的集群名为 bigdata -->
	<property>
		<name>dfs.nameservices</name>
		<value>bigdata</value>
	</property>
	
	<!-- ns1 下面有两个 NameNode,分别是 nn1,nn2 -->
	<property>
		<name>dfs.ha.namenodes.bigdata</name>
		<value>nn1, nn2</value>
	</property>
	
	<!-- nn1 的 RPC 通信地址 -->
	<property>
		<name>dfs.namenode.rpc-address.bigdata.nn1</name>
		<value>zj01:9000</value>
	</property>
	
	<!-- nn2 的 RPC 通信地址 -->
	<property>
		<name>dfs.namenode.rpc-address.bigdata.nn2</name>
		<value>zj02:9000</value>
	</property>
	
	<!-- nn1 的 http 通信地址 -->
	<property>
		<name>dfs.namenode.http-address.bigdata.nn1</name>
		<value>zj01:50070</value>
	</property>
	
	<!-- nn2 的 http 通信地址 -->
	<property>
	<name>dfs.namenode.http-address.bigdata.nn2</name>
	<value>zj02:50070</value>
	</property>
	
	<!--指定 JournalNode 集群在对 NameNode 的目录进行共享时,自己存储数据的磁盘路径-->
	<property>
		<name>dfs.journalnode.edits.dir</name>
		<value>/home/hadoop/hadoop/journaldata</value>
	</property>
	
	<!-- 指定 cluster1 的两个 NameNode 共享 edits 文件目录时,使用的JournalNode 集群信息-->
	<property>
		<name>dfs.namenode.shared.edits.dir</name>
		<value>qjournal://zj01:8485;zj02:8485;zj03:8485/bigdata</value>
	</property>
	
	<!-- qj 方式共享 edits。使用此方式-->
	<property>
		<name>dfs.namenode.edits.journal-plugin.qjournal </name>
		<value>org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager</value>
	</property>
	
	<!--开启 NameNode 失败自动切换-->
	<property>
		<name>dfs.ha.automatic-failover.enabled</name>
		<value>true</value>
	</property>
	
	<!--设置为 true,允许 NN 尝试恢复之前失败的 dfs.namenode.name.dir 目录。在创建 checkpoint 是做此尝试。如果设置多个磁盘,建议允许-->
	<property>
		<name>dfs.namenode.name.dir.restore</name>
		<value>true</value>
	</property>
	
	<!--指定出故障时,哪个实现类负责执行故障切换-->
	<property>
		<name>dfs.client.failover.proxy.provider.bigdata</name>
		<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
	</property>
	
	<!--一旦需要 NameNode 切换,使用 ssh 方式进行操作-->
	<property>
		<name>dfs.ha.fencing.methods</name>
		<value>
				sshfence
				shell(/bin/true)
		</value>
    </property>

	
	<!--如果使用 ssh 进行故障切换,使用 ssh 通信时用的密钥存储的位置-->
	<property>
		<name>dfs.ha.fencing.ssh.private-key-files</name>
		<value>/root/.ssh/id_rsa</value>
	</property>
	
	<!--指定 namenode 名称空间的存储地址, 可以是按逗号分隔的目录列表-->
	<property>
	<name>dfs.namenode.name.dir</name>
	<value>file:///apps/hadoop/dfsdata/name</value>
	</property>
	
	<property>
		<name>dfs.blocksize</name>
		<value>67108864</value>
	</property>
	
	<!--指定 datanode 数据存储地址, 可以是按逗号分隔的目录列表-->
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:///apps/hadoop/dfsdata/data</value>
	</property>
	
	<!--指定数据冗余份数,不超过机器数即可-->
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	
	<!--指定可以通过 web 访问 hdfs 目录-->
	<property>
		<name>dfs.webhdfs.enabled</name>
		<value>true</value>
	</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121

修改mapred-site.xml

复制mapred-site.xml.template为mapred-site.xml

cp mapred-site.xml.template mapred-site.xml
  • 1

具体配置信息如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!--指定运行 mapreduce 的环境是 yarn -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

修改yarn-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!--rm 失联后重新链接的时间-->
	<property>
		<name>yarn.resourcemanager.connect.retry-interval.ms</name>
		<value>2000</value>
	</property>
	
	<!--开启 resource manager HA,默认为 false-->
	<property>
		<name>yarn.resourcemanager.ha.enabled</name>
		<value>true</value>
	</property>
	
	<!--配置 resource manager 命名-->
	<property>
		<name>yarn.resourcemanager.ha.rm-ids</name>
		<value>rm1,rm2</value>
	</property>
	<property>
		<name>yarn.resourcemanager.hostname.rm1</name>
		<value>zj01</value>
	</property>

	<property>
		<name>yarn.resourcemanager.hostname.rm2</name>
		<value>zj02</value>
	</property>
	
	<!--开启 resourcemanager 故障自动切换,指定机器-->
	<property>
		<name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
		<value>true</value>
	</property>

	<!--在 zj01 上配置 rm1,在 zj02 上配置 rm2,注意:一般都喜欢把配置好的文件远程复制到其它机器上,但这个在 YARN 的另一个机器上一定要修改,其他机器上不配置此项-->
	<property>
		<name>yarn.resourcemanager.ha.id</name>
		<value>rm1</value>
	</property>
	
	<!--开启 resourcemanager 自动恢复功能-->
	<property>
		<name>yarn.resourcemanager.recovery.enabled</name>
		<value>true</value>
	</property>
	
	<!--用于持久存储的类。尝试开启-->
	<property>
		<name>yarn.resourcemanager.store.class</name>
		<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
	</property>
	<!--连接zookeeper地址-->
	<property>
		<name>yarn.resourcemanager.zk-address</name>
		<value>zj01:2181,zj02:2181,zj03:2181</value>
	</property>
	
	<!--失联等待连接时间-->
	<property>
		<name>yarn.app.mapreduce.am.scheduler.connection.wait.interval-ms</name>
		<value>5000</value>
	</property>
	
	<!-- 集群的 Id,使用该值确保 RM 不会做为其它集群的 active -->
	<property>
		<name>yarn.resourcemanager.cluster-id</name>
		<value>bigdata</value>
	</property>
	
	<!--配置 rm1-->
	<property>
		<name>yarn.resourcemanager.address.rm1</name>
		<value>zj01:8132</value>
	</property>
	
	<property>
		<name>yarn.resourcemanager.scheduler.address.rm1</name>
		<value>zj01:8130</value>
	</property>
	
	<!-- RM 的网页接口地址:端口-->
	<property>
		<name>yarn.resourcemanager.webapp.address.rm1</name>
		<value>zj01:8088</value>
	</property>
	
	<property>
		<name>yarn.resourcemanager.resource-tracker.address.rm1</name>
		<value>zj01:8131</value>
	</property>
	
	<!-- RM 管理接口地址:端口-->
	<property>
		<name>yarn.resourcemanager.admin.address.rm1</name>
		<value>zj01:8033</value>
	</property>
	
	<property>
		<name>yarn.resourcemanager.ha.admin.address.rm1</name>
		<value>zj01:23142</value>
	</property>
	
	<!--配置 rm2-->
	<property>
		<name>yarn.resourcemanager.address.rm2</name>
		<value>zj02:8132</value>
	</property>
	
	<property>
		<name>yarn.resourcemanager.scheduler.address.rm2</name>
		<value>zj02:8130</value>
	</property>
	
	<!-- RM 的网页接口地址:端口-->
	<property>
		<name>yarn.resourcemanager.webapp.address.rm2</name>
		<value>zj02:8088</value>
	</property>
	
	<property>
		<name>yarn.resourcemanager.resource-tracker.address.rm2</name>
		<value>zj02:8131</value>
	</property>
	
	<!-- RM 管理接口地址:端口-->
	<property>
		<name>yarn.resourcemanager.admin.address.rm2</name>
		<value>zj02:8033</value>
	</property>
	
	<property>
		<name>yarn.resourcemanager.ha.admin.address.rm2</name>
		<value>zj02:23142</value>
	</property>
	
	<!--请配置为:mapreduce_shuffle,在 Yarn 上开启 MR 的必须项-->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
	
	<property>
		<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
		<value>org.apache.hadoop.mapred.ShuffleHandler</value>
	</property>
	
	<!-- nodemanager 本地文件存储目录-->
	<property>
		<name>yarn.nodemanager.local-dirs</name>
		<value>/apps/hadoop/dfsdata/yarn/local</value>
	</property>
	<!--存储 container 日志的地方-->
	<property>
		<name>yarn.nodemanager.log-dirs</name>
		<value>/apps/hadoop/dfsdata/logs</value>
	</property>
	
	<property>
		<name>yarn.nodemanager.resource.memory-mb</name>
		<value>1024</value>
		<discription>每个节点可用内存,单位 MB</discription>
	</property>
	
	<property>
		<name>yarn.scheduler.minimum-allocation-mb</name>
		<value>258</value>
		<discription>单个任务可申请最少内存,默认 1024MB</discription>
	</property>
	
	<property>
		<name>yarn.scheduler.maximum-allocation-mb</name>
		<value>512</value>
		<discription>单个任务可申请最大内存,默认 8192MB</discription>
	</property>
	
	<property>
		<name>yarn.nodemanager.webapp.address</name>
		<value>0.0.0.0:8042</value>
	</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183

修改slaves文件

zj01
zj02
zj03
  • 1
  • 2
  • 3

分发hadoop文件到其他节点

scp -r /apps/hadoop slave2:/apps/
scp -r /apps/hadoop slave3:/apps/
  • 1
  • 2

初始化hadoop

在执行格式化的时候开启一个进程:

hadoop-daemon.sh start journalnode
  • 1

格式化之后将name文件拷贝到zj02中,按理说应该是自动生成的,我的没有自动生成,是自己拷贝进去的

hadoop namennode -format
  • 1

启动hadoop集群

#先启动zookeeper,再启动hadoop集群
start-all.sh
  • 1
  • 2

启动情况如下:
在这里插入图片描述
查看虚拟机的各个进程:
在这里插入图片描述
访问zj01:50070端口和zj02:50070端口
http://zj01:50070
http://zj02:50070
在这里插入图片描述
在这里插入图片描述
访问zj01:8088端口
http://zj01:8088
在这里插入图片描述
hadoop集安装成功,如果安装有什么问题,可以随时提哟,希望能帮助您。
如果你在安装碰见了什么样问题,或者我的文档写的有不合理之处,欢迎指出谢谢。

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

闽ICP备14008679号