Hadoop分布式集群设置

打印 上一主题 下一主题

主题 872|帖子 872|积分 2616

Hadoop分布式集群设置

在Hadoop的集群中,有一个NameNode,一个ResourceManager。在高可靠的集群环境中,可以拥有两个NameNode和两个ResourceManager;在Hadoop 3版本以后,同一个NameService可以拥有3个NameNode。由于NameNode和ResourceManager是两个主要的服务,建议将它们部署到不同的服务器上。
步调01 预备工作。
以三台服务器为集群环境,做以下预备工作。
(1) 所有主机安装JDK1.8+。建议将JDK安装到不同的主机的雷同目次下,如许可以减少修改设置文件的次数。
(2) 在主节点(即执行start-dfs.sh和start-yarn.sh的主机)上向所有其他主机做SSH免密码登录。
(3) 修改所有主机的主机名称。
(4) 设置所有主机的hosts文件,添加主机名和IP的映射如下:
   192.168.56.101 server101
  192.168.56.102 server102
  192.168.56.103 server103
  (5) 关闭所有主机上的防火墙,使用以下命令:
   systemctl stop firewalld
  systemctl disable firewalld
  (6) 完整的设置如表所示。

从表中可以看出,server101运行的进程比较多,且NameNode运行在上面,所以这台主机必要更多的内存。
特别阐明,ZooKeeper集群安装,HBase的集群安装与此集群主机设置表雷同,都采用表中所示的三台主机,具体设置内容详见各实行的具体形貌。
步调02 在server101上安装Hadoop。可以将Hadoop安装到任意的目次下,如在根目次下创建/app然后授予hadoop用户即可。将hadoop-3.4.0.tar.gz解压到/app目次下,并设置/app目次属hadoop用户。
   $ sudo tar -zxvf hadoop3.4.0.tag.gz -C /app/
  将/app目次及子目次,授权给hadoop用户和hadoop组:
   $sudo chown hadoop:hadoop -R /app
  设置hadoop-env.sh文件:
   export JAVA_HOME=/usr/java/jdk1.8.0_281
  设置文件core-site.xml:
  1.     <configuration>
  2.         <property>
  3.             <name>fs.defaultFS</name>
  4.             <value>hdfs://server101:8020</value>
  5.         </property>
  6.         <property>
  7.             <name>hadoop.tmp.dir</name>
  8.             <value>/app/datas/hadoop</value>
  9.         </property>
  10.     </configuration>
复制代码
设置文件hdfs-site.xml:
  1.     <configuration>
  2.         <property>
  3.             <name>dfs.replication</name>
  4.             <value>3</value>
  5.         </property>
  6.         <property>
  7.             <name>dfs.permissions.enabled</name>
  8.             <value>false</value>
  9.         </property>
  10.     </configuration>
复制代码
设置文件mapred-site.xml:
  1.     <configuration>
  2.         <property>
  3.             <name>mapreduce.framework.name</name>
  4.             <value>yarn</value>
  5.         </property>
  6.     </configuration>
复制代码
设置文件yarn-site.xml:
  1.     <configuration>
  2.         <property>
  3.             <name>yarn.nodemanager.aux-services</name>
  4.             <value>mapreduce_shuffle</value>
  5.         </property>
  6.         <property>
  7.             <name>yarn.resourcemanager.hostname</name>
  8.             <value>server101</value>
  9.         </property>
  10.         <property>
  11.             <name>yarn.application.classpath</name>
  12.             <value>请自行执行hadoop classpath命令并将结果填入</value>
  13.         </property>
  14.     </configuration>
复制代码
设置workers设置文件:workers设置文件用于设置执行DataNode和NodeManager的节点。
   server101
  server102
  server103
  步调03 使用scp将Hadoop分发到其他主机。
由于scp会在网络上传递文件,而hadoop/share/doc目次下都是文档,没有必要举行复制,所以可以删除这个目次。删除doc目次:
   $ rm -rf /app/hadoop-3.4.0/share/doc
  然后复制server101的文件到其他两台主机的雷同目次下:
   $scp -r /app/hadoop-3.4.0 server102:/app/
  $scp -r /app/hadoop-3.4.0 server103:/app/
  步调04 在server101上格式化NameNode。
首先必要在server101上设置Hadoop的环境变量。
   $ sudo vim /etc/profile
  在文件末了追加:
   export HADOOP_HOME=/app/hadoop-3.4.0
  export PATH=$PATHHADOOP_HOME/bin
  在server101上执行namenode初始化命令:
   $ hdfs namenode -format
  步调05 启动HDFS和YARN。
在server101上执行启动工作,由于设置了集群,此启动过程会以SSH方式登录其他两台主机,并分别启动DataNode和NodeManager。
   $ /app/hadoop-3.4.0/sbin/start-dfs.sh
  $ /app/hadoop-3.4.0/sbin/start-yarn.sh
  启动完成后,通过宿主机的欣赏器,检察9870端口,会显示集群情况,如图6-1所示。
访问地址http://server101:9870/,会发现三个DataNode节点同时存在。

检察8088端口,会发现三个NodeManager同时存在,如图所示。
   http://192.168.1.10:8088
  

末了,建议执行MapReduce测试一下集群,比如执行以下wordcount示例,假如可以顺序执行完成,则阐明整个集群的设置都是精确的。
   $ yarn jar hadoop-mapreduce-examples-3.2.2.jar wordcount /test/ /out002
  








免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表