美文网首页大数据云计算
初学Hadoop:利用VMWare+CentOS7搭建Hadoo

初学Hadoop:利用VMWare+CentOS7搭建Hadoo

作者: 落樱吹雪 | 来源:发表于2018-10-15 16:17 被阅读0次

一、前言

  开始学习数据处理相关的知识了,第一步是搭建一个Hadoop集群。搭建一个分布式集群需要多台电脑,在此我选择采用VMWare+CentOS7搭建一个三台虚拟机组成的Hadoop集群。

  本次搭建环境中操作系统的用户名为hadoop,请自行替换/home/hadoop为本机对应路径!

  本次用到的软件版本为:

  -VMware Workstation 14 Pro 14.1.3 build-9474260

  -CentOS 7.5.1804

  -Java 1.8.0_181

  -Apache Hadoop 2.7.7

二、配置虚拟机

1.配置三台虚拟机

  首先创建新的虚拟机,自定义创建,1核1G,网上教程很多不再赘述。

  安装完CentOS 7后,如果出现无法连接网络的问题,可以参考https://www.cnblogs.com/sunylat/p/7214753.html这个帖子。参照https://www.cnblogs.com/comexchan/p/5815869.html设置yum的源以后,使用yum -y update进行更新。然后关闭虚拟机,选择VMWare的克隆功能克隆两台一样的虚拟机。

2.搭建桌面环境

  为了方便丢jar和脚本进去,给打算用来当主机的一台增加一个桌面操作系统。我这里选用GNOME,具体用哪个自己参考。安装命令为yum groupinstall "GNOME Desktop",注意引号。安装完毕后,使用startx可启动桌面。Ctrl + Alt + F6Ctrl + Alt + F7分别对应切换到命令行窗口和切换到图形化界面。

3.配置免密

  修改主机名,对三台机器做一下区分。三台机器的hostname分别设置为master,servent1和servent2。分别在三个虚拟机中使用cd /home/hadoop+mkdir ~/.ssh+chmod 755 ~/.ssh建立ssh文件夹,在master下ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsacat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys后,scp ~/.ssh/authorized_keys hadoop@servent1/*servent2*/:/home/hadoop/.ssh/,就可以用master免密登录另外两台了。

4.安装jdk

  先用java -version确认一下自己的Java版本,1.8版本可以跳过此步骤,否则去java官网下载tar.gz文件后解压并配置环境变量,具体步骤网上教程很多此处略去。

5.安装Hadoop

  下载目标版本的hadoop的tar文件,这里我安装到/home/hadoop/下,安装完以后出现hadoop-2.7.7文件夹。在一个指定路径(这里我在hadoop安装文件夹下)建立文件夹/tmp、/var、/dfs、/dfs/name、/dfs/data。打开安装目录/etc/hadoop,修改目录下core-site.xml文件在<configuration>节点内加入配置:


<configuration>

<property>

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

<!-- 刚才设置的tmp文件夹路径 -->

<value>/home/hadoop/hadoop-2.7.7/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

<property>

  <name>fs.default.name</name>

  <!-- master对应设置的主机,在三台虚拟机内都要重复配置,此时设置为对应虚拟机名 -->

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

</property>

</configuration>

  接下来修改hadoop-env.sh文件,将export JAVA_HOME=${JAVA_HOME}修改为自己的jdk地址。

  下一个是hdfs-site.xml文件,同样在<configuration>节点内加入配置


<configuration>

<property>

<name>dfs.name.dir</name>

<!-- 刚才设置的name文件夹路径 -->

<value>/home/lxz/hadoop/dfs/name</value>

<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>

</property>

<property>

<name>dfs.data.dir</name>

<!-- 刚才设置的data文件夹路径 -->

<value>/home/lxz/hadoop/dfs/data</value>

<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>

</property>

<property>

<name>dfs.replication</name>

<!-- hdfs副本数 -->

<value>2</value>

</property>

<property>

        <name>dfs.permissions</name>

<value>false</value>

<!-- 开启权限检查 -->

<description>need not permissions</description>

</property>

</configuration>

  下一步,cp mapred-site.xml.template mapred-site.xml后修改这个新建的mapred-site.xml文件,在<configuration>节点内加入配置:


<configuration>

<property>

<name>mapred.job.tracker</name>

<!-- 同理,修改master为对应主机名 -->

<value>hdfs://master:49001</value>

</property>

<property>

      <name>mapred.local.dir</name>

      <!-- var文件夹位置 -->

      <value>/home/lxz/hadoop/var</value>

</property>

<property>

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

       <value>yarn</value>

</property>

</configuration>

  接下来修改slaves文件,将localhost修改为servent1和servent2。

  修改yarn-site.xml文件,在<configuration>节点内加入配置:


<configuration>

<property>

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

<!-- 同理,修改master为对应主机名 -->

<value>master</value>

</property>

<property>

<description>The address of the applications manager interface in the RM.</description>

<name>yarn.resourcemanager.address</name>

<value>${yarn.resourcemanager.hostname}:8032</value>

</property>

<property>

<description>The address of the scheduler interface.</description>

<name>yarn.resourcemanager.scheduler.address</name>

<value>${yarn.resourcemanager.hostname}:8030</value>

</property>

<property>

<description>The http address of the RM web application.</description>

<name>yarn.resourcemanager.webapp.address</name>

<value>${yarn.resourcemanager.hostname}:8088</value>

</property>

<property>

<description>The https adddress of the RM web application.</description>

<name>yarn.resourcemanager.webapp.https.address</name>

<value>${yarn.resourcemanager.hostname}:8090</value>

 </property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>${yarn.resourcemanager.hostname}:8031</value>

</property>

<property>

<description>The address of the RM admin interface.</description>

<name>yarn.resourcemanager.admin.address</name>

<value>${yarn.resourcemanager.hostname}:8033</value>

</property>

<property>

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

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.scheduler.maximum-allocation-mb</name>

<value>1024</value>

<discription>每个节点可用内存,单位MB,默认8182MB</discription>

</property>

<property>

<name>yarn.nodemanager.vmem-pmem-ratio</name>

<value>2.1</value>

</property>

<property>

<name>yarn.nodemanager.resource.memory-mb</name>

<value>1024</value>

</property>

<property>

<name>yarn.nodemanager.vmem-check-enabled</name>

<value>false</value>

</property>

</configuration>

  在另外两台分机上重复上述操作。然后进入主机安装目录的bin文件夹下,执行./hadoop namenode -format命令进行初始化,如果只有INFO级别日志则成功。随后进入安装目录下的sbin目录执行./start-all.sh命令,一路输入密码,等执行完毕后,进入master:50070和master:8088查看是否运行成功。

三、小结

  总的来说配置hadoop分布式集群的过程并不难,主要是细节比较多照抄容易出问题,建议配合安装文件夹下的logs文件夹内容进行随时排查判断。Enjoy yourself!

相关文章

网友评论

    本文标题:初学Hadoop:利用VMWare+CentOS7搭建Hadoo

    本文链接:https://www.haomeiwen.com/subject/wggfzftx.html