Hadoop2.6..0 HA高可靠性集羣搭建(Hadoop+Zookeeper)

1.  關閉防火牆
vi  /etc/selinux/config
在 SELINUX=enforcing 前面加個#號註釋掉它
#SELINUX=enforcing
然後新加一行SELINUX=disabled
保存,退出,重啓系統,就可以徹底關閉firewall了。
2.  修改IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0  
 #編輯配置文件,添加修改以下內容
BOOTPROTO=static  #啓用靜態IP地址
 ONBOOT=yes #開啓自動啓用網絡連接
 IPADDR=192.168.1.100  #設置IP地址
 NETMASK=255.255.255.0  #設置子網掩碼
 GATEWAY=192.168.1.1   #設置網關
==重啓網絡連接
service network restart 
3.  設置機器hostname別名
# 當前ssh窗口即可生效
hostname master   
# 每次重啓以後均生效
vi /etc/sysconfig/network       
HOSTNAME=master
4.Hosts映射關係
三臺機器上面分別都執行操作 vi /etc/hosts 添加如下內容
192.168.1.100 master
192.168.1.101 slave01
192.168.1.102 slave02
5.SSH免密登錄設置
生成公鑰和私鑰
  ssh-keygen -t rsa
導入公鑰到認證文件
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  
    scp ~/.ssh/id_rsa.pub xxx@host:/home/xxx/id_rsa.pub  
    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys 
 更改權限
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys  
6.安裝jdk
1、解壓 rpm -ivh  jdk-8u111-linux-x64.rpm 
7.安裝Hadoop
這是下載後的hadoop-2.6.0.tar.gz壓縮包,   
7.1、解壓 tar -xzvf hadoop-2.6.0.tar.gz 
7.2、配置hadoop
主要涉及的配置文件有7個
hadoop-env.sh
yarn-env.sh
slaves
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
7.3、配置 hadoop-env.sh文件-->修改JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_111
7.4、配置 yarn-env.sh 文件-->>修改JAVA_HOME
 export JAVA_HOME=/usr/java/jdk1.8.0_111
7.5、配置slaves文件-->>增加slave節點 
master
salve1
salve2
7.6、配置 core-site.xml文件-->>增加hadoop核心配置
 <property>
<name>fs.defaultFS</name>
<value>hdfs://ns</value>
 </property>

 <property>
<name>hadoop.tmp.dir</name>
<value>file:/tmp</value>
 </property>

 <property>    
<name>ha.zookeeper.quorum</name>    
<value>master:2181,salve1:2181,salve2:2181</value>   
 </property>

7.7、配置  hdfs-site.xml 文件-->>增加hdfs配置信息(namenode、datanode端口和目錄位置)
<configuration> 
<property>
<name>dfs.nameservices</name>
<value>ns</value>
</property>
<property>
<name>dfs.ha.namenodes.ns</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns.nn1</name>
<value>master:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns.nn1</name>
<value>master:50070</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns.nn2</name>
<value>salve1:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns.nn2</name>
<value>salve1:50070</value>
</property>

<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master:8485;salve1:8485/ns</value>
</property>

<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/hadoop/journal</value>
</property>

<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>

<property>
<name>dfs.client.failover.proxy.provider.ns</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>/home/centos/.ssh/id_rsa</value>
</property>

    <property>   
        <name>dfs.namenode.name.dir</name>   
        <value>file:/opt/hadoop/dfs/name</value>  
    </property> 

<property>   
<name>dfs.datanode.data.dir</name>   
<value>file:/opt/hadoop/dfs/data</value>  
</property> 
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
7.8、配置  mapred-site.xml 文件-->>增加mapreduce配置
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
 </property>
7.9、配置   yarn-site.xml  文件-->>增加yarn功能
<configuration>
<property>    
 <name>yarn.resourcemanager.hostname</name>    
 <value>master</value>    
</property>
<!--【自定義ResourceManager的地址,還是單點】-->
  <property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
  </property>
</configuration>
7.10、將配置好的hadoop文件copy到另一臺slave機器上
scp -r hadoop-2.6.0/ root@salve1-hadoop:~/opt/
scp -r hadoop-2.6.0/ root@salve2-hadoop:~/opt/

8.Zookeeper安裝過程:
8.1、下載解壓zookeeper
下載地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/
解壓到指定目錄:這裏目錄:/opt
在hadoop目錄中創建app目錄。把文件解壓到hadoop的app目錄中,是爲了以後整個項目可以整體移植。包括後面,我們會安裝HBase、Hive等軟件,都是解壓到app的目錄中。
8.2、修改配置文件
8.2.1進入zookeeper中conf目錄:
拷貝命名zoo_sample.cfg 爲zoo.cfg。我們一般不修改配置文件默認的示例文件,修改賦值其子文件。
編輯zoo.cfg
拷貝命名zoo_sample.cfg 爲zoo.cfg。我們一般不修改配置文件默認的示例文件,修改賦值其子文件。
       編輯zoo.cfg
       tickTime=2000       initLimit=10       syncLimit=5       dataDir=/home/tom/yarn/hadoop-2.5.0/app/zookeeper-3.4.6/zkdata       dataLogDir=/home/tom/yarn/hadoop-2.5.0/app/zookeeper-3.4.6/zkdatalog       clientPort=2181       server.1=hadoop1:2888:3888       server.2=hadoop2:2888:3888        server.3=hadoop3:2888:3888       server.4=hadoop4:2888:3888       server.5=hadoop5:2888:3888

8.2.2創建zkdata和zkdatalog兩個文件夾
8.2.3添加到環境變量

9集羣的啓動

9.1 啓動zookeeper集羣
分別在master、salve1、salve2上執行如下命令啓動zookeeper集羣; 
sh zkServer.sh start  
  驗證集羣zookeeper集羣是否啓動,分別在master、salve1、salve2上執行如下命令驗證 zookeeper集羣是否啓動,集羣啓動成功,有兩個follower節點跟一個leader節點; 
  sh zkServer.sh status  
JMX enabled by default  
Using config: /home/hadoop/zookeeper/zookeeper-3.3.6/bin/../conf/zoo.cfg  
Mode: follower  
 9.2 啓動journalnode集羣
在master上執行如下命令完成JournalNode集羣的啓動 
sbin/hadoop-daemons.sh start journalnode  
 執行jps命令,可以查看到JournalNode的java進程pid
9.3 格式化zkfc,讓在zookeeper中生成ha節點
在mast1上執行如下命令,完成格式化
hdfs zkfc –formatZK  
  (注意,這條命令最好手動輸入,直接copy執行有可能會有問題,當時部署時我是蛋疼了許久)
  格式成功後,查看zookeeper中可以看到
[zk: localhost:2181(CONNECTED) 1] ls /hadoop-ha  
[ns]  
 
9.4 格式化hdfs
hadoop namenode –format  
  (注意,這條命令最好手動輸入,直接copy執行有可能會有問題)
9.5 啓動NameNode
首先在master上啓動active節點,在master上執行如下命令
sbin/hadoop-daemon.sh start namenode  
 在salve1上同步namenode的數據,同時啓動standby的namenod,命令如下
#把NameNode的數據同步到mast2上  
hdfs namenode –bootstrapStandby  
#啓動mast2上的namenode作爲standby  
sbin/hadoop-daemon.sh start namenode  
 
9.6 啓動啓動datanode
在master上執行如下命令
sbin/hadoop-daemons.sh start datanode   
9.7 啓動year  
在作爲資源管理器上的機器上啓動,我這裏是mast3,執行如下命令完成year的啓動
sbin/start-yarn.sh
 
9.8 啓動ZKFC
在master上執行如下命令,完成ZKFC的啓動
sbin/hadoop-daemons.sh start zkfc  
全部啓動完後分別在master,salve1,salve2上執行jps是可以看到下面這些進程的 
10.測試HA的高可用性
啓動後master的namenode和salve1的namenode如下所示:


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