### 一、准备工作
1.在四台节点上安装JDK以及Hadoop
2.在node02、node03、node04节点上安装Zookeeper
3.节点配置分布如下???
### 二、配置JDK、Hadoop、以及Zookeeper环境变量
在四台节点上配置好JDK、Hadoop以及ZookeeperZookeeper环境变量并重新加载profile文件
### 三、配置免密钥
免密钥场景1:
将node01作为管理节点的启动脚本,需要配置node01节点免密钥登录其他三台节点
免密钥场景2:
node01节点发生故障时,需要node02代替node01继续运行,所以需要node02节点免密钥登录node01
1)在node01节点执行以下操作:
ssh-keygen -t dsa -P '' -f /root/.ssh/id_dsa
cd ~/.ssh
scp id_dsa.pub node02:`pwd`/node01.pub
scp id_dsa.pub node03:`pwd`/node01.pub
scp id_dsa.pub node04:`pwd`/node01.pub
2)再到node02执行以下操作:
cd ~/.ssh
cat node01.pub >> authorized_key
3)在node03和node04中重复第二步步骤
4)在node02节点执行以下操作:
ssh-keygen -t dsa -P '' -f /root/.ssh/id_dsa
cd ~/.ssh
cat id_dsa.pub >> authorized_key
### 三、配置Zookeeper
1.进入Zookeeper目录下得到conf目录,拷贝zoo_sample.cfg文件改名为zoo.cfg
2.vim zoo.cfg 按照下图进行修改
3.使用命令zkServer.sh start 在node02、node03、node04启动Zookeeper
### 四、在node01节点配置Hadoop
1.修改 hadoop-env.sh / mapred-env.sh / yarn-env.sh
cd $HADOOP_HOME
cd etc/hadoop
vim hadoop-env.sh
按照下图修改JDK绝对路径
mapred-env.sh 和 yarn-env.sh同理修改文件里的JAVA_HOME
2.修改hdfs-site.xml 根据下图以及自己的节点名称进行修改
-----------------------------------上面的配置文件内容开始---------------------------------------
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>node01:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>node02:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>node01:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>node02:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://node01:8485;node02:8485;node03:8485/mycluster</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/var/sxt/hadoop/ha/jn</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_dsa</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
-----------------------------------上面的配置文件内容结束---------------------------------------
3.修改core-site.xml 根据下图以及自己的节点名称进行修改
-----------------------------------上面的配置文件内容开始---------------------------------------
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop/ha</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>node02:2181,node03:2181,node04:2181</value>
</property>
-----------------------------------上面的配置文件内容结束---------------------------------------
4.修改slaves文件,配置datenode启动的节点
5.拷贝mapred-site.xml.template 改名为 marpred-site.xml ,然后 vim marpred-site.xml ,添加如下配置
-----------------------------------上面的配置文件内容开始---------------------------------------
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
-----------------------------------上面的配置文件内容结束---------------------------------------
6.vim yarn-site.xml 根据下图及自己节点名称添加如下配置
-----------------------------------上面的配置文件内容开始---------------------------------------
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>node003</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>node004</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>node002:2181,node003:2181,node004:2181</value>
</property>
-----------------------------------上面的配置文件内容结束---------------------------------------
7.从node01节点拷贝hdfd-site.xml、core-site.xml以及slaves文件到其他三台节点上
scp hdfs-site.xml core-site.xml slaves mapred-site.xml yarn-site.xml node02:`pwd`
scp hdfs-site.xml core-site.xml slaves mapred-site.xml yarn-site.xml node03:`pwd`
scp hdfs-site.xml core-site.xml slaves mapred-site.xml yarn-site.xml node04:`pwd`
### 五、部署
1.在node02、node03、node04分别启动journalnode hadoop-daemon.sh start journalnode
2.在node01格式化 hdfs namenode -format
3. 查看结果,successful表示成功
4.在node01节点启动namenode hadoop-daemon.sh start namenode
5.在node02节点将namenode同步数据 hdfs namenode -bootstrapStandby
6.在node01节点让zkfc格式化 Zookeeper hdfs zkfc -formatZK
7.启动hdfs!!! start-dfs.sh
8.使用jps查看是否启动成功/或使用 主机名:50070 查看web界面,active表示启动成功!!!
9.启动yarn!!! start-yarn.sh
10.在node03和node04手动启动resourcemanager yarn-daemon.sh start resourcemanager
11.使用jps查看启动的进程
12.在网址输入node03:8088进入yarn web界面,能看到则表示启动成功!
文章评论