三臺機器配置hadoop高可用 HA

首先配置集羣信息,在這裏不在詳細闡述
mini1 192.168.28.10
mini2 192.168.28.11
mini3 192.168.28.12
1.安裝zookeeper
1.1下載zookeeper:鏈接:https://pan.baidu.com/s/13EXGGuOyvBDKUjpyRcq9uA 密碼:zf0r
文件夾內爲zookeeper安裝包與hadoop安裝包
使用CRT中alt+p快捷鍵或rz命令將本地文件zookeeper-3.4.10.tar.gz上傳到/home/hadoop/zookeeper 文件夾內,使用tar -zxvf zookeeper-3.4.10.tar.gz -C /home/hadoop/zookeeper將文件解壓配置/etc/profile將zookeeper路徑用export添加至最後 vi /etc/profile 末尾export ZOOKEEP_HOME=/home/hadoop/zookeeper/zookeeper-3.4.10
同樣export PATH=PATH: ZOOKEEPER_HOME/bin
1.2修改配置文件
cd /home/hadoop/zookeeper/zookeeper-3.4.10/conf/
將zoo_sample.cfg 命名爲zoo.cfg
mv zoo_sample.cfg zoo.cfg 進入zoo.cfg vi zoo.cfg
修改:dataDir= /home/hadoop/zookeeper/zookeeper-3.4.10/tmp
在最後添加:
server.1=mini1:2888:3888
server.2=mini2:2888:3888
server.3=mini3:2888:3888
新建tmp文件夾 mkdir -p /home/hadoop/zookeeper/zookeeper-3.4.10/tmp
將id寫入 /home/hadoop/zookeeper/zookeeper-3.4.10/tmp/myid
mini1: echo 1 > /home/hadoop/zookeeper/zookeeper-3.4.10/tmp/myid
將zookeeper文件考到其他節點
scp -r /home/hadoop/zookeeper/ mini2:/home/hadoop/
scp -r /home/hadoop/zookeeper/ mini3:/home/hadoop/
修改id
mini1: echo 2> /home/hadoop/zookeeper/zookeeper-3.4.10/tmp/myid
mini1: echo 3 > /home/hadoop/zookeeper/zookeeper-3.4.10/tmp/myid
2.安裝hadoop
2.1步驟同1.1修改 /etc/profile
2.2修改配置
2.2.1
修改hadoo-env.sh
export JAVA_HOME=/root/apps/jdk1.7.0_76
2.2.2修改core-site.xml

<configuration>



<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hdpdata</value>
</property>

<property>
<name>ha.zookeeper.quorum</name>
<value>mini1:2181,mini2:2181,mini3:2181</value>
</property>

</configuration>

2.2.3修改hdfs-site.xml


<configuration>
<property>    
    <name>dfs.replication</name>    
    <value>2</value>    
  </property>    
  <property>    
    <name>dfs.namenode.name.dir</name>    
    <value>file:///home/hadoop/apps/hadoop-2.5.0/name</value>    
  </property>    
  <property>    
    <name>dfs.datanode.data.dir</name>    
    <value>file:///home/hadoop/apps/hadoop-2.5.0/data</value>    
  </property>    
  <property>  
    <name>dfs.webhdfs.enabled</name>  
    <value>true</value>  
    <!-- 在NN和DN上開啓WebHDFS (REST API)功能,不是必須 -->   
  </property>  

                                        <!--指定hdfs的nameservice爲ns1,需要和core-site.xml中的保持一致 -->
                                        <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>mini1:9000</value>
                                        </property>
                                        <!-- nn1的http通信地址 -->
                                        <property>
                                                <name>dfs.namenode.http-address.ns1.nn1</name>
                                                <value>mini1:50070</value>
                                        </property>
                                        <!-- nn2的RPC通信地址 -->
                                        <property>
                                                <name>dfs.namenode.rpc-address.ns1.nn2</name>
                                                <value>mini2:9000</value>
                                        </property>
                                        <!-- nn2的http通信地址 -->
                                        <property>
                                                <name>dfs.namenode.http-address.ns1.nn2</name>
                                                <value>mini2:50070</value>
                                        </property>
                                        <!-- 指定NameNode的元數據在JournalNode上的存放位置 -->
                                        <property>
                                                <name>dfs.namenode.shared.edits.dir</name>
                                                <value>qjournal://mini1:8485;mini2:8485;mini3:8485/ns1</value>
                                        </property>
                                        <!-- 指定JournalNode在本地磁盤存放數據的位置 -->
                                        <property>
                                                <name>dfs.journalnode.edits.dir</name>
                                                <value>/home/hadoop/apps/hadoop-2.5.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>/home/hadoop/.ssh/id_rsa</value>
                                        </property>
                                        <!-- 配置sshfence隔離機制超時時間 -->
                                        <property>
                                                <name>dfs.ha.fencing.ssh.connect-timeout</name>
                                                <value>30000</value>
                                        </property>

建立datanode與namenode所需要的目錄
2.2.4修改mapred-site.xml

<configuration>
                    <!-- 指定mr框架爲yarn方式 -->
                    <property>
                        <name>mapreduce.framework.name</name>
                        <value>yarn</value>
                    </property>
                </configuration>

2.2.5修改yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<!-- 開啓RM高可靠 -->
                                                <property>
                                                   <name>yarn.resourcemanager.ha.enabled</name>
                                                   <value>true</value>
                                                </property>
                                                <!-- 指定RM的cluster id -->
                                                <property>
                                                   <name>yarn.resourcemanager.cluster-id</name>
                                                   <value>yrc</value>
                                                </property>
                                                <!-- 指定RM的名字 -->
                                                <property>
                                                   <name>yarn.resourcemanager.ha.rm-ids</name>
                                                   <value>rm1,rm2</value>
                                                </property>
                                                <!-- 分別指定RM的地址 -->
                                                <property>
                                                   <name>yarn.resourcemanager.hostname.rm1</name>
                                                   <value>mini1</value>
                                                </property>
                                                <property>
                                                   <name>yarn.resourcemanager.hostname.rm2</name>
                                                   <value>mini2</value>
                                                </property>
                                                <!-- 指定zk集羣地址 -->
                                                <property>
                                                   <name>yarn.resourcemanager.zk-address</name>
                                                   <value>mini1:2181,mini2:2181,mini3:2181</value>
                                                </property>
                                                <property>
                                                   <name>yarn.nodemanager.aux-services</name>
                                                   <value>mapreduce_shuffle</value>
                                                </property>


</configuration>

2.2.6修改slaves
mini2
mini3
2.2.7免密配置
ssh-keygen
一路回車
ssh-copy-id mini2
ssh-copy-id mini3
2.2.8拷貝hadoop到其他機器
scp -r /home/hadoop/apps/hadoop-2.5.0 hadoop@mini2:/home/hadoop/apps/
scp -r /home/hadoop/apps/hadoop-2.5.0 hadoop@mini3:/home/hadoop/apps/

3.啓動
3.1啓動zookeeper集羣
ZOOKEEPERHOMEcdbin/zkServer.shstart3.2journalnode HADOOP_HOME查看路徑
cd到此處sbin/hadoop-daemon.sh start journalnode
3.3格式化HDFS
hdfs namenode -format
格式化會根據core-site.xml中的hadoop.tmp.dir配置生成個文件,將mini1:/home/hadoop/hdpdata拷貝到mini2:/home/hadoop/hdpdata下
3.4格式化ZK
hdfs zkfc -formatZK
3.5啓動HDFS
sbin/start-dfs.sh
3.6啓動YARN
sbin/start-yarn.sh

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章