从零开始搭建hadoop集群(三)Hadoop安装与集群配置,免密,群发脚本

 1.免密登录配置。

(1)在Hadoop01上面执行公私钥生产,连按三个回车确认。

[qurui@hadoop102 ~]# ssh-keygen -t rsa

 

(2)将公钥拷贝到三台机器上面,输入以下代码,然后选择yes,输入密码即可。

[qurui@hadoop102 ~]# ssh-copy-id hadoop01

[qurui@hadoop102 ~]# ssh-copy-id hadoop02

[qurui@hadoop102 ~]# ssh-copy-id hadoop03

 (3)在Hadoop02和Hadoop03两台机器重复以上步骤。

2.群发脚本撰写(可选)。

(1)cd到bin目录下面。

[qurui@hadoop102 ~]$ cd /bin #进入目录

 (2)建立自己想要的脚本名(xsync)。

[qurui@hadoop102 ~]$ sudo vim xsync #打开文件,sudo是提高命令权限

 (3)复制粘贴脚本。

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
  echo Not Enough Arguement!
  exit;
fi
#2. 遍历集群所有机器
for host in hadoop01 hadoop02 hadoop03
do
  echo ====================  $host  ====================
  #3. 遍历所有目录,挨个发送
  for file in $@
  do
    #4 判断文件是否存在
    if [ -e $file ]
    then
      #5. 获取父目录
      pdir=$(cd -P $(dirname $file); pwd)
      #6. 获取当前文件的名称
      fname=$(basename $file)
      ssh $host "mkdir -p $pdir"
      rsync -av $pdir/$fname $host:$pdir
    else
      echo $file does not exists!
    fi
  done
done

 (5)赋予脚本权限。

[qurui@hadoop102 bin]$ sudo chmod 777 xsync #777(-R)代表权限放开给所有人,或者u(属主),g(属组),o(其它)+r(读),w(写),x(执行)。

3.上传jar包,一共2个,最好放到/software文件夹下,解压jar包。

jar包:链接:https://pan.baidu.com/s/14HhHRGxz6OERslx_drqvEw
提取码:1234 

(1)cd到/software文件夹,然后点上方的文件传输,点取消。

 (2)把java和hadoop的jar包文件直接拖进去。

(3)解压两个文件到module文件夹。 

[root@hadoop101 ~]tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
[root@hadoop101 ~]tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

 

4.更改环境变量,hadoop只需要java和hadoop就行。

(1)转换成root用户。

[qurui@hadoop102 ~]#su root

(2)进入到/etc/profile.d/my_env.sh文件。

[root@hadoop102 ~]#sudo vim /etc/profile.d/my_env.sh  #打开文件夹,写入以下内容

(2)复制写入以下文件。

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_211

export PATH=$PATH:$JAVA_HOME/bin

##HADOOP_HOME

export HADOOP_HOME=/opt/module/hadoop-3.1.3

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

(3)刷新使环境变量生效

[root@hadoop102 ~]# source /etc/profile.d/my_env.sh  #用来刷新使环境变量生效

 (4)查看下是否安装成功。

[root@hadoop102 ~]# java -version

 

5.配置hadoop文件。

(1)进入/opt/module/hadoop-3.1.3/etc/hadoop/文件下。

[qurui@hadoop102 ~]# cd /opt/module/hadoop-3.1.3/etc/hadoop/ #进入该目录

 

(2)修改core-site.xml文件。

[qurui@hadoop102 ~]# vim core-site.xml #修改hadoop配置文件
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:8020</value>
    </property>
    <property>
        <name>hadoop.data.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
    </property>
    <property>
        <name>hadoop.proxyuser.qurui.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.qurui.groups</name>
        <value>*</value>
    </property>
<property>
        <name>hadoop.http.staticuser.user</name>
        <value>qurui</value>
    </property>
<property>
<name>io.compression.codecs</name>
<value>
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec
</value>
</property>

<property>
    <name>io.compression.codec.lzo.class</name>
    <value>com.hadoop.compression.lzo.LzoCodec</value>
</property>

 

 

 (3)修改hdfs-site.xml文件。

[qurui@hadoop102 ~]# vim hdfs-site.xml
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file://${hadoop.data.dir}/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file://${hadoop.data.dir}/data</value>
  </property>
    <property>
    <name>dfs.namenode.checkpoint.dir</name>
    <value>file://${hadoop.data.dir}/namesecondary</value>
  </property>
    <property>
    <name>dfs.client.datanode-restart.timeout</name>
    <value>30</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop03:9868</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>

 

(4)修改 yarn-site.xml文件。

[qurui@hadoop102 ~]# vim yarn-site.xml
<property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

    <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>hadoop02</value>

    </property>

    <property>

        <name>yarn.nodemanager.env-whitelist</name>

        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>

    </property>

 

(5)修改 mapred-site.xml文件。

[qurui@hadoop102 ~]# vim mapred-site.xml
 <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

  </property>

​​​​

 

6.配置worker,写入机器名字。

[root@hadoop101 ~]# vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
hadoop01
hadoop02
hadoop03
#写入集群的机器名

7.分发/opt/module/hadoop-3.1.3/etc/hadoop/文件和环境变量,如下进行分发:

[qurui@hadoop102 ~]# xsync /opt/module/ #hadoop文件
[qurui@hadoop102 ~]# sudo xsync /etc/profile.d/my_env.sh #环境变量文件

 

15.启动集群。

(1)第一次启动需要在Hadoop01节点启动格式化。

[qurui@hadoop102 ~]# hdfs namenode -format

(2)在Hadoop01节点启动HDFS。

[qurui@hadoop102 ~]# start-dfs.sh

(3)在Hadoop02节点启动yarn。 

[qurui@hadoop102 ~]# start-yarn.sh

 (4)通过jps指令检查一下三台机器的状态。

 

 

(5)通过192.168.1.101:9870登录hadoop的hdfs网页界面。

(5)通过192.168.1.102:8088 登录Hadoop的yarn界面。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值