从零开始大数据——部署一个Hadoop环境

目标:用虚拟机模拟部署两个节点的Hadoop环境并做集群。

安装前的准备

下载Linux环境、Hadoop和JDK,我的版本是:CentOS-7-x86_64-DVD-1511.iso、hadoop-2.8.4.tar.gz,JDK使用jdk-7u80-linux-x64.tar.gz,虚拟机使用VMware Workstation Pro 12.0,新建一个虚拟机安装CentOS-7,网络设置为NET方式,安装完毕,修改网络地址,我的是192.168.135,vi /etc/hostname 主机名命名为master。

[root@bogon hadoop] vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=master

[root@bogon hadoop] vi /etc/hosts

我们预计安装三个服务器,分别为master和slave1、slave2,写进Hosts里面。

192.168.13.135    master

192.168.13.136    slave1

192.168.13.137    slave2

关闭防火墙

systemctl disable firewalld ,禁止开机启动

vim /etc/selinux/config,设置SELINUX=disabled。

打开master,解压JDK到opt目录下,如下图:

修改/etc/profile,加入:

export JAVA_HOME="/opt/jdk1.7.0_80"

export PATH=$JAVA_HOME/bin:$PATH

export HADOOP_HOME="/opt/hadoop-2.8.4"

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

然后执行source /etc/profile使之生效。

关机然后克隆两个虚拟机,修改第一个IP为192.168.13.136,名为slave1,修改第二个IP为192.168.13.137,名为slave2

配置 SSH 无密码登录

生成密钥:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa ,

分发密钥:

ssh-copy-id master

ssh-copy-id slave1

ssh-copy-id slave2

同样在两个slave上也生成密钥并复制到其它三台机器 。

开始安装

复制并解压hadoop-2.8.4.tar.gz到/opt目录下。

第一步:添加环境变量

进入/opt/hadoop-2.8.4/etc/hadoop目录,修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的

export JAVA_HOME=/opt/jdk1.7.0_80/

第二步:修改core-site.xml,内容如下:

<configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://master:9000</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/opt/hadoop-2.8.4/data/tmp</value>

    </property>

</configuration>

然后创建/opt/hadoop-2.8.4/data/tmp目录并赋予权限。

第三步:修改hdfs-site.xml

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

</configuration>

第四步:配置slaves

将预计的slaves主机名填进去就行了

master

slave1

slave2

第五步:配置yarn-site.xml

<property>

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

<value>mapreduce_shuffle</value>

</property>

<property>

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

    <value>master</value>

</property>

<property>

    <name>yarn.log-aggregation-enable</name>

    <value>true</value>

</property>

<property>

    <name>yarn.log-aggregation.retain-seconds</name>

    <value>106800</value>

</property>

我们配置Hadoop1服务器resourcemanager服务器并启用日志聚集功能

第六步:配置mapred-site.xml

复制mapred-site.xml.template为mapred-site.xml,然后编辑它。

[root@bogon hadoop]# cp mapred-site.xml.template mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>
master:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>
master:19888</value>
    </property>
</configuration>

mapreduce.framework.name设置mapreduce任务运行在yarn上。

mapreduce.jobhistory.address是设置mapreduce的历史服务器安装在master机器上。

mapreduce.jobhistory.webapp.address是设置历史服务器的web页面地址和端口号。

第七步:分发集群内容

配置完成,进入hadoop的安装目录,远程分发到服务器上 :

cd /opt

scp -r  hadoop-2.8.4/ slave1:$PWD

scp -r  hadoop-2.8.4/ slave2:$PWD

启动和测试集群

第一次启动,需要在master机器上格式化hdfs 文件系统,输入:

hadoop namenode -format

然后启动dfs 服务和yarn 服务

start-dfs.sh

start-yarn.sh

使用jps命令看看服务器是否启动,输入jps回车,如果出现类似下面这样的字样,就成了

6754 ResourceManager
6558 SecondaryNameNode
6379 NameNode
7273 Jps

然后在浏览器中输入http://192.168.13.135:50070,出现下面的页面,看到两个Live Nodes,则配置成功。



Guess you like

Origin blog.csdn.net/qq_42213965/article/details/80704480