国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

Hadoop系列之實驗環境搭建

2024-06-28 13:23:43
字體:
來源:轉載
供稿:網友
Hadoop系列之實驗環境搭建實驗環境基本配置

硬件:硬盤單節點50GB,1G內存,單核。

操作系統:CentOS6.4 64bit

Hadoop:2.20 64bit(已編譯)

JDK:jdk1.7

磁盤分區:

/

5GB

/boot

100MB

/usr

5GB

/tmp

500MB

swap

2GB

/var

1GB

/home

剩余空間

linux系統安裝配置

無桌面(Minimal)

Base SystemàBase, Compatibility libraries, Performance Tools, Perl Support

Developmentà Development Tools

LanguagesàChinese Support

創建Hadoop用戶

Useradd Hadoop

Passwd Hadoop

網絡配置修改ip

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

保存并重啟網絡service network restart

修改主機名

Vim /etc/sysconfig/network

主機名和IP綁定

Vim /etc/host

關閉防火墻

查看狀態service iptables status

關閉防火墻service iptables stop

查看防火墻開機啟動狀態 chkconfig iptables –list

關閉防火墻開機啟動 chkconfig iptables off

關閉SELinux

Vim /etc/sysconfig/selinux

Setenforce 0

Getenforce

SSH免登陸設置

使用hadoop用戶生成公鑰和私鑰:ssh-keygen –t rsa

將授權發送給Slave1..5:ssh-copy –i Slave1

同樣,也將Slave1…5對Master進行免密登錄

為了保證S1到Master通信,同樣配置S1到Master免登陸

安裝JDK

將jdk1.7解壓縮到/usr/local/目錄下,并改名為jdk

修改/etc/PRofile文件

主機名

IP

安裝的軟件

運行的進程

Master

172.20.52.151

jdk、hadoop

NameNode、DFSZKFailoverController

Slave1

172.20.52.171

jdk、hadoop

ResourceManager

Slave2

172.20.52.21

jdk、hadoop、

NameNode、DFSZKFailoverController

Slave3

172.20.53.37

jdk、hadoop、zookeeper

DataNode、NodeManager、JournalNode、QuorumPeerMain

Slave4

172.20.53.174

jdk、hadoop、zookeeper

DataNode、NodeManager、JournalNode、QuorumPeerMain

Slave5

172.20.53.177

jdk、hadoop、zookeeper

DataNode、NodeManager、JournalNode、QuorumPeerMain

JournalNode負責數據同步,QuorumPeerMain是zk的進程。

namenode節點上/usr/hadoop/tmp/dfs/name/current/ 目錄下存放了fsimage文件,塊位置信息不會保存在fsimage中,塊位置信息并不是由namenode來維護的,而是以塊列表的形式放在datanode上。

而datanode節點上/usr/hadoop/tmp/dfs/data/current/ 目錄下存放了文件塊

Zookeeper的安裝

  zk用于協調管理數據節點,可以進行master選舉,負載均衡,分布式鎖等。

  在S3,S4,S5節點上安裝zookeeper:

  • S3上使用root用戶登錄,把zookeeper解壓到/usr/local/下:

tar -zxvf zookeeper-3.4.5.tar.gz -C /usr/local/

  • 進入到zookeeper目錄下,對它進行配置。
  • 將conf目錄下的zoo_sample.cfg重命名為zoo.cfg:

mv zoo_sample.cfg zoo.cfg,用來zookeeper啟動時讀取

  • 在/usr/local/ zookeeper-3.4.5/data創建文件myid,寫入服務器id:1
  • 修改zoo.cfg中日志存放路徑到/usr/local/ zookeeper-3.4.5/data(記得創建data目錄并創建myid文件),如下:

  • 在文件最后添加如下信息:

服務器ID:server.1

Zookeeper運行的主機:Slave3..5

通信端口:2888

選舉端口:3888

  • 將配置好的zookeeper用scp發送給S4,S5

scp –r /usr/local/ zookeeper-3.4.5/ root@Slave4: /usr/local/ zookeeper-3.4.5/

scp –r /usr/local/ zookeeper-3.4.5/ root@Slave5: /usr/local/ zookeeper-3.4.5/

別忘了修改myid文件中的服務器號

  • 啟動三個節點的zk:

調用bin目錄下的zkServer.sh腳本命令:./ zkServer.sh start

  • 查看狀態./ zkServer.sh status

三個節點只有一個為leader,其余為follower

安裝hadoop

將編譯好的hadoop-2.2.0.tar.gz上傳至Master,用root用戶解壓到/usr目錄下,改名為hadoop

  • 在hadoop目錄下創建tmp文件夾(可省略)

mkdir tmp

  • 設置hadoop目錄的所有者為hadoop:

chown –R Hadoop:hadoop Hadoop

  • 將hadoop添加到環境變量中vim /etc/profile

其余幾個節點也如此配置。

配置hadoop
  • 配置HDFS(hadoop2.0所有的配置文件都在$HADOOP_HOME/etc/hadoop目錄下)

export java_HOME=/usr/local/jdk

export HADOOP_HOME=/usr/hadoop

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

修改/usr/Hadoop/etc/Hadoop/目錄下的配置文件
  • 配置hadoop運行環境,修改hadoo-env.sh:

  • 修改core-site.xml

Hadoop.tmp.dir參數雖然稱為臨時目錄,其實保存的是以后hdfs的數據,nameservice指定了該HDFS集群的名稱為ns1

  • 修改hdfs-site.xml文件

<configuration>

<!--指定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>Master:9000</value>

</property>

<!-- nn1的http通信地址 -->

<property>

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

<value>Master:50070</value>

</property>

<!-- nn2的RPC通信地址 -->

<property>

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

<value>Slave1:9000</value>

</property>

<!-- nn2的http通信地址 -->

<property>

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

<value>Slave1:50070</value>

</property>

<!-- 指定NameNode的元數據在JournalNode上的存放位置 -->

<property>

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

<value>qjournal://Slave3:8485;Slave4:8485;Slave5:8485/ns1</value>

</property>

<!-- 指定JournalNode在本地磁盤存放數據的位置 -->

<property>

<name>dfs.journalnode.edits.dir</name>

<value>/usr/hadoop/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</value>

</property>

<!-- 使用隔離機制時需要ssh免登陸 -->

<property>

<name>dfs.ha.fencing.ssh.private-key-files</name>

<value>/home/hadoop/.ssh/id_rsa</value>

</property>

</configuration>

  • 重命名mapred-site.xml.template為mapred-site.xml并配置如下

說明MR框架運行在yarn之上

  • 配置子節點文件:slaves

DN為S3,S4,S5

  • 將配置好的hadoop復制到其他節點上(root)

scp –r /usr/Hadoop/ Slave1:/usr/Hadoop/

復制后應修改權限:chown –R Hadoop:hadoop Hadoop

啟動hadoop
  • 啟動zookeeper:

bin/ zkServer.sh start

  • 啟動journalnode(在Master上啟動所有journalnode)

cd /usr/hadoop

sbin/hadoop-daemons.sh start journalnode 通過ssh協議同時啟動多個進程

(運行jps命令檢驗,多了JournalNode進程)

  • 格式化HDFS

在Master上執行命令:hadoop namenode –format

此時將Master中tmp目錄拷貝到Slave1的/usr/Hadoop/下:

scp –r /usr/Hadoop/tmp Slave1:/usr/Hadoop/ 這里面存放了fsimage和edits文件

  • 格式化ZK(在Master上執行):hdfs zkfc –formatZK

此時,在S3..S5節點上的zk的bin目錄下執行./zkCli.sh命令,可以發現多出hadoop-ha的目錄用于保存數據。

  • 啟動HDFS(在Master上執行):

sbin/start-dfs.sh

如果一個NameNode掛掉,重新啟動要使用命令sbin/Hadoop-deamon.sh start namenode,要保證兩個NameNode要ssh免密碼登錄。

  • 在Slave2上啟動yarn:sbin/start-yarn.sh yarn的web管理界面端口為8088

注:

關于修改虛擬機網卡
  • 修改 /etc/udev/rules.d/70-persistent-net.rules 文件

刪除掉 關于 eth0 的信息。修改 第二條 eth1 的網卡的名字為 eth0.

  • 修改 /etc/sysconfig/network-scripts/ifcfg-eth0 中mac地址為 /etc/udev/rules.d/70-persistent-net.rules 修改后的eth0的mac地址。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海阳市| 枝江市| 汪清县| 蛟河市| 岳普湖县| 福鼎市| 南丰县| 车致| 吐鲁番市| 南岸区| 怀集县| 西和县| 裕民县| 临汾市| 泗阳县| 徐汇区| 建平县| 禄劝| 合阳县| 万州区| 伊宁市| 湖北省| 屏边| 通山县| 云南省| 丽水市| 长汀县| 大英县| 贺兰县| 太白县| 青铜峡市| 江川县| 昔阳县| 托里县| 龙川县| 胶南市| 铁力市| 建始县| 北流市| 合阳县| 岳池县|