机器说明以6台为例
机器名 机器IP 按装的软件 运行的进程
master01 192.168.196.1 jdk hadoop NameNode DFSZKFailoverController
master02 192.168.196.2 jdk hadoop NameNode DFSZKFailoverController
master03 192.168.196.3 jdk hadoop ResourceManager
master04 192.168.196.4 jdk hadoop zookeeper NateNode NodeManager Joournalnode QuorumPeerMain
master05 192.168.196.5 jdk hadoop zookeeper NateNode NodeManager Joournalnode QuorumPeerMain
master06 192.168.196.6 jdk hadoop zookeeper NateNode NodeManager Joournalnode QuorumPeerMain
vi /etc/hosts
192.168.196.10 master01
192.168.196.11 master02
192.168.196.12 master03
192.168.196.13 master04
192.168.196.14 master05
192.168.196.15 master06
1.解压Hadoop2.2.0到master目录下面
创建安装目录
mkdir /master
解压Hadoop
tar -zxvf hadoop-2.2.0.tar.gz -C /master/
2.配置Hadoop-2.2.0
cd /master/hadoop-2.2.0/etc/hadoop
(1)配置vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_45
(2)修改 vi core-site.xml
<configuration>
<!--用来指定hdfs的nameservice为ns1-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1</value>
</property>
<!--用来指定Hadoop运行时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/master/hadoop-2.2.0/tmp</value>
</property>
<!--指定zookeeper的地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>master04:2181,master05:2181,master06:2181</value>
</property>
</configuration>
(3)修改 vi hdfs-site.xml
<configuration>
<!--用来指定hdfs的nameservice为ns1,-->
<property>
<name>dfs.nameservices</name>
<value>ns1</value>
</property>
<!--ns1下面有两个NameNode,分别是nn1,nn2-->
<property>
<name>dfs.ha.namenodes.ns1</name>
<value>nn1,nn2</value>
</property>
<!--nn1的RPC通信地址-->
<property>
<name>dfs.namenode.rpc-address.ns1.nn1</name>
<value>master01:9000</value>
</property>
<!--nn1的HTTP通信地址-->
<property>
<name>dfs.namenode.http-address.ns1.nn1</name>
<value>master01:50070</value>
</property>
<!--nn2的RPC通信地址-->
<property>
<name>dfs.namenode.rpc-address.ns1.nn2</name>
<value>master02:9000</value>
</property>
<!--nn2的HTTP通信地址-->
<property>
<name>dfs.namenode.http-address.ns1.nn2</name>
<value>master02:50070</value>
</property>
<!--指定NameNode的元数据在JournalNode上的存放共享数据-->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master04:8485;master05:8485;master06:8485/ns1</value>
</property>
<!--指定JournalNode在本地磁盘存放数据的位置-->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/master/hadoop-2.2.0/journal</value>
</property>
<!--开启NameNode失败自动切换-->
<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>
<!--使用sshfence隔离机制时需要ssh免登陆 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<!--配置sshfence隔离机制超时时间 -->
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
</configuration>
(4)修改 vi mapred-site.xml
将mapred-site.xml.template重命名为mapred-site.xml
(mv mapred-site.xml.template mapred-site.xml)
<configuration>
<!--告诉Hadoops以后MR运行在YARN上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)修改 vi yarn-site.xml
<configuration>
<!--指定resourcemanager地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master03</value>
</property>
<!--指定nodemanager启动时加载services的方式为shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
cd /master/hadoop-2.2.0/etc/hadoop
(6)修改 vi slaves(决定NodeManager)
master04
master05
master06
3.用zookeeper向其他机子考Hadoop
在04,05,06启动zkServer: ./zkServer.sh start
检查状态: ./zkServer.sh status
./zkCli.sh
rmr /hadoop(选)
删除Hadoop下share的doc: cd /master/hadoop-2.2.0/share
rm -rf doc/
向其他机子考Hadoop: scp -r /master/ root@192.168.196.11:/
scp -r /master/ root@192.168.196.12:/
如果04存在/master scp -r /master/hadoop-2.2.0/ root@192.168.196.13:/master
scp -r /master/ root@master05:/
scp -r /master/ root@master06:/
4.修改Hadoop环境变量 more /etc/profile
vi /etc/profile
export HADOOP_HOME=/master/hadoop-2.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
scp /etc/profile @master02:/ect
刷新配置
source /etc/profile
cd /master/zookeeper-3.4.5/bin
5.启动zkServer: ./zkServer.sh
检查状态: ./zkServer.sh status
6.启动journalnode() 分别在按有zookeeper的机器上
cd /master/hadoop-2.2.0/sbin
./hadoop-daemon.sh start journalnode
jps
masterO4.05.06启动了Joournalnode与QuorumPeerMain
7.初始化文件系统HDFS(格式化文件系统)(在master01上执行即可)
hdfs namenode -format
格式化成功后会多出一个tmp目录
scp -r tmp/ master02:/master/hadoop-2.2.0/
8.格式化ZK(在master01上执行即可)
hdfs zkfc -formatZK
在zk上多的目录 cd /master/zookeeper-3.4.5/bin
./zkServer.sh
./zkServer.sh status
./zkCli.sh
ls / rmr /hadoop123
多了一个hadoop-ha目录
9.启动HDFS(在master01上执行)
cd /master/hadoop-2.2.0/sbin
./start-dfs.sh
jps
masterO1与master02启动了 NameNode与DFSZKFailoverController
masterO4.05.06启动了DataNode
10.启动YARN(在master03上执行)
cd /master/hadoop-2.2.0/sbin
./start-yarn.sh
jps
masterO3上启动了ResourceManager
masterO4.05.06启动了NodeManager
masterO1
机器名 机器IP 按装的软件 运行的进程
master01 192.168.196.1 jdk hadoop NameNode DFSZKFailoverController
master02 192.168.196.2 jdk hadoop NameNode DFSZKFailoverController
master03 192.168.196.3 jdk hadoop ResourceManager
master04 192.168.196.4 jdk hadoop zookeeper NateNode NodeManager Joournalnode QuorumPeerMain
master05 192.168.196.5 jdk hadoop zookeeper NateNode NodeManager Joournalnode QuorumPeerMain
master06 192.168.196.6 jdk hadoop zookeeper NateNode NodeManager Joournalnode QuorumPeerMain
vi /etc/hosts
192.168.196.10 master01
192.168.196.11 master02
192.168.196.12 master03
192.168.196.13 master04
192.168.196.14 master05
192.168.196.15 master06
1.解压Hadoop2.2.0到master目录下面
创建安装目录
mkdir /master
解压Hadoop
tar -zxvf hadoop-2.2.0.tar.gz -C /master/
2.配置Hadoop-2.2.0
cd /master/hadoop-2.2.0/etc/hadoop
(1)配置vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_45
(2)修改 vi core-site.xml
<configuration>
<!--用来指定hdfs的nameservice为ns1-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1</value>
</property>
<!--用来指定Hadoop运行时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/master/hadoop-2.2.0/tmp</value>
</property>
<!--指定zookeeper的地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>master04:2181,master05:2181,master06:2181</value>
</property>
</configuration>
(3)修改 vi hdfs-site.xml
<configuration>
<!--用来指定hdfs的nameservice为ns1,-->
<property>
<name>dfs.nameservices</name>
<value>ns1</value>
</property>
<!--ns1下面有两个NameNode,分别是nn1,nn2-->
<property>
<name>dfs.ha.namenodes.ns1</name>
<value>nn1,nn2</value>
</property>
<!--nn1的RPC通信地址-->
<property>
<name>dfs.namenode.rpc-address.ns1.nn1</name>
<value>master01:9000</value>
</property>
<!--nn1的HTTP通信地址-->
<property>
<name>dfs.namenode.http-address.ns1.nn1</name>
<value>master01:50070</value>
</property>
<!--nn2的RPC通信地址-->
<property>
<name>dfs.namenode.rpc-address.ns1.nn2</name>
<value>master02:9000</value>
</property>
<!--nn2的HTTP通信地址-->
<property>
<name>dfs.namenode.http-address.ns1.nn2</name>
<value>master02:50070</value>
</property>
<!--指定NameNode的元数据在JournalNode上的存放共享数据-->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master04:8485;master05:8485;master06:8485/ns1</value>
</property>
<!--指定JournalNode在本地磁盘存放数据的位置-->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/master/hadoop-2.2.0/journal</value>
</property>
<!--开启NameNode失败自动切换-->
<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>
<!--使用sshfence隔离机制时需要ssh免登陆 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<!--配置sshfence隔离机制超时时间 -->
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
</configuration>
(4)修改 vi mapred-site.xml
将mapred-site.xml.template重命名为mapred-site.xml
(mv mapred-site.xml.template mapred-site.xml)
<configuration>
<!--告诉Hadoops以后MR运行在YARN上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)修改 vi yarn-site.xml
<configuration>
<!--指定resourcemanager地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master03</value>
</property>
<!--指定nodemanager启动时加载services的方式为shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
cd /master/hadoop-2.2.0/etc/hadoop
(6)修改 vi slaves(决定NodeManager)
master04
master05
master06
3.用zookeeper向其他机子考Hadoop
在04,05,06启动zkServer: ./zkServer.sh start
检查状态: ./zkServer.sh status
./zkCli.sh
rmr /hadoop(选)
删除Hadoop下share的doc: cd /master/hadoop-2.2.0/share
rm -rf doc/
向其他机子考Hadoop: scp -r /master/ root@192.168.196.11:/
scp -r /master/ root@192.168.196.12:/
如果04存在/master scp -r /master/hadoop-2.2.0/ root@192.168.196.13:/master
scp -r /master/ root@master05:/
scp -r /master/ root@master06:/
4.修改Hadoop环境变量 more /etc/profile
vi /etc/profile
export HADOOP_HOME=/master/hadoop-2.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
scp /etc/profile @master02:/ect
刷新配置
source /etc/profile
cd /master/zookeeper-3.4.5/bin
5.启动zkServer: ./zkServer.sh
检查状态: ./zkServer.sh status
6.启动journalnode() 分别在按有zookeeper的机器上
cd /master/hadoop-2.2.0/sbin
./hadoop-daemon.sh start journalnode
jps
masterO4.05.06启动了Joournalnode与QuorumPeerMain
7.初始化文件系统HDFS(格式化文件系统)(在master01上执行即可)
hdfs namenode -format
格式化成功后会多出一个tmp目录
scp -r tmp/ master02:/master/hadoop-2.2.0/
8.格式化ZK(在master01上执行即可)
hdfs zkfc -formatZK
在zk上多的目录 cd /master/zookeeper-3.4.5/bin
./zkServer.sh
./zkServer.sh status
./zkCli.sh
ls / rmr /hadoop123
多了一个hadoop-ha目录
9.启动HDFS(在master01上执行)
cd /master/hadoop-2.2.0/sbin
./start-dfs.sh
jps
masterO1与master02启动了 NameNode与DFSZKFailoverController
masterO4.05.06启动了DataNode
10.启动YARN(在master03上执行)
cd /master/hadoop-2.2.0/sbin
./start-yarn.sh
jps
masterO3上启动了ResourceManager
masterO4.05.06启动了NodeManager
masterO1
1万+

被折叠的 条评论
为什么被折叠?



