hadoop 的集群安装 (一)
hadoop 的集群安装 (一)
Guest_Main 发表于11个月前
hadoop 的集群安装 (一)
  • 发表于 11个月前
  • 阅读 60
  • 收藏 1
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: hadoop 最简单的集群搭建

前序,hadoop 有很多版本,apache hadoop,cloudera 的cdh 版 ,hortonworks hdp版,这里记录,apache版 hadoop 安装。 准备

  • 3台centos7 的虚拟机,
  • 在相应的虚拟上安装jdk hadoop 最佳JDK版本
  • 下载文档版本的hadoop hadoop 稳定版下载 (当前的hadoop-2.7.3.tar.gz )
    修改3台主机host 主机分配
    测试环境关闭防火墙和selinux 192.168.126.129 hadoop1
    192.168.126.130 hadoop2
    192.168.126.131 hadoop3

1 安装JDK 参考
2 配置主机之间免密登录 (root 用户)

ssh-keygen -t rsa 
cat  ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

将authorized_keys 和 id_rsa 考进其他俩台机器 /root/.ssh目录 这样3台主机相互免密登录

3 解压hadoop 压缩包我是解压到/usr/local/下

4 修改hadoop 配置文件
hadoop-env.sh            hadoop的一些环境变量
core-site.xml                hadoop Core的配置,例如HDFS 和 MapReduce的常用IO配置
hdfs-site.xml                hdfs配置项
mapred-site.xml          mapreduce 配置项
slaves                            运行datanode 和 node manager的节点 也就是运行节点机器
yarn-site.xml                YARN配置文件

接下来开始修改 配置文件路径(/usr/local/hadoop-2.7.3/etc/hadoop)

hadoop-env.sh
在文件头部添加jdk安装路径

export JAVA_HOME=/usr/local/jdk 

修改 core-site.xml

<configuration>
  <property>
      <name>fs.defaultFS</name>
      <value>hdfs://hadoop1:9000</value>
  </property>
</configuration>

修改 hdfs-site.xml

<configuration>  
  <property>  
    <name>dfs.replication</name>  
    <value>1</value>  
  </property>    
  <property>  
    <name>dfs.datanode.data.dir</name>  
    <value>file:/data/dfs</value>  
  </property>   
</configuration> 

修改 mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>            

修改 yarn-site.xml

 <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
     </property>
    <property>
         <name>yarn.resourcemanager.hostname</name>
         <value>hadoop1</value>
    </property>


修改 slave 文件

hadoop2
hadoop3

将配置文件复制到其他2台机器

scp hdfs-site.xml hadoop-env.sh core-site.xml mapred-site.xml yarn-site.xml slaves  root@hadoop2:"/usr/local/hadoop-2.7.3/etc/hadoop/"

scp hdfs-site.xml hadoop-env.sh core-site.xml mapred-site.xml yarn-site.xml slaves  root@hadoop3:"/usr/local/hadoop-2.7.3/etc/hadoop/"

5 格式化 hdfs

/usr/local/hadoop-2.7.3/bin/hdfs namenode -format

6 启动hdfs 因配置免密登录,可以在任意主机启动其他节点

/usr/local/hadoop-2.7.3/sbin/start-dfs.sh

此时在各个机器上输入jps 可以看到 hadoop1 启动NameNode SecondaryNameNode 进程
hadoop 2 和 hadoop3 启动datanode 进程
测试下hdfs

/usr/local/hadoop-2.7.3/bin/hadoop fs -mkdir /test
/usr/local/hadoop-2.7.3/bin/hadoop fs -ls /

可以在控制台看到我们刚才创建的test文件夹
也可以通过http://192.168.126.129:50070/dfshealth.html 看到各主机的状态 7 启动YARN

/usr/local/hadoop-2.7.3/sbin/start-yarn.sh 

hadoop 1上会启动 ResourceManager 进程 hadoop2 和 hadoop3 上会启动NodeManager 进程
可以通过http://192.168.126.129:8088/cluster 看集群管理页面

8 wordcount /usr/local/hadoop-2.7.3/bin/hadoop jar hadoop-mapreduce-examples-2.7.3.jar 提供很多example程序
先将本地一个文本文件上传hdfs

/usr/local/hadoop-2.7.3/bin/hadoop fs -put /root/test.txt  /test/

运行 example 的 wordcount

/usr/local/hadoop-2.7.3/bin/hadoop jar /usr/local/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar  wordcount  /test  /mapReduceResult

可以将结果下载下来查看,结果是生成在/mapReduceResult 文件夹下。 ok 到此最简单的集群搭建完成

参考 http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html

标签: hadoop HDFS YARN
  • 点赞
  • 收藏
  • 分享
粉丝 4
博文 3
码字总数 1682