搭建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
configure VPN設定如下虛擬網路設定採用NAT模式,如下截圖,可以在裡面看到閘道器地址為192.168.205.2DEVICE=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
經過如上幾步,三個節點的靜態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]#