hadoop集群环境搭建
防火墙直接关死
1. Hadoop集群规划
主机名(hostname) | 安装软件 | 运行进程 |
---|---|---|
mini1 | hadoop-2.7.1 | nameNode、resourceManager |
mini2 | hadoop-2.7.1 | dataNode、nodeManager |
mini3 | hadoop-2.7.1 | dataNode、nodeManager |
2 HADOOP集群安装步骤
-
准备三台Centos6.7 64bit虚拟机:注意 三台机器使用root用户登陆系统
-
分别修改虚拟机的主机名(hostname)
-
分别配置三台机器的静态i
-
分别修改三台机器hosts 以上步骤上一篇都有
-
分别为每台机器创建一个名为“hadoop”的用户
useradd hadoop #添加hadoop用户 passwd hadoop #给hadoop用户 设置密码
-
分别为每台机器的“hadoop”用户配置sudo权限
chmod u+w /etc/sudoers #为sudoers文件添加一个“可以写入”的权限 vi /etc/sudoers #用root用户编辑sudoers文件 直接yy复制 p粘贴再按i修改,其他的修改操作出错可能性大 在其下root ALL=(ALL) ALL 加 hadoop ALL=(ALL) ALL
-
安装 jdk-7u55-linux-i586.tar.gz
#(1)解压jdk #创建文件夹 mkdir /home/hadoop/develop_env #解压 tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/develop_env #(2)将java添加到环境变量中 vim /etc/profile #在文件最后添加 export JAVA_HOME=/home/hadoop/develop_env/jdk1.7.0_65 export PATH=$PATH:$JAVA_HOME/bin #刷新配置 source /etc/profile
-
三台机器分别切换为hadoop用户并创建一个名为develop_env的文件夹
su - hadoop #切换到hadoop用户 mkdir develop_env #在hadoop的家目录下创建一个develop_env文件
下面hadoop用户登场
-
上传hadoop-2.7.1.tar.gz到Centos6.7_min1机器的/home/hadoop/develop_env目录下
-
解压hadoop-2.7.1.tar.gz安装包
cd /home/hadoop/develop_env #切换到/home/hadoop/develop_env目录 tar -zxvf hadoop-2.7.1.tar.gz -C /home/hadoop/develop_env #解压
-
设置hadoop-env.sh配置文件
cd /home/hadoop/develop_env/hadoop-2.7.1/etc/hadoop #切换目录 vi hadoop-env.sh #添加如下内容 # The java implementation to use. 原来的那个export JAVA_HOME=后面这些记不清了,直接删掉加上jdk的安装路径就行了 export JAVA_HOME=/home/hadoop/develop_env/jdk1.8.0_60
-
设置core-site.xml配置文件
mkdir /home/hadoop/develop_env/hadoop-2.7.1/data #创建一个名为的文件夹 vi core-site.xml #在<configuration></configuration>之间添加如下内容 #内容如下: <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 --> <property> <name>fs.defaultFS</name> <!-- 指定了客户端访问的主机名“mini1”(也可以写ip),则该主机的hadoop就是namenode节点了--> <value>hdfs://mini1:9000</value> </property> <!-- 指定hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/develop_env/hadoop-2.7.1/data</value> </property> data会在格式化的时候自动创建
-
设置hdfs-site.xml配置文件(该文件默认即可,今天就不用配置此文件了)
vi hdfs-site.xml #添加如下内容 #添加如下内容 <!-- 指定HDFS副本的数量 --> <property> <name>dfs.replication</name> <value>2</value> </property> #2就是备份的数量,2或3比较好
-
设置mapred-site.xml配置文件
-
因为mapred-site.xml原本不存在,存在一个mapred-site.xml.template模板,直接重命名
或者是复制一个重命名都行,建议复制一个重命名
rename mapred-site.xml.template mapred-site.xml #默认mapred-site.xml vi mapred-site.xml #添加如下内容
#添加如下内容
<!-- 指定mapreduce运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
-
设置yarn-site.xml配置文件
vi yarn-site.xml #添加如下内容 #添加如下内容 <!-- 指定YARN的老大(ResourceManager)的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>mini1</value> 可以是ip </property> <!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
-
设置slaves配置文件
vi slaves #修改后显示如下内容 将localhost删了,加mini1也行,不加也行,加了本机当做一台datanode来用,建议不要加 添加如下 mini2 mini3
-
配置Centos6.7_mini1到Centos6.7_mini2、Centos6.7_mini3的免密登陆:因为之前有可能配置的是root用户的免密登录,但是在这使用的是hadoop用户,所以要对hadoop用户配置免密登录,前面有,不说了
-
将develop_env目录下的所有文件分别拷贝到Centos6.7_min2、Centos6.7_min3
cd ~/develop_env #切换到/home/hadoop/develop_env目录下 scp -r /home/hadoop/develop_env/hadoop-2.7.1 min2:/home/hadoop/ scp -r /home/hadoop/develop_env/hadoop-2.7.1 min3:/home/hadoop
也可以自己去配置,就当是练习一下,所有的东西按照mini1来配置就行,不用修改mini1配置的所有东西
20. 分别在三台机器上将hadoop添加到环境变量
(1)vim /etc/proflie
(2)source /etc/profile
(3)分别重启三台机器
-
启动集群
-
格式化HDFS 因为HDFS也是文件系统,第一次使用一个文件系统都要格式化
-
以后尽量少使用格式化,每次格式化都会对data文件进行操作,有可能导致错误
hadoop namenode -format #在min1机器上执行格式化命令 -
启动hdfs集群(注意启动集群时,最好将集群中所有机器的时间设置一致)
start-dfs.sh #在min1机器上执行启动hdfs集群命令 #注意启动集群时,最好将集群中所有机器的时间设置一致 用到时间同步,之前也有
在min1启动namenode成功显示:
[aaa@qq.com root]$ jps
2251 NameNode
2573 Jps
2447 SecondaryNameNode
在min2和min3启动datanode成功显示:
[aaa@qq.com root]$ jps
1746 Jps
1672 DataNode
-
启动yarn集群
start-yarn.sh #在min1机器上执行启动yarn集群命令
在min1启动resourcemanager成功显示:
[aaa@qq.com root]$ jps
2626 ResourceManager
2902 Jps
2251 NameNode
2447 SecondaryNameNode在min2和min3启动nodemanager成功显示:
[aaa@qq.com root]$ jps
1672 DataNode
1800 NodeManager
1929 Jps
-
使用web查看集群的状态
使用浏览器打开 http://192.168.246.193:50070
使用浏览器打开 http://192.168.246.193:8088
推荐阅读
-
教你使用eclipse 搭建Swt 环境的全过程
-
想用centos5.5 x64搭建lnmp生成环境,求怎么进行相关软件的版本选择
-
Zookeeper集群搭建
-
NoSQL学习之路 (一):MongoDB 环境的搭建
-
[微信公众平台开发]php开发环境搭建设置(一)_PHP教程
-
MAC OSX1011上搭建Apache,PHP,MySQL5615,phpMyAdmin开发环境
-
Linux 下搭建 AliOS-Things 开发环境
-
windows下zendframework项目环境搭建(通过命令行配置)_php技巧
-
搭建高可用的redis集群,避免standalone模式带给你的苦难
-
LNMP环境+Laravel快速搭建