1. 程式人生 > >搭建3個節點的hadoop叢集(完全分散式部署)--1 安裝虛擬機器及hadoop元件

搭建3個節點的hadoop叢集(完全分散式部署)--1 安裝虛擬機器及hadoop元件

昨晚搞到晚上11.30,終於把hadoop元件安裝好了,執行試了下,正常...

這裡記錄下完全分散式hadoop叢集的搭建步驟。

1.VWMare平臺安裝

之前已經安裝好了,這裡不詳細說明。

2.安裝CentOS虛擬機器

1)下載好centos ISO安裝檔案,我安裝的是centos6.5版本,安裝mini desk模式

2)安裝好後,再安裝VMTools,方便複製及操作centos系統。

3)安裝Java JDK,我安裝的版本是java 1.8.0_121

先下載jdk安裝包檔案,直接使用wegt java**************

java安裝在目錄 /opt/java1.8.0_121

配置環境變數:

vim /etc/profile

export JAVA_HOME=/opt/jdk1.8.0_121
export JRE_HOME=/opt/jdk1.8.0_121/jre
export HADOOP_HOME=/opt/hadoop-2.7.5
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH然後

然後 source /etc/profile,使環境變數生效

執行java -version,javac -version看環境變數配置是否成功。

4)利用克隆方式,安裝另外兩個節點虛擬機器。

到此,三個虛擬機器已建立完成。

3.配置三個虛擬機器的靜態ip地址

vim /etc/udev/rules.d/70-persistent-net.rules,設定網絡卡(eth0,eht1 or eth2)

vim /etc/sysconfig/network-scripts/ifcfg-eth0   設定靜態ip

DEVICE=eth0
HWADDR=00:0C:29:A6:58:96
TYPE=Ethernet
UUID=9d043430-26c5-41e8-96c7-54255364c884
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.205.137
NETMASK=255.255.255.0
PREFIX=24
GATEWAY=192.168.205.2
DNS1=192.168.205.2
DEFROUTE=yes
#IPV4_FAILURE_FATAL=yes
configure VPN設定如下虛擬網路設定採用NAT模式,如下截圖,可以在裡面看到閘道器地址為192.168.205.2
經過如上幾步,三個節點的靜態ip可配置完成,ip分別為

192.168.205.136  elephant

192.168.205.137 monkey

192.168.205.138 tiger

4.設定三個節點的hostname

vim /etc/sysconfig/network

分別設定為elephant,monkey,tiger

5.設定ip與hostname的對映關係

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.205.136 elephant
192.168.205.137 monkey
192.168.205.138 tiger

6.設定免密匙登入

所有節點:
生成金鑰節點:ssh-keygen
monkey子節點將公鑰傳給elephant:scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/monkey.pub
elephant主節點將各個私鑰打包:  cat id_ras.pub  >> ~/.ssh/authorized_keys
				(cat ~/.ssh/*.pub  >> ~/.ssh/authorized_keys)
將elephant的authorized_keys分發至各節點:scp ~/.ssh/authorized_keys [email protected]:~/.ssh/

7.安裝nptd,設定時間同步

8.在elephant節點安裝hadoop元件,

1)下載hadoop,我下載的是hadoop 2.7.5版本,然後放在/opt/hadoop2.7.5資料夾下面。

2)配置檔案修改(core-site.xml,hdfs-site.xml,hadoop-env.sh,mapred-site.xml,slaves)

core-site.xml如下:

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://elephant:9000</value>
  </property>
  <property>
     <name>hadoop.tmp.dir</name>
     <value>/opt/hadoop-2.7.5/tmp</value>
  </property>
</configuration>

hdfs-site.xml如下:

configuration>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
   </property>
   <property>
     <name>dfs.namenode.name.dir</name>
     <value>file:/opt/hadoop-2.7.5/dfs/name</value>
   </property>
   <property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/opt/hadoop/dfs/data</value>
    </property>

</configuration>

hadoop-env.sh如下:

export JAVA_HOME=/opt/jdk1.8.0_121
export HADOOP_HOME=/opt/hadoop-2.7.5

mapred-site.xml如下:

<configuration>
  <property>
   <name>mapreduce.framework.name</name>
    <value>yarn</value>
   </property>
   <property>
      <name>mapreduce.jobhistory.address</name>
      <value>elephant:10020</value>
    </property>
   <property>
      <name>mapreduce.jobhistory.webapp.address</name>
      <value>elephant:19888</value>
     </property>
</configuration>

slaves如下:

monkey
tiger
~       

到此,hadoop相關的配置檔案已全部設定完成。

3)格式化namenode

hadoop namenode -format

啟動hadoop

./opt/hadoop-2.7.5/sbin/start-all.sh

利用jps可以檢視已啟用的程序

[[email protected] hadoop-2.7.5]# jsp
-bash: jsp: command not found
[[email protected] hadoop-2.7.5]# jps
4418 NodeManager
4949 Jps
4150 SecondaryNameNode
3991 DataNode
[[email protected] hadoop-2.7.5]# hadoop fs -ls /
Found 1 items
drwxr-xr-x   - root supergroup          0 2018-03-28 23:09 /user
[[email protected] hadoop-2.7.5]#