Hadoop安装与配置

Hadoop安装与配置

0. 设置Master,Slave节点

参考

一步步教你Hadoop多节点集群安装配置. https://www.cnblogs.com/lanxuezaipiao/p/3525554.html

0.1

将hostname修改为master/slave01/slave02

vi /etc/hostname

分别进行修改;

再将hosts文件也一并做修改(分别修改)

vi /etc/hosts

master节点

127.0.0.1		master

slave节点则将在hosts文件中添加

127.0.0.1		slave0(或者是1)

修改完成后,可以直接在master主机上,ping master,即可ping通

为使得master与所有的slave机器之间不仅可以通过IP进行通信,而且还可以通过主机名进行通信,在所有的机器上的"/etc/hosts"文件中都要添加如下内容:

118.190.200.87	master
118.178.191.14	slave01
39.102.80.185	slave02

在master主机上测试:

ping slave01
ping slave02

slave主机上同理。发现均可ping通

0.2 开启SSH免密登陆

主节点配置:

  1. 首先到用户主目录(cd ~),ls -a查看文件,其中一个为“.ssh”,该文件价是存放密钥的。待会我们生成的密钥都会放到这个文件夹中。
  2. 现在执行命令生成密钥: ssh-keygen -t rsa -P “” (使用rsa加密方式生成密钥)回车后,会提示三次输入信息,我们直接回车即可。
  3. 进入文件夹cd .ssh (进入文件夹后可以执行ls -a 查看文件)
  4. 将生成的公钥id_rsa.pub 内容追加到authorized_keys(执行命令:cat id_rsa.pub >> authorized_keys)

从节点配置:

  1. 以同样的方式生成秘钥(ssh-keygen -t rsa -P “” ),然后s1和s2将生成的id_rsa.pub公钥追加到m1的authorized_keys中)
  2. 在s1中执行命令:scp id_rsa.pub master:/root/.ssh/id_rsa.pub.s1 ,在s2中执行命令:scp id_rsa.pub master:/root/.ssh/id_rsa.pub.s2
  3. 进入m1执行命令**:cat id_rsa.pub.s1 >> authorized_keys ,cat id_rsa.pub.s1 >> authorized_keys**
  4. 最后将生成的包含三个节点的秘钥的authorized_keys 复制到slave01和slave02的.ssh目录下( scp authorized_keys slave01:/root/.ssh/, scp authorized_keys slave02:/root/.ssh/)

1. Java

oracle官网下载对应版本的jdk

oracle账户密码:2696671285@qq.com,Oracle123

上传jdk到服务器

scp jdk-11.0.9_linux-x64_bin.tar.gz root@118.190.200.87:/opt

解压缩

tar zxvf jdk-11.0.9_linux-x64_bin.tar.gz -C /opt/java/

配置环境变量

vi /etc/profile

添加如下代码

export JAVA_HOME=/opt/java/jdk-11.0.9
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

保存退出

source一下

source /etc/profile

输入java -version,校验是否安装成功

2. 安装Hadoop

参考 https://blog.csdn.net/weixin_44198965/article/details/89603788

下载、上传、解压缩

官网下载Hadoop,本次选择Hadoop2.8.5,清华镜像。下载后上传至服务器

tar xcf hadoop-2.8.5.tar  -C /opt/hadoop

修改配置文件(只在master上做)

修改 core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml 等这些配置文件

配置核心组件文件 core-site.xml

核心组件文件core-site.xml。文件位置:/opt/hadoop/hadoop-2.8.5/etc/hadoop

vi /opt/hadoop/hadoop-2.8.5/etc/hadoop/core-site.xml

在和之间加入的代码:

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://master:9000</value>
</property>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/hadoop/tmp</value>
</property>

保存退出

配置文件系统hdfs-site.xml

文件系统配置文件hdfs-site.xml

vi /opt/hadoop/hadoop-2.8.5/etc/hadoop/hdfs-site.xml

在和之间加入的代码:

<property>
		<name>dfs.replication</name>
		<value>1</value>
</property>

保存退出

配置 yarn-site.xml 文件

Yarn的站点配置文件是yarn-site.xml

vi /opt/hadoop/hadoop-2.8.5/etc/hadoop/yarn-site.xml

在和之间加入如下代码:

<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.resourcemanager.address</name>
  <value>master:18040</value>
</property>
<property>
  <name>yarn.resourcemanager.scheduler.address</name>
  <value>master:18030</value>
</property>
<property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>master:18025</value>
</property>
<property>
  <name>yarn.resourcemanager.admin.address</name>
  <value>master:18141</value>
</property>
<property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>master:18088</value>
</property>
配置MapReduce计算框架文件

在/opt/hadoop/hadoop-2.8.5/etc/hadoop下有一个mapred-site.xml.template文件 ,将其复制并改名,但位置不变

复制并改名:

cp /opt/hadoop/hadoop-2.8.5/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop-2.8.5/etc/hadoop/mapred-site.xml

编辑mapred-site.xml文件

vi /opt/hadoop/hadoop-2.8.5/etc/hadoop/mapred-site.xml

在和中添加:

<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>

保存退出

配置master的slaves文件(Only master)

vim /opt/hadoop/hadoop-2.8.5/etc/hadoop/slaves

dd命令删除localhost这一行

然后输入

slave01
slave02

保存退出

复制master上的Hadoop到slave节点

scp -r /opt/hadoop root@slave01:/opt
scp -r /opt/hadoop root@slave02:/opt

Hadoop集群的启动

配置环境变量

三台机器都需配置

vi /etc/profile

追加内容

# Hadoop config
export HADOOP_HOME=/opt/hadoop/hadoop-2.8.5
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

保存退出,并source

source /etc/profile

Master, slave01, slave02上都需要进行配置

创建Hadoop数据目录(Only master)
mkdir /opt/hadoop/data
格式化文件系统(Only master)

只在master上做

hadoop namenode -format
启动/关闭Hadoop集群
cd /opt/hadoop/hadoop-2.8.5/bin/
start-all.sh

在集群环境下,即使各结点都正确地配置了JAVA_HOME,也会报如下错误

Error JAVA_HOME is not set and could not be found

解决方案:

在hadoop-env.sh中,再显示地重新声明一遍JAVA_HOME

检查运行结果:

master:

jps

显示如下结果

1994 Jps
1549 SecondaryNameNode
1341 NameNode
1725 ResourceManager

slave01

jps
1185 DataNode
1389 Jps
1278 NodeManager

slave02

jps
1312 NodeManager
1431 Jps
1213 DataNode

以上结果便代表主节点master与从节点slave01、slave02启动成功

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值