Linux安装Hadoop集群(CentOS 7.4+hadoop-2.8.0)

引言

公司服务器安装Hadoop集群(CentOS 7.4+hadoop-2.8.0)

配置3台linux机器实现ssh免密登陆

机器环境

iphostname系统类型
10.3.36.246prs3000CentOS 7.4master
10.3.36.245cloud-node1CentOS 7.4slave
10.3.80.6gitCentOS 7.4slave

修改/etc/hosts文件

vi /etc/hosts

修改3台机器hosts文件,如下:
在这里插入图片描述

设置好hosts后,在1台机器上执行以下命令看能否ping通另外2台机器,以prs3000机器为例

 ping  -c 3  cloud-node1
 ping  -c 3  git

如下所示,连接正常
在这里插入图片描述

给3个机器生成秘钥文件

以prs3000机器为例,输入命令如下:

ssh-keygen -t rsa -P ''

原来如果有秘钥,覆盖掉
在这里插入图片描述

查看生成的秘钥

ll /root/.ssh/

显示如下:
在这里插入图片描述

使用同样的方法为cloud-node1和git生成秘钥(命令完全相同,不用做如何修改)。

在master节点上创建authorized_keys文件

使用ssh-copy-id命令把公钥拷贝到master节点
在cloud-node1机器上执行:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.3.36.246

在git机器上执行

ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.3.36.246

在prs3000机器上执行

ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.3.36.246

这时可以看到prs3000机器上/root/.ssh目录下生成了authorized_keys文件,赋予权限

chmod 600 authorized_keys

执行more命令查看
在这里插入图片描述

将authorized_keys文件复制到其他机器

把prs3000机器上authorized_keys文件拷贝到另外两台机器,scp命令拷贝
命令:

 scp authorized_keys root@10.3.36.245:/root/.ssh/
 scp authorized_keys root@10.3.80.6:/root/.ssh/

在这里插入图片描述

测试使用ssh进行无密码登录

试验免密ssh登陆,第一次登陆要输入密码,cloud-node1配置一样
在这里插入图片描述

每次ssh完成后,都要执行exit,否则你的后续命令是在另外一台机器上执行的。同理在cloud-node1和git上试验登陆

安装jdk和hadoop

下载hadoop

下载地址:
http://archive.apache.org/dist/hadoop/common/hadoop-2.8.0/

选择hadoop-2.8.0.tar.gz在这里插入图片描述

hadoop安装

安装文件拷贝和解压

把hadoop-2.8.0.tar.gz分别拷贝到prs3000,cloud-node1,git机器的/opt/hadoop目录(hadoop目录需要创建)并解压。在这里插入图片描述
执行解压缩命令,以下操作3台机器一样

cd /opt/hadoop
tar -xzvf hadoop-2.8.0.tar.gz 
创建文件夹

在/root目录下新建几个目录,复制粘贴执行下面的命令:

mkdir  /root/hadoop
mkdir  /root/hadoop/tmp
mkdir  /root/hadoop/var
mkdir  /root/hadoop/dfs
mkdir  /root/hadoop/dfs/name
mkdir  /root/hadoop/dfs/data
修改etc/hadoop中的一系列配置文件

需要修改的文件路径在/opt/hadoop/hadoop-2.8.0/etc/hadoop/
修改文件列表如下:
在这里插入图片描述

修改后文件拷贝进3台机器/opt/hadoop/hadoop-2.8.0/etc/hadoop/,注意3台机器java安装路径,在hadoop-env.sh中需要注意

core-site.xml

<configuration>标签内添加如下内容,namenode节点地址和端口

<configuration>
<property>
	<name>hadoop.tmp.dir</name>
	<value>/root/hadoop/tmp</value>
	<description>Abase for other temporary directories.</description>
</property>
<property>
	<name>fs.default.name</name>
	<value>hdfs://10.3.36.246:9000</value>
</property>
</configuration>
hadoop-env.sh

配置java地址,注意每台机器不一样
在这里插入图片描述

hdfs-site.xml

<configuration>标签内添加如下内容

<configuration>
<property>
	<name>dfs.name.dir</name>
	<value>/root/hadoop/dfs/name</value>
	<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
	<name>dfs.data.dir</name>
	<value>/root/hadoop/dfs/data</value>
	<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
	<name>dfs.replication</name>
	<value>2</value>
</property>
<property>
	<name>dfs.permissions</name>
	<value>false</value>
	<description>need not permissions</description>
</property>
</configuration>
mapred-site.xml

<configuration>标签内添加如下内容

<configuration>
<property>
	<name>mapred.job.tracker</name>
	<value>10.3.36.246:9001</value>
</property>
<property>
	<name>mapred.local.dir</name>
	<value>/root/hadoop/var</value>
</property>
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>
</configuration>
slaves

配置数据节点地址
在这里插入图片描述

yarn-site.xml

最重要的一个文件,我把地址直接配置进yarn

<configuration>
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>prs3000</value>
</property>
<property>
	<description>The address of the applications manager interface in the RM.</description>
	<name>yarn.resourcemanager.address</name>
	<value>10.3.36.246:8032</value>
</property>
<property>
	<description>The address of the scheduler interface.</description>
	<name>yarn.resourcemanager.scheduler.address</name>
	<value>10.3.36.246:8030</value>
</property>
<property>
	<description>The http address of the RM web application.</description>
	<name>yarn.resourcemanager.webapp.address</name>
	<value>10.3.36.246:8088</value>
</property>
<property>
	<description>The https adddress of the RM web application.</description>
	<name>yarn.resourcemanager.webapp.https.address</name>
	<value>10.3.36.246:8090</value>
</property>
<property>
	<name>yarn.resourcemanager.resource-tracker.address</name>
	<value>10.3.36.246:8031</value>
	</property>
<property>
<description>The address of the RM admin interface.</description>
	<name>yarn.resourcemanager.admin.address</name>
	<value>10.3.36.246:8033</value>
</property>
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<property>
	<name>yarn.scheduler.maximum-allocation-mb</name>
	<value>4096</value>
	<discription>每个节点可用内存,单位MB,默认8182MB</discription>
</property>
<property>
	<name>yarn.nodemanager.vmem-pmem-ratio</name>
	<value>2.1</value>
</property>
<property>
	<name>yarn.nodemanager.resource.memory-mb</name>
	<value>4096</value>
</property>
<property>
	<name>yarn.nodemanager.vmem-check-enabled</name>
	<value>false</value>
</property>
</configuration>

启动hadoop

在namenode上执行格式化

在prs3000进入/opt/hadoop/hadoop-2.8.0/bin,执行格式化脚本

./hadoop  namenode  -format

初始化成功
在这里插入图片描述

格式化成功后,可以在看到在/root/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件

在namenode上执行启动命令
cd    /opt/hadoop/hadoop-2.8.0/sbin
./start-all.sh

在这里插入图片描述

接着启动yarn

./start-yarn.sh

访问http://10.3.36.246:50070,跳转到了overview页面
在这里插入图片描述

访问http://10.3.36.246:8088,集群页面
在这里插入图片描述

注意3台机器关闭防火墙

systemctl   stop   firewalld.service

感谢

参考了以下资料,对各位表示感谢
https://blog.csdn.net/pucao_cug/article/details/71698903
https://www.cnblogs.com/K-artorias/p/7144904.html
https://www.cnblogs.com/ivan0626/p/4144277.html
https://ask.helplib.com/hadoop/post_5408454

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值