天天看点

centos7 hadoop 集群安装配置

版权声明:本文由董可伦首发于https://dongkelun.com,非商业转载请注明作者及原创出处。商业转载请联系作者本人。 https://blog.csdn.net/dkl12/article/details/80234427

我的原创地址:

https://dongkelun.com/2018/04/05/hadoopClusterConf/

前言:

本文安装配置的hadoop为分布式的集群,单机配置见:

centos7 hadoop 单机模式安装配置

我用的三个centos7, 先将常用环境配置好(

CentOS 初始环境配置

),设置的ip分别为:192.168.44.138、192.168.44.139,192.168.44.140,分别对应别名master、slave1、slave2

1、首先安装配置jdk(我安装的1.8)

2、给每个虚拟机的ip起个别名

在每个虚拟机上执行

vim /etc/hosts            

在最下面添加:

192.168.44.138 master
192.168.44.139 slave1
192.168.44.140 slave2           

在每个虚拟机上ping一下,保证都能ping通

ping master
ping slave1
ping slave2           

3、SSH免密码登录

保证三台机器都可以免密互通,参考:

linux ssh 免密登录

3、下载hadoop(每台机器)

下载地址:

http://mirror.bit.edu.cn/apache/hadoop/common/

,我下载的是hadoop-2.7.5.tar.gz

4、解压到/opt目录下(每台机器、目录根据自己习惯)

tar -zxvf hadoop-2.7.5.tar.gz  -C /opt/           

5、配置hadoop环境变量(每台机器)

vim /etc/profile           
export HADOOP_HOME=/opt/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/bin             
source /etc/profile           

6、配置hadoop(仅master)

配置文件里的文件路径和端口随自己习惯配置

6.1 配置slaves

需要现将slaves1文件中的localhost删掉,本次使用两个slave节点,让master仅作为NameNode使用,也可以让master既作为NameNode也作为 DataNode,在slaves添加master即可

vim /opt/hadoop-2.7.5/etc/hadoop/slaves            
slave1
slave2           

6.2 配置hadoop-env.sh

vim /opt/hadoop-2.7.5/etc/hadoop/hadoop-env.sh           

找到# The java implementation to use.将其下面的一行改为:

export JAVA_HOME=/opt/jdk1.8.0_45           

6.3 配置core-site.xml

vim /opt/hadoop-2.7.5/etc/hadoop/core-site.xml           
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:///opt/hadoop-2.7.5</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:8888</value>
    </property>
</configuration>
           

6.4 配置hdfs-site.xml

vim /opt/hadoop-2.7.5/etc/hadoop/hdfs-site.xml           

dfs.replication 一般设为 3,但这次只使用两个slave,所以 dfs.replication 的值设为 2

<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///opt/hadoop-2.7.5/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///opt/hadoop-2.7.5/tmp/dfs/data</value>
    </property>
</configuration>
           

6.5 配置yarn-site.xml

vim /opt/hadoop-2.7.5/etc/hadoop/yarn-site.xml            
<configuration>

<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>           

6.6 配置mapred-site.xml

cd /opt/hadoop-2.7.5/etc/hadoop/
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml           
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>           

6.7 将上述配置的文件传到其他节点的/opt/hadoop-2.7.5/etc/hadoop/目录中

scp -r slaves hadoop-env.sh core-site.xml  hdfs-site.xml yarn-site.xml hdfs-site.xml root@slave1:/opt/hadoop-2.7.5/etc/hadoop/
scp -r slaves hadoop-env.sh core-site.xml  hdfs-site.xml yarn-site.xml hdfs-site.xml root@slave2:/opt/hadoop-2.7.5/etc/hadoop/           

7、启动与停止(仅master)

7.1 hdfs启动与停止

第一次启动hdfs需要先格式化:

cd /opt/hadoop-2.7.5
./bin/hdfs namenode -format             

启动:

./sbin/start-dfs.sh           

停止:

./sbin/stop-dfs.sh           

验证,浏览器输入:

http://192.168.44.138:50070

简单的验证hadoop命令:

hadoop fs -mkdir /test           

在浏览器查看,出现如下图所示,即为成功

7.2 yarn启动与停止

cd /opt/hadoop-2.7.5
./sbin/start-yarn.sh             
./sbin/stop-yarn.sh            

浏览器查看:

http://192.168.44.138:8088

jps查看进程

master:

slave1:

slave2:

若各节点的进程均如图所示,那么hadoop集群就配置成功!

参考资料

http://www.powerxing.com/install-hadoop-cluster/

继续阅读