ITPub博客

hadoop集群多节点安装详解

原创 作者:flzhang 时间:2015-09-01 16:01:41 0 删除 编辑
<p> 经常使用工具自动构建大规模集群环境,小环境也有10几台的机器,虽然自动部署很省事,但自动构建的背后那些机器自动完成的工作让我们疏忽了,特别是要自己构建一个小集群用于了解搭建细节和原理还是很有帮助的,今天为复习和了解下hadoop各进程间协调运行的原理,搭建了一个3节点的机器,并记录自己的搭建过程。<br /> 一 搭建集群<br /> 基本环境配置<br /> IP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;部署进程<br /> 192.168.0.110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elephant&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;namenode<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datanode<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nodemanager<br /> 192.168.0.110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nodemanager<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datanode<br /> &nbsp;&nbsp;<br /> 192.168.0.110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;horse&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resourcemanager<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datanode<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nodemanager<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobhistoryserver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p> <p> 1.1&nbsp;安装CDH5 yum 源<br /> 下载cdh5包<br /> Wget <a href="http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/cloudera-cdh5.repo">http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/cloudera-cdh5.repo</a><br /> mv cloudera-cdh5.repo /etc/yum.repo.d<br /> 1.2&nbsp;在各节点安装对应组件<br /> 1.&nbsp;安装namenode和datanode<br /> 在elephant上安装namenode<br /> sudo yum install --assumeyes hadoop-hdfs-namenode<br /> 在elephant,tiger和horse上安装datanode </p> <p> sudo yum install --assumeyes hadoop-hdfs-datanode<br /> 2.&nbsp;安装resourceManger和nodeManager<br /> 在horse上安装resourceManager<br /> sudo yum install –assumeyes Hadoop-yarn-resourcemanager </p> <p> 在elephant,tiger和horse上安装nodemanager<br /> sudo yum install –assumeyes Hadoop-yarn-nodemanager<br /> 3.&nbsp;安装mapreduce框架<br /> 在elephant,tiger和horse上安装mapreduce<br /> sudo yum install –assumeyes Hadoop-mapreduce<br /> 4.&nbsp; 安装jobhistoryserver<br /> 在hosrse 安装jobhistoryserver<br /> sudo yum install –assumeyes Hadoop-mapreduce-historyserver </p> <p> 1.3&nbsp;修改配置文件<br /> 在elephant上修改配置文件<br /> 1&nbsp;Copy模板文件<br /> sudo cp core-site.xml /etc/hadoop/conf/<br /> sudo cp hdfs-site.xml /etc/hadoop/conf/<br /> sudo cp yarn-site.xml /etc/hadoop/conf/<br /> sudo cp mapred-site.xml /etc/hadoop/conf/<br /> 2&nbsp;sudo vi core-site.xml<br /> name&nbsp;value<br /> fs.defaultFS&nbsp;hdfs://elephant:8020 </p> <p> 3&nbsp;sudo vi hdfs-site.xml<br /> dfs.namenode.name.dir&nbsp;<a href="file://disk1/dfs/nn,file://disk2/dfs/nn">file:///disk1/dfs/nn,file:///disk2/dfs/nn</a><br /> dfs.datanode.data.dir&nbsp;<a href="file://disk1/dfs/dn,file://disk2/dfs/dn">file:///disk1/dfs/dn,file:///disk2/dfs/dn</a> </p> <p> <br /> 4&nbsp;sudo vi yarn-site.xml<br /> yarn.resourcemanager.hostname&nbsp;horse<br /> yarn.application.classpath&nbsp;保留模板中默认值<br /> yarn.nodemanager.aux-services&nbsp;mapreduce_shuffle<br /> --yarn中使用mapreduce计算框架<br /> yarn.nodemanager.local-dirs&nbsp;<a href="file://disk1/nodemgr/local,file://disk2/nodemgr/local">file:///disk1/nodemgr/local,file:///disk2/nodemgr/local</a> </p> <p> yarn.nodemanager.log-dirs&nbsp;/var/log/hadoop-yarn/containers<br /> yarn.nodemanager.remote-app-log-dir&nbsp;/var/log/hadoop-yarn/apps<br /> yarn.log-aggregation-enable&nbsp;TRUE </p> <p> 5&nbsp;sudo vi mapred-sitexml<br /> mapreduce.framework.name&nbsp;yarn<br /> mapreduce.jobhistory.address&nbsp;horse:10020<br /> mapreduce.jobhistory.webapp.address&nbsp;horse:19888<br /> yarn.app.mapreduce.am.staging-dir&nbsp;/user </p> <p> 6&nbsp;减小jvm堆大小<br /> export HADOOP_NAMENODE_OPTS="-Xmx64m"<br /> export HADOOP_SECONDARYNAMENODE_OPTS="-Xmx64m"<br /> export HADOOP_DATANODE_OPTS="-Xmx64m"<br /> export YARN_RESOURCEMANAGER_OPTS="-Xmx64m"<br /> export YARN_NODEMANAGER_OPTS="-Xmx64m"<br /> export HADOOP_JOB_HISTORYSERVER_OPTS="-Xmx64m"<br /> 7&nbsp;Copy 所有配置文件到tiger,horse主机 </p> <p> 1.4&nbsp;创建指定目录<br /> 1&nbsp;在elephant 创建和存放nodemanger,namenode,datanode相关目录<br /> $ sudo mkdir -p /disk1/dfs/nn<br /> $ sudo mkdir -p /disk2/dfs/nn<br /> $ sudo mkdir -p /disk1/dfs/dn<br /> $ sudo mkdir -p /disk2/dfs/dn<br /> $ sudo mkdir -p /disk1/nodemgr/local<br /> $ sudo mkdir -p /disk2/nodemgr/local<br /> 2&nbsp;设置目录权限<br /> $ sudo chown -R hdfs:hadoop /disk1/dfs/nn<br /> $ sudo chown -R hdfs:hadoop /disk2/dfs/nn<br /> $ sudo chown -R hdfs:hadoop /disk1/dfs/dn<br /> $ sudo chown -R hdfs:hadoop /disk2/dfs/dn<br /> $ sudo chown -R yarn:yarn /disk1/nodemgr/local<br /> $ sudo chown -R yarn:yarn /disk2/nodemgr/local<br /> 3&nbsp;验证目录和权限<br /> $ ls -lR /disk1<br /> $ ls -lR /disk2 </p> <p> 1.5&nbsp; 格式化hdfs并启动hdfs相关进程<br /> 1 启动namenode 和查错<br /> 1) 在elephant<br /> sudo –u hdfs hdfs namenode –format<br /> 如果提示是否重新格式化,输入Y<br /> 启动namenode<br /> sudo service hadoop-hdfs-namenode start<br /> 2)查看namenode日志<br /> 手工查看<br /> 可以根据启动时提示的.out 文件路径查看对应.log的文件<br /> less /var/log/hadoop-hdfs/ hadoop-hdfs-namenode-elephant.log<br /> web UI查看<br /> 查看namenode 的web UI <a href="http://elephant:50070">http://elephant:50070</a>.<br /> 选择 Utilities-&gt;Logs.<br /> 2 启动datanode和查错<br /> 1)在elephant,tiger,horse启动<br /> sudo service hadoop-hdfs-datanode start<br /> 2) 查看datanode日志<br /> 手工查看<br /> less /var/log/hadoop-hdfs/ hadoop-hdfs-datanode-tiger.log<br /> web UI查看<br /> 查看datanode的web UI <a href="http://tiger:50075">http://tiger:50075</a> ,选择datanode日志<br /> 在其他节点horse上查看日志也可用如上方法 </p> <p> <br /> 1.6&nbsp;在hdfs上创建为yarn和mapreduce创建目录<br /> $ sudo -u hdfs hadoop fs -mkdir /tmp<br /> $ sudo -u hdfs hadoop fs -chmod -R 1777 /tmp<br /> $ sudo -u hdfs hadoop fs -mkdir -p /var/log/hadoop-yarn<br /> $ sudo -u hdfs hadoop fs -chown yarn:mapred /var/log/hadoop-yarn<br /> $ sudo -u hdfs hadoop fs -mkdir /user<br /> $ sudo -u hdfs hadoop fs -mkdir /user/training<br /> $ sudo -u hdfs hadoop fs -chown training /user/training<br /> $ sudo -u hdfs hadoop fs -mkdir /user/history<br /> $ sudo -u hdfs hadoop fs -chmod 1777 /user/history<br /> $ sudo -u hdfs hadoop fs -chown mapred:hadoop /user/history<br /> 1.7&nbsp; 启动yarn和mapreduce进程<br /> 1 horse上启动resourcemanager<br /> sudo service hadoop-yarn-resourcemanager start<br /> 2所有节点上启动nodemanager<br /> sudo service hadoop-yarn-nodemanager start<br /> 3horse上启动historyserver<br /> sudo service hadoop-mapreduce-historyserver start </p> <p> 1.8&nbsp;测试集群<br /> 1 上传测试文件到hdfs<br /> $ hadoop fs -mkdir -p elephant/shakespeare<br /> $ hadoop fs -put shakespeare.txt elephant/shakespeare<br /> 2&nbsp;通过namenode webui 查看文件是否上传<br /> 查看 Utilities-&gt;“Browse the file system”选择目录查看文件<br /> 3&nbsp;测试mapreduce<br /> 在elephant<br /> $ hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount elephant/shakespeare elephant/output<br /> 使用webui 访问resourcemanager 判断applicationmaster,mapper,reducer这些task运行在哪些主机 </p>
请登录后发表评论 登录
全部评论

注册时间:2014-03-26

  • 博文量
    98
  • 访问量
    701913