虚拟机下32位CentOs版本的linux下hadoop2.4.1集群搭建(3个节点版本)
2015-10-30 21:55
976 查看
1.所用软件
2.集群规划
4.安装JDK
5.安装Zookeeper集群在vincent01、vincent02、vincent03上
6.安装配置hadoop集群
6.1解压
tar -zxvf hadoop-2.4.1.tar.gz -C /usr/hadoop/
6.2配置HDFS(hadoop2.0所有的配置文件都在$hadoop_HOME/etc/hadoop目录下)
7.将配置好的hadoop拷贝到其他节点
7.1.将hadoop文件复制到其它2台机器上
8.格式化
1.1虚拟机软件:VMware-workstation-full-11.1.0.58002.1428919414 1.2.JDK:jdk-7u67-linux-i586.tar.gz 1.3.Zookeeper:zookeeper-3.4.5.tar.gz 1.4.Hadoop:hadoop-2.4.1.tar.gz
2.集群规划
主机名 IP 安装的软件 vincent01 10.1.34.211 jdk、hadoop vincent02 10.1.34.212 jdk、hadoop vincent03 10.1.34.213 jdk、hadoop 3.1.修改主机名 vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=vincent01 ### 备注:其余2台仿照这种配置 3.2.修改ip vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" ###根据每台虚拟机的情况选择ethX BOOTPROTO="static" ### HWADDR="00:0C:29:3C:BF:E7" IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c" IPADDR="10.1.34.201" ### 根据2中的规划设置ip NETMASK="255.255.255.0" ### GATEWAY="10.1.34.254" ### 3.3.修改主机名与ip之间的映射关系 vim /etc/hosts 10.1.34.211 vincent01 10.1.34.212 vincent02 10.1.34.213 vincent03 备注:每台机器上都应该如此配置 3.4.关闭防火墙 关闭防火墙 service iptables stop 关闭防火墙开机启动 chkconfig iptables off 3.5.设置SSH免登陆 首先要配置vincent01到vincent02、vincent03的免密码登陆 在vincent01上生产一对钥匙 进入到.ssh/文件夹 ssh-keygen -t rsa 将公钥拷贝到其他节点,包括自己 ssh-copy-id -i ~/.ssh/id_rsa.pub vincent01 ssh-copy-id -i ~/.ssh/id_rsa.pub vincent02 ssh-copy-id -i ~/.ssh/id_rsa.pub vincent03 在vincent02上生产一对钥匙 ssh-keygen -t rsa 将公钥拷贝到其他节点,包括自己 ssh-copy-id -i ~/.ssh/id_rsa.pub vincent01 ssh-copy-id -i ~/.ssh/id_rsa.pub vincent02 ssh-copy-id -i ~/.ssh/id_rsa.pub vincent03 在vincent03上生产一对钥匙 ssh-keygen -t rsa 将公钥拷贝到其他节点,包括自己 ssh-copy-id -i ~/.ssh/id_rsa.pub vincent01 ssh-copy-id -i ~/.ssh/id_rsa.pub vincent02 ssh-copy-id -i ~/.ssh/id_rsa.pub vincent03
4.安装JDK
4.1.在vincent01上安装JDK 4.1.1.解压jdk(备注:由于权限问题,统一在root用户下进行操作 su - root) #创建文件夹 mkdir /usr/java #解压 tar -zxvf /root/jdk-7u67-linux-i586.tar.gz -C /usr/java/ 4.1.2.将java添加到环境变量中 vim /etc/profile 在文件最后添加 export JAVA_HOME=/usr/java/jdk1.7.0_67 export PATH=$PATH:$JAVA_HOME/bin 刷新配置 source /etc/profile 验证 java -version 4.2.将JDK文件与profile文件复制到其它2台机器上 scp -r /usr/java root@vincent02:/usr/ scp -r /etc/profile root@vincent02:/etc/profile scp -r /usr/java root@vincent03:/usr/ scp -r /etc/profile root@vincent03:/etc/profile 在每个机器上执行命令 source /etc/profile 验证 java -version
5.安装Zookeeper集群在vincent01、vincent02、vincent03上
5.1.将zookeeper-3.4.5.tar拷贝到/root文件夹下 5.3.创建vincent文件夹 mkdir /usr/hadoop 5.3.解压zookeeper-3.4.5.tar tar -zxvf /root/zookeeper-3.4.5.tar.gz -C /usr/hadoop/ 5.4.修改配置 进入Zookeeper配置文件夹 cd /usr/hadoop/zookeeper-3.4.5/conf/ 将zoo_sample.cfg文件拷贝一份,名为:zoo.cfg cp zoo_sample.cfg zoo.cfg 修改zoo.cfg文件 vim zoo.cfg 修改:dataDir=/usr/hadoop/zookeeper-3.4.5/tmp 在最后添加: server.1=vincent01:2888:3888 server.2=vincent02:2888:3888 server.3=vincent03:2888:3888 保存退出 然后创建一个tmp文件夹 mkdir /usr/hadoop/zookeeper-3.4.5/tmp 再创建一个空文件 touch /usr/hadoop/zookeeper-3.4.5/tmp/myid 最后向该文件写入ID echo 1 > /usr/hadoop/zookeeper-3.4.5/tmp/myid 5.5.将配置好的zookeeper拷贝到其他节点 scp -r /usr/hadoop/ vincent02:/usr/ scp -r /usr/hadoop/ vincent03:/usr/ 注意:修改vincent02、vincent03对应/usr/hadoop/zookeeper-3.4.5/tmp/myid内容 vincent02: echo 2 > /usr/hadoop/zookeeper-3.4.5/tmp/myid vincent03: echo 3 > /usr/hadoop/zookeeper-3.4.5/tmp/myid
6.安装配置hadoop集群
6.1解压
tar -zxvf hadoop-2.4.1.tar.gz -C /usr/hadoop/
6.2配置HDFS(hadoop2.0所有的配置文件都在$hadoop_HOME/etc/hadoop目录下)
将hadoop添加到环境变量中 vim /etc/profile export JAVA_HOME=/usr/java/jdk1.7.0_67 export hadoop_HOME=/usr/hadoop/hadoop-2.4.1 export PATH=$PATH:$JAVA_HOME/bin:$hadoop_HOME/bin:$hadoop_HOME/sbin 6.3.修改vincent2.0的配置文件全部在$hadoop_HOME/etc/hadoop下 cd /usr/hadoop/hadoop-2.4.1/etc/hadoop 6.3.1.修改hadoop-env.sh export JAVA_HOME=/usr/java/jdk1.7.0_67 6.3.2.修改core-site.xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://ns1</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/hadoop-2.4.1/tmp</value> </property> <property> <name>ha.zookeeper.quorum</name> <value>vincent01:2181,vincent02:2181,vincent03:2181</value> </property> </configuration> 6.3.3.修改hdfs-site.xml <configuration> <property> <name>dfs.nameservices</name> <value>ns1</value> </property> <property> <name>dfs.ha.namenodes.ns1</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.ns1.nn1</name> <value>vincent01:9000</value> </property> <property> <name>dfs.namenode.http-address.ns1.nn1</name> <value>vincent01:50070</value> </property> <property> <name>dfs.namenode.rpc-address.ns1.nn2</name> <value>vincent02:9000</value> </property> <property> <name>dfs.namenode.http-address.ns1.nn2</name> <value>vincent02:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://vincent01:8485;vincent02:8485;vincent03:8485/ns1</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/usr/hadoop/hadoop-2.4.1/journal</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> <property> <name>dfs.client.failover.proxy.provider.ns1</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.ha.fencing.methods</name> <value> sshfence shell(/bin/true) </value> </property> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/root/.ssh/id_rsa</value> </property> <property> <name>dfs.ha.fencing.ssh.connect-timeout</name> <value>30000</value> </property> </configuration> 6.3.4.修改m 967c apred-site.xml <configuration> <!-- 指定mr框架为yarn方式 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> 6.3.5.修改yarn-site.xml <configuration> <!-- 指定resourcemanager地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>vincent03</value> </property> <!-- 指定nodemanager启动时加载server的方式为shuffle server --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> 6.3.6.修改slaves(slaves是指定子节点的位置,因为要在vincent01上启动HDFS、在vincent03启动yarn,所以vincent01上的slaves文件指定的是datanode的位置,vincent03上的slaves文件指定的是nodemanager的位置) vincent01 vincent02 vincent03
7.将配置好的hadoop拷贝到其他节点
7.1.将hadoop文件复制到其它2台机器上
scp -r /usr/hadoop/ vincent02:/usr/ scp -r /usr/hadoop/ vincent03:/usr/ scp -r /usr/hadoop/vincent-2.4.1/ root@vincent04:/usr/hadoop/ scp -r /usr/hadoop/vincent-2.4.1/ root@vincent05:/usr/hadoop/ scp -r /usr/hadoop/vincent-2.4.1/ root@vincent06:/usr/hadoop/ 7.2.将profile文件复制到其它2台机器上 scp -r /etc/profile root@vincent02:/etc/profile scp -r /etc/profile root@vincent03:/etc/profile 7.3.在每个机器上执行命令 source /etc/profile
8.格式化
8.1.启动zookeeper集群(分别在vincent01、vincent02、vincent03上启动zk) cd /usr/hadoop/zookeeper-3.4.5/bin/ ./zkServer.sh start 查看状态:一个leader,两个follower ./zkServer.sh status 8.2.启动journalnode在vincent01上执行 cd /usr/hadoop/hadoop-2.4.1/sbin/ hadoop-daemons.sh start journalnode 运行jps命令检验,vincent01、vincent02、vincent03上多了JournalNode进程 8.3.格式化HDFS 在vincent01上执行命令: hdfs namenode -format 格式化后会在根据core-site.xml中的hadoop.tmp.dir配置生成个文件,这里我配置的是/hadoop/hadoop-2.4.1/tmp,然后将/hadoop/hadoop-2.4.1/tmp拷贝到vincent02的/usr/hadoop/hadoop-2.4.1/下。 scp -r tmp/ vincent02:/usr/hadoop/hadoop-2.4.1/ 8.4.格式化ZK(在vincent01上执行即可) hdfs zkfc -formatZK 8.5.启动HDFS(在vincent01上执行) sbin/start-dfs.sh 8.6.启动YARN在vincent03上执行start-yarn.sh sbin/start-yarn.sh
相关文章推荐
- Spark集群搭建——Hadoop2.4.1集群搭建
- 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南
- Hadoop集群在百度的应用
- Hadoop安装教程_单机/伪分布式配置_Ubuntu 14.04/Hadoop 2.4.1
- Hadoop作业提交多种方案具体流程详解
- hadoop集群HA模式的切换尝试初识
- Hadoop虚拟机固定Ip上网
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建
- hadoop学习笔记1:实现ssh免密码登录
- hadoop学习笔记2:hadoop分布式环境搭建
- hadoop学习笔记3:shell下的hdfs操作
- hadoop学习笔记4:java实现hdfs -ls/-lsr
- Hadoop集群系列教程之我眼中的Hadoop(一)
- 传智播客hadoop7天视频教程(非吴超版本)
- 吴超大数据高薪就业班二期和三期(官方培训费11000)
- hadoop-1.0.4 hbase-0.94.10 zookeeper-3.4.5集群配置
- HadoopHbaseZookeeper集群
- HadoopHbaseZookeeper集群
- HadoopHbaseZookeeper集群
- Fedora 18 Hadoop 1.2.0集群搭建