Hadoop 完全分布式搭建


 
一 、 安裝一台全新的Redhat 。
二 、 更改靜態IP地址
(1)獲取本機IP地址,
ifconfig -a 
 
 (2) 更改hosts 文件
vim /etc/hosts
 
(3)更改hostname
vim  /etc/sysconfig/network
(4) 配置靜態IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ethx
(5) 重啟網絡服務使其生效
service network restart 
 
三 、 安裝JDK 
(1) 查詢Redhat本機jdk  
rpm -qa | grep jdk 
rpm -e --nodeps jdk 
(2)  安裝jdk
通過此頁面下載Linux版本jdk,並上傳至虛擬機內
tar -xzvf jdk 1.8.0
(3)配置JDK環境
在Linux 根目錄下新建soft 文件夾,並將tar開的jdk剪切到soft 文件夾
cd  /
mkdir soft
mv jdk /soft
ln -s jdk-1.8 jdk 
配置/etc/profile
vim /etc/profile
 
--插入環境變量
export  JAVA_HOME=/soft/jdk
export  PATH=$PATH:$JAVA_HOME/bin
 
--使其立即生效
source  /etc/profile
(4) 檢驗 JDK是否安裝成功
四 、 克隆虛擬機配置從機IP地址使其IP互通
通過master 克隆三台Redhat 機器,並修改其IP地址與hostname信息,其四台機器分別為master 、slave1 、slave2  、slave3。
直至四台機器IP互通為止。
因完全克隆導致三台從機slave可能本身網卡信息可能會與master一致,導致IP地址修改不成功,可以通過以下方法解決。
通過ifconfig -a 命令查詢從機IP信息,master機器為eth0 ,而從機為eth1,在slave從機上,通過root 用戶刪除 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,復制ifconfig -a 中從機網卡的HWADDR字符串
並復制ifcfg-lo文件,重命名為網卡ifcfg-eth1,編輯其內容將網絡信息寫入其中將HWADDR值加入進入后重啟網絡服務即可。
五 、 安裝Hadoop 2.6.5
 (1) 下載地址
(2)配置Hadoop文件環境變量
-- tar 開hadoop 文件
tar -xzvf hadoop-2.6.5
 
-- 移動tar開文件到/soft 中
mv hadoop-2.6.5 /soft
 
-- 設置超鏈接
ln -s hadoop-2.6.5 hadoop 
 
-- 配置Hadoop 環境變量
vim /etc/profile 
 
-- 將Hadoop環境變量加入 /etc/profile
export  HADOOP_HOME=/soft/hadoop
export  PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
 
-- 使其環境變量立即生效
source /etc/profile 
 
(3) 配置Hadoop 核心文件
--   進入Hadoop核心配置文件文件夾
cd  /soft/hadoop/etc/hadoop/
 
--  編輯core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value> hdfs://master:9000</value>
    </property>
</configuration>
 
-- 編輯hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>
 
--  編輯 slaves 文件
slave1
slave2
slave3
 
-- 復制 mapred-site.xml.template
cp  mapred-site.xml.template  mapred-site.xml
 
--  編輯mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
 
--  編輯yarn-site.xml 
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
        <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
             <value>master</value>
        </property>
</configuration>
 
-- 將JAVA_HOME 環境變量加入hadoop-env.sh
JAVA_HOME=/soft/bin
(4) 將Hadoop文件分發到各從機上
--  分發Hadoop到個從機/soft 文件中
scp -r  hadoop-2.6.5  zhihua@slave1:/soft/
scp -r  hadoop-2.6.5  zhihua@slave2:/soft/
scp -r  hadoop-2.6.5  zhihua@slave3:/soft/
 
--  在從機上/etc/profile 文件中加入Hadoop 環境變量
export  HADOOP_HOME=/soft/hadoop
export  PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
 
-- 使其環境變量立即生效
source /etc/profile 
(5) 格式化數據
hadoop namenode -format
(6)  啟動集群
start-all.sh 
使用jps 命令查詢Hadoop進程
master顯示
slave1--slave3顯示
六  、 webUI查看
通過瀏覽器輸入 192.168.156.114:50070 
顯示此頁面則說明Hadoop hdfs部署成功
在瀏覽器中輸入 192.168.156.14:8088
 
顯示此頁面說明yarn正常
 
如若兩個頁面都無法正常顯示,首先考慮是不是防火牆未關閉。
service  iptables stop 
關閉防火牆后重新加載webUI頁面 顯示正常! Hadoop完全分布式部署成功!
 
部署zookeeper 完全分布式
1.下載zookeeper
2.配置zookeeper環境變量
-- tar 開zookeeper文件
tar -xzvf zookeeper xxxxx 
 
-- 移動tar開文件至/soft
mv zookeeper /soft 
 
--  設置符號鏈接
ln -s  zookeeper zk 
 
--  配置環境變量
vin  /etc/profile 
 
--  加入zookeeper 環境變量
export  ZK_HOME=/soft/zk
export  PATH=$PATH:$ZK_HOME/bin
 
--  使其環境變量立即生效
source  /etc/profile
3.修改zookeeper核心配置文件
-- 進入zookeeper核心配置目錄
cd /soft/zk/conf
 
--  復制核心配置文件
cp  zoo_sample.cfg zoo.cfg
 
--  編寫zoo.cfg配置文件
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/zhihua/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
 
4.分發zookeeper文件
--  分發文件
scp -r zookeeper  zhihua@slave1:/soft/
scp -r zookeeper  zhihua@slave2:/soft/
scp -r zookeeper  zhihua@slave3:/soft/
 
--  在從機上設置符號鏈接
ln -s  zookeeper zk 
 
--  配置環境變量
vin  /etc/profile 
 
--  加入zookeeper 環境變量
export  ZK_HOME=/soft/zk
export  PATH=$PATH:$ZK_HOME/bin
 
--  使其環境變量立即生效
source  /etc/profile
 
5.創建zookeeper目錄
cd /home/zhihua 
 
--  在master、slave1、slave2機器下創建目錄
mkdir zookeeper 
 
-- 在zookeeper 目錄下編寫myid文件
[master]
echo 1 > /home/zhihua/zookeeper/myid
 
[slave1]
echo 2 > /home/zhihua/zookeeper/myid
 
[slave2]
echo 3 > /home/zhihua/zookeeper/myid
6.啟動zookeeper
在master 、 slave1 、slave2 機器上
-- 進入zookeeper的bin 目錄下
cd /soft/zk/bin
 
--  啟動zk 
./zkServer.sh start 
 
-- 查看zk 狀態
./zkServer.sh status 
三台機器啟動后通過./zkServer.sh status 命令可以查詢到zk集群的啟動狀態,分別為一個leader ,兩個follower。
通過jps命令可以查詢zookeeper進程
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM