hadoop完全分布式搭建

主机设置

三台主机关闭防火墙
#关闭服务
systemctl stop firewalld
#关闭开机自启动
systemctl disable firewalld

给每台主机修改主机名
    分别修改为master、slave1、slave2
hostnamectl set-hostname 主机名

配置三台主机地址映射
vi /etc/hosts

设置免密登录
cd /root/.ssh
  如果提示no such directory ,表示/root/.ssh路径不存在,所以需要先创建文件夹 
mkdir /root/.ssh

生成秘钥对

ssh-keygen -t rsa   #rsa算法
出现冒号停着等待输入时,输入回车,次数一共3次。最终出现RSA的image(密钥的图像)

拷贝三台主机公钥

ssh-copy-id root@主机名

问题:

1、ssh-copy-id: ssh master 需要密码登录,每台电脑都做三次。

当前在master:

ssh-copy-id root@master;ssh-copy-id root@slave1;ssh-copy-id root@slave2。

当前在slave1:

ssh-copy-id root@master;ssh-copy-id root@slave1;ssh-copy-id root@slave2。

当前在slave2:

ssh-copy-id root@master;ssh-copy-id root@slave1;ssh-copy-id root@slave2。

2、ssh-copy-id :

no route to slave2

检查:网络是否是通的。route路由。绝对是slave2的ip地址出现问题。

免密登录**

ssh 主机名

如何检验:

在master:

ssh master 自己要验证

ssh slave1 ssh slave2

安装JDK

1、不会用mobax上传压缩包;

2、上传压缩包后,找不到我上传的文件在哪里

3、解压后在哪里?我自己的路径跟教程的路径不一致怎么办?

/opt/package 存放压缩包

/opt/program 解压目录

在这里插入图片描述

解压安装
    解压安装包到opt目录下
tar -zxvf jdk-8u162-linux-x64.tar.gz -C /opt/program
    执行命令的前提是:必须要在jdk-8u162-linux-x64.tar.gz压缩包的目录下/opt/package

-C解压到指定的路径:/opt/

解压完后,需要在/opt/找解压后的文件。

在这里插入图片描述

修改目录名

mv jdk1.8.0_162 jdk1.8

配置jdk的环境变量
vim /etc/profile
export JAVA_HOME=/opt/module/jdk
export PATH=$PATH:$JAVA_HOME/bin

保存配置

source /etc/profile
测试安装成功
java -version

分发JDK
scp -r /opt/module/jdk/ root@slave1:/opt/module/
scp -r /opt/module/jdk/ root@slave2:/opt/module/
scp -r /etc/profile root@slave1:/etc
scp -r /etc/profile root@slave2:/etc

安装配置 Hadoop

hadoop官方下载:Apache Hadoop

解压安装
    **解压安装包到opt目录下**
tar -zxvf hadoop-3.1.3.tar.gz -C /opt

    **添加hadoop环境变量** 
vim /etc/profile
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    注意:另外两台主机也要进行相应的环境变量设置

vi和vim是两个不同的软件,vi

yum install 用不了。在线下载,没有联网

ping www.baidu.com

vim : yum install vim

集群出现问题。哪台节点少进程就看哪台的log

hadoop/logs/hadoop-root-datanode-master.log

tail -n 200 hadoop-root-datanode-master.log

找关键字ERROR来百度

保存配置环境

source /etc/profile

在Hadoop目录下创建logs目录

mkdir logs

测试安装成功

hadoop version

Hadoop环境配置文件 - hadoop-env.sh
cd $HADOOP_HOME/etc/hadoop
vim hadoop-env.sh
export JAVA_HOME=/opt/module/jdk
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
修改Hadoop配置文件core-site.xml
cd $HADOOP_HOME/etc/hadoop
vim core-site.xml
    写入如下内容
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.3/tmp</value>
</property>


<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>
HDFS 配置文件hdfs-site.xml
vim hdfs-site.xml
<property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/module/hadoop-3.1.3/tmp/name</value>
    <final>true</final>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/module/hadoop-3.1.3/tmp/data</value>
    <final>true</final>
</property>


<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
</property>
YARN 配置文件yarn-site.xml
vim yarn-site.xml

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>

MapReduce 配置文件vim mapred-site.xml
vim mapred-site.xml

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

配置worekers
vim workers

master
slave1
slave2

分发配置好的Hadoop

scp -r $HADOOP_HOME root@slave1:/opt
scp -r $HADOOP_HOME root@slave2:/opt

进行初始化
hdfs namenode -format

    使用启动命令启动hadoop 
start-all.sh

主节点进程:

从节点进程:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值