您好,登錄后才能下訂單哦!
四臺機器 bei1 bei2 bei3 bei4
NN | DN | ZK | ZKFC | JN | RM | NM(任務管理) | |
bei1 | Y | Y | Y | ||||
bei2 | Y | Y | Y | Y | Y | Y | Y |
bei3 | Y | Y | Y | Y | |||
bei4 | Y | Y | Y |
1、升級組件以及關閉防火墻
yum -y update
PS: 如果使用本地yum源可省略該項
新開終端在升級組件的同時操作減少等待時間
# service iptables stop
# chkconfig iptables off
2、修改/etc/hosts文件中IP與主機映射關系
# 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 默認網卡MAC生成規則文件
# rm -rf /etc/udev/rules.d/70-persistent-net.rules
PS:如果是其它NODE節點不是虛擬機克隆或者源虛擬機復制的可省略第3、4兩項
5、yum升級后重啟主機
6、準備環境
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 用于節點間通信 我選用的是CentOS6.7的版本默認已經安裝了openssh
rsync 用于遠程同步
ntp 用于時間同步
6.2、當6.1中第一個yum安裝完成后新開終端進行NTP時間同步該項很重要
6.2.1 配置ntp啟動項
chkconfig ntpd on
6.2.2 同步時間
ntpdate ntp.sjtu.edu.cn
6.2.3 啟動ntpd服務
/etc/init.d/ntpd start
6.2.4 驗證ntp服務已經運行
pgrep ntpd
6.2.5 初始同步
ntpdate -u ntp.sjtu.edu.cn
6.2.6 確認同步成功
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安裝目錄默認為/usr/java/jdk1.7.0_79
7.4 配置jdk環境變量
# 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生效執行以下命令
source ~/.bash_profile
檢查環境變量
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 創建hadoop.tmp.dir目錄及創建
# 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 網關 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 創建本地秘鑰并將公共秘鑰寫入認證文件
# 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文件復制到各節點上
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文件默認 hadoop取不到用戶環境變量里的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目錄中創建一個myid的文件,文件內容為1,2,3
12、配置hadoop中的slaves 其中放置的是NN
*******這一步開始要認真按步驟做,若修改配置文件了,服務需要重啟*******
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、把剛剛格式化之后的元數據拷貝到另外一個namenode上
16.1啟動剛剛格式化的namenode :hadoop-daemone.sh start namenode
16.2在沒有格式化的namenode上執行:hdfs namenode -bootstrapStandby
16.3啟動第二個namenode
17、在其中一個namenode上初始化zkfc:hdfs zkfc -formatZK
18、停止上面節點:stop-dfs.sh
19、全面啟動:start-dfs.sh
20、登錄頁面jps檢查 登錄頁面檢查
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。