溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hadoop HA 搭建

發(fā)布時間:2020-07-19 20:01:56 來源:網(wǎng)絡(luò) 閱讀:454 作者:NShuai 欄目:大數(shù)據(jù)

四臺機器 bei1 bei2 bei3 bei4


NNDNZKZKFCJNRM

NM(任務(wù)管理)

bei1 Y
YY


bei2 YYYYY
YY
bei3 
YY
Y
Y
bei4
Y

Y
Y

1、升級組件以及關(guān)閉防火墻

    yum -y update

      PS: 如果使用本地yum源可省略該項

      新開終端在升級組件的同時操作減少等待時間

    # service iptables stop

    # chkconfig iptables off

2、修改/etc/hosts文件中IP與主機映射關(guān)系 

    # vi /etc/hosts

192.168.31.131 bei1

192.168.31.132 bei2

192.168.31.133 bei3

192.168.31.134 bei4

3、如果是虛擬機修改/etc/sysconfig/network-scripts/ifcfg-eth0刪除UUID和MAC地址

    # vi /etc/sysconfig/network-scripts/ifcfg-eth0

4、刪除/etc/udev/rules.d/70-persistent-net.rules 默認(rèn)網(wǎng)卡MAC生成規(guī)則文件

    # rm -rf /etc/udev/rules.d/70-persistent-net.rules 

      PS:如果是其它NODE節(jié)點不是虛擬機克隆或者源虛擬機復(fù)制的可省略第3、4兩項

5、yum升級后重啟主機

6、準(zhǔn)備環(huán)境

6.1、yum -y install gcc gcc-c++ autoconf automake cmake ntp rsync ssh vim

yum -y install zlib zlib-devel openssl openssl-devel pcre-devel

PS:以上一些程序可能對于hadoop并不需要但為了以后安裝其它程序可能會用到尤其是源碼安裝

其中重要的三個程序是必須安裝的

ssh 用于節(jié)點間通信 我選用的是CentOS6.7的版本默認(rèn)已經(jīng)安裝了openssh

rsync 用于遠程同步

ntp 用于時間同步

6.2、當(dāng)6.1中第一個yum安裝完成后新開終端進行NTP時間同步該項很重要

6.2.1 配置ntp啟動項

chkconfig ntpd on

6.2.2 同步時間

ntpdate ntp.sjtu.edu.cn

6.2.3 啟動ntpd服務(wù)

/etc/init.d/ntpd start

6.2.4 驗證ntp服務(wù)已經(jīng)運行

pgrep ntpd

6.2.5 初始同步

ntpdate -u ntp.sjtu.edu.cn

6.2.6 確認(rèn)同步成功

ntpq -p

PS:可以一次性輸入以上命令

chkconfig ntpd on

ntpdate ntp.sjtu.edu.cn

/etc/init.d/ntpd start

pgrep ntpd

ntpdate -u ntp.sjtu.edu.cn

ntpq -p

等待6.2.1yum成功后建議重啟主機


7、安裝jdk

    7.1 將jdk考到家目錄中

    7.2 rpm -ivh jdk_xxxxxxxx.rpm

    7.3 jdk安裝目錄默認(rèn)為/usr/java/jdk1.7.0_79

    7.4 配置jdk環(huán)境變量

       # vim ~/.bash_profile

增加以下四行

export JAVA_HOME=/opt/sxt/soft/jdk1.7.0_80

export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/opt/sxt/soft/hadoop-2.5.1

export PATH=$PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin

編輯完成后使用source命令使文件~/.bash_profile生效執(zhí)行以下命令

source ~/.bash_profile

檢查環(huán)境變量

printenv

8、安裝tomcat (這步可省略,不過以后肯定有用)

    將tomcat拷貝到/opt/sxt下解壓

        # tar -zxvf apache-tomcat-xxxxx.tar.gz

9、將Hadoop 上傳到/opt/sxt

# tar -zxvf hadoop-2.5.1_x64.tar.gz

    9.1 創(chuàng)建hadoop.tmp.dir目錄及創(chuàng)建

# mkdir -p /opt/hadooptmp

    9.2 etc/hadoop/core-site.xml:

<property>

     <name>fs.defaultFS</name>

     <value>hdfs://bjsxt</value>

</property>

<property>

       <name>ha.zookeeper.quorum</name>

           <value>bei1:2181,bei2:2181,bei3:2181</value>

</property>

<property>

   <name>hadoop.tmp.dir</name>

   <value>/opt/hadooptmp</value>

<!-- 臨時文件地址 -->

</property>

    9.3 etc/hadoop/hdfs-site.xml:

<property>

 <name>dfs.nameservices</name>

 <value>bjsxt</value>

</property>

<property>

 <name>dfs.ha.namenodes.bjsxt</name>

 <value>nn1,nn2</value>

</property>

<property>

 <name>dfs.namenode.rpc-address.bjsxt.nn1</name>

 <value>bei1:8020</value>

</property>

<property>

 <name>dfs.namenode.rpc-address.bjsxt.nn2</name>

 <value>bei2:8020</value>

</property>

<property>

 <name>dfs.namenode.http-address.bjsxt.nn1</name>

 <value>bei1:50070</value>

</property>

<property>

 <name>dfs.namenode.http-address.bjsxt.nn2</name>

 <value>bei2:50070</value>

</property>

<property>

 <name>dfs.namenode.shared.edits.dir</name>

 <value>qjournal://bei2:8485;bei3:8485;bei4:8485/bjsxt</value>

</property>

<property>

 <name>dfs.client.failover.proxy.provider.bjsxt</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.journalnode.edits.dir</name>

 <value>/opt/hadooptmp/data</value>

<!-- jn 臨時文件地址 -->

</property>

<property>

  <name>dfs.ha.automatic-failover.enabled</name>

  <value>true</value>

</property>

    9.4 克隆

    9.5 修改主機名 IP 網(wǎng)關(guān) mac

修改主機名

vim /etc/sysconfig/network

修改IP地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改DNS

vi /etc/resolv.conf 中的search ,nameserver

10、檢查ssh本地免密碼登錄

    10.1 第一次檢查

ssh localhost

PS:遠程成功后記得exit退出

    10.2 創(chuàng)建本地秘鑰并將公共秘鑰寫入認(rèn)證文件

# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

        # cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    10.3 再次檢查

ssh localhost

PS:同樣exit退出

    10.4 在NameNode上將~/.ssh/authorized_keys文件復(fù)制到各節(jié)點上

scp ~/.ssh/authorized_keys root@hadoopsnn:~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys root@hadoopdn1:~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys root@hadoopdn2:~/.ssh/authorized_keys

    10.5 編寫/opt/sxt/soft/hadoop-2.5.1/etc/hadoop/hadoop-env.sh文件默認(rèn) hadoop取不到用戶環(huán)境變量里的JAVA_HOME所以要手動指定

vim /opt/sxt/soft/hadoop-2.5.1/etc/hadoop/hadoop-env.sh

找到export JAVA_HOME=${JAVA_HOME}

修改為export JAVA_HOME=/opt/sxt/soft/jdk1.7.0_80

增加以下一行

export HADOOP_PREFIX=/opt/sxt/soft/hadoop-2.5.1

11、 配置安裝zookeeper

    11.1 三臺zookeeper:bei1,bei2,bei3

    11.2 編輯zoo.cfg配置文件

修改dataDir=/opt/sxt/zookeeperdatadir

 tickTime=2000

 dataDir=/opt/sxt/zookeeperdatadir

 clientPort=2181

 initLimit=5

 syncLimit=2

 server.1=bei1:2888:3888

 server.2=bei2:2888:3888

 server.3=bei3:2888:3888

    11.3 在dataDir目錄中創(chuàng)建一個myid的文件,文件內(nèi)容為1,2,3

12、配置hadoop中的slaves  其中放置的是NN

*******這一步開始要認(rèn)真按步驟做,若修改配置文件了,服務(wù)需要重啟*******

13、啟動三個zookeeper:/opt/sxt/zookeeper-3.4.6/bin/zkServer.sh start

14、啟動三個JournalNode:./hadoop-daemon.sh start journalnode

15、在其中一個namenode上格式化:bin/hdfs namenode -format

16、把剛剛格式化之后的元數(shù)據(jù)拷貝到另外一個namenode上

16.1啟動剛剛格式化的namenode :hadoop-daemone.sh start namenode

16.2在沒有格式化的namenode上執(zhí)行:hdfs namenode -bootstrapStandby

16.3啟動第二個namenode

17、在其中一個namenode上初始化zkfc:hdfs zkfc -formatZK

18、停止上面節(jié)點:stop-dfs.sh

19、全面啟動:start-dfs.sh

20、登錄頁面jps檢查 登錄頁面檢查








向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI