Hadoop完全分布式配置

一.准备三台虚拟机(静态IP配置,修改主机名称,免密登录)

1. 静态IP配置

1) 修改配置文件vi  /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=76324532-0034-4043-9c01-0ba641369c44
DEVICE=ens33
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.10.111
GATEWAY=192.168.10.2
DNS1=192.168.10.2

将配置文件中的BOOTPRPOTO=dhcp修改为static,ONBOOT=yes

添加NETMASK(子网掩码),IPADDR(IP地址),GATEWAY(网关),DNS(DNS服务器,与网关地址相同即可)

2)重启网络服务

使用命令:service network restart重启网络服务

如果失败,需要查看一下本机上的虚拟网络服务是否启动.

右键我的电脑,点击管理,在点击服务和应用程序,找到VMware 相关的应用程序,查看状态,如果没有启动,右键启动即可.

3) 修改主机名称,在hosts配置文件中添加虚拟机名称和地址.

使用命令hostnamectl set-hostname xxx(新的名称)进行修改

在hosts文件中配置  vi /etc/hosts

添加

192.168.10.111 hadoop11
192.168.10.112 hadoop12
192.168.10.113 hadoop13

4)免密登录设置

永久关闭防火墙
systemctl disable firewalld

使用命令

ssh localhost
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

一路yes即可.

每个虚拟机都要进行这一步

将ssh复制到其他虚拟机

ssh-copy-id hadoop11
ssh-copy-id hadoop12
ssh-copy-id hadoop13

尝试登录其他虚拟机

ssh hadoop12 登录成功不需要密码即可.

 

二. xsync分发脚本和安装hadoop和JDK

1.xsync分发脚本

1) 安装rsycn

yum install -y rsync   每个虚拟机都需要进行安装

2) 在~目录下创建bin目录,并创建xsync文件并写入shell脚本

vi xsync

写入

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=11; host<14; host++)); do
        echo ------------------- cdh$host --------------
        rsync -rvl $pdir/$fname $user@cdh$host:$pdir
done

 

3) 赋予xsync权限

赋予xsync权限   chmod 777 xsync

4) 分发文件

xsync ~/bin

2.安装JDK和Hadoop

1) 创建文件夹

opt文件夹下创建softwaremoudle文件加,并将hadoo和jdk压缩包放入software中
           jdk版本需要与hadoop版本对应,jdk最好使用1.8版本

jdk版本和Hadoop版本兼容即可

2) 安装和分发hadoop和jdk

在software目录下,使用命令

tar -zxvf hadoop-3.2.2.tar.gz -C /opt/moudle/
tar -zxvf jdk-8u291-linux-x64.tar.gz -C /opt/moudle/

将压缩包解压到moudle下

使用命令

xsync /opt

将opt目录分发给其他虚拟机

3) 修改名称

改名

mv hadoop-3.2.2/ hadoop
mv jdk1.8.0_291/ jdk1.8

三. 配置相关文件

1.系统环境变量配置

HADOOP_HOME和JAVA_HOME

vi /ete/profile

在文件最后添加
##JAVA_HOME
export JAVA_HOME=/opt/moudle/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH


##HADOOP_HOME
export HADOOP_HOME=/opt/moudle/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

分发该文件

xsync /etc/profile

使用source /etc/profile时环境立即生效

java -version 查看是否配置成功

2.HDFS文件配置

1) hadoop-env.sh

vi etc/hadoop/hadoop-env.sh 

找到export JAVA_HOME=

将jdk的绝对路径复制进去.保存退出

2).core-site.xml

vi etc/hadoop/core-site.xml

配置namenode服务器地址

<property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop11:9000</value>
    </property>

配置HDFS文件保存路径
<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/moudle/hadoop/data/tmp</value>
    </property>
<property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
    </property>

3). hdfs-site.xml

设置hdfs的副本数,根据完全分布式服务器的数目进行配置
<property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>

设置2NN的服务器
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop13:50090</value>
    </property>

3. YARN相关配置

1)yarn-site.xml


<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

设置sesourcemanager的服务器,伪分布式时将value值设置为本地服务器,完全分布式根据需要设置服务器
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop12</value>
    </property>


<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>172.17.174.67:8088</value>
</property>

4.sbin目录下的相关配置

为了避免出现不必要的警告

sbin/start-yarn.sh  sbin/stop-yarn.sh
开头添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs 
HDFS_NAMENODE_USER=root 
HDFS_SECONDARYNAMENODE_USER=root

将以上所有配置文件分发给其他两台虚拟机

 

四.格式化namenode并启动集群

1.格式化namenode

hdfs namenode -format

格式化之前不需要做任何步骤,直接格式化即可,避免创建文件夹造成不必要的麻烦

格式化成功后,在hadoop目录下会出现logs文件夹和data文件夹

前者是保存日志文件,后者是保存hdfs存储的文件的

2.启动集群

使用一下命令的时候,建议先使用start-dfs.shstart-yarn.sh分别启动,更好的查看集群启动的情况.

start-all.sh

jps 查看集群启动状态

群起集群后,使用jps查看集群状态.

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值