安裝虛擬機環境
下載VMware并安裝、破解
在VMWare官網上http://www.vmware.com/ ,選擇VMware workstation12 pro版本安裝。創建虛擬機
在Ubuntu的官網https://www.ubuntu.com/上下載, ubuntu-14.04.4-desktop-amd64.iso,該版本為穩定的維護的版本。安裝VMWare Tools
①啟動Ubuntu系統,進入到桌面
②單擊VMWare的【虛擬機】菜單,選擇【安裝VMWare Tools】命令
系統會自動掛載VMWare Tools,并自動打開
③解壓tar.gz包
將壓縮包復制到桌面,打開terminal,執行解壓命令
tar -zxvf VMwareTools-10.0.0-2977863.tar.gz
④安裝VMWare Tools
切換到文件夾下,執行安裝文件,重啟后生效
cd Desktop/vmware-tools-distrib/
sudo ./vmware-install.pl使用共享文件夾
①在物理機Windows系統中創建一個文件夾,用作共享文件夾
②在虛擬機關閉的情況下,打開虛擬機設置,在彈出的對話框中單擊【選項】
③單擊【共享文件夾】,在右側選擇【總是啟用】選項,單擊【添加】按鈕
④在彈出的向導對話框中,進行如下操作,添加共享文件夾
⑤啟動虛擬機系統,共享文件夾被放在【/mnt/hgfs/】目錄下,即在【/mnt/hgfs/share】中就可以找到被共享的文件了安裝JDK
①下載jdk安裝包,放入物理機的共享文件夾
當前官網的最新版本jdk1.8.0_05
②解壓安裝jdk
進入虛擬機,切換到共享文件夾下,輸入命令進行安裝
cd /mnt/hgfs/share
sudo tar zxvf jdk-8u5-linux-x64.gz -C /usr/local/
③配置hadoop用戶環境變量
sudo gedit ~/.bashrc
打開后添加:
export JAVA_HOME=/usr/local/jdk1.8.0_65
export PATH=${JAVA_HOME}/bin:$PATH
保存后退出
④配置默認jdk版本
sudo update-alternatives --install /usr/local/jdk1.8.0_65 /bin/java 300
sudo update-alternatives --install /usr/local/jdk1.8.0_65 /bin/javac 300
sudo update-alternatives --config java
⑤刷新配置
source ~/.bashrc
⑥查看環境是否配置成功
java -version系統環境配置
①修改主機名:
(1)臨時修改:
sudo hostname master
(2)永久修改:
sudo gedit /etc/hostname
修改后重啟生效
②設置固定IP
sudo gedit /etc/network/interfaces
在其中寫入:
auto eth0
iface eth0 inet static
address 192.168.111.128
netmask 255.255.255.0
gateway 192.168.111.1
③修改主機名和 IP 的映射關系
sudo gedit /etc/hosts
打開后修改為:
127.0.0.1 localhost
127.0.0.1 master
192.168.111.200 master
④關閉防火墻
sudo ufw disable
之后,系統提示“防火墻在系統啟動時自動禁用”。
⑤重啟虛擬機
sudo reboot now安裝SSH并設置無密碼登錄
①安裝OpenSSH
sudo apt-get install ssh openssh-server
中途按y繼續
②確認sshserver是否啟動
sudo ps -e | grep sshd
③生成RSA密鑰(包括私鑰和公鑰)
ssh-keygen -t rsa
回車后會在~/.ssh/下生成兩個文件:id_rsa和id_rsa.pub這兩個文件是成對出現的
④將新生成的公鑰復制到已授權密鑰列表
進入~/.ssh/目錄下,將id_rsa.pub追加到authorized_keys授權文件中,開始是沒有authorized_keys文件的
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
⑤將生成的authorized_keys文件拷貝到slave1主機相同的文件夾下
scp authorized_keys master:~/.ssh/安裝Hadoop
①解壓安裝
在hadoop的官網上下載:http://hadoop.apache.org/下載hadoop-2.7.2.tar.gz
將壓縮包放在物理機的共享文件夾中,打開虛擬機,進入共享文件夾/mnt/hgfs/
輸入命令解壓安裝包到/usr/local/下
sudo tar -zxvf hadoop-2.7.2.tar.gz -C /usr/local/
②修改環境變量
sudo gedit /usr/local/hadoop-2.7.2/etc/hadoop/hadoop-env.sh
打開后
替換exportJAVA_HOME=${JAVA_HOME}為如下:
export JAVA_HOME=/usr/local/jdk1.8.0_65
同樣,配置yarn-env.sh(YARN資源管理器,管理的是HADOOP集群中的主從節點資源,YARN不需要安裝,它是HADOOP自帶的,通過配置起作用)
在里面加入:
export JAVA_HOME=/usr/local/jdk1.8.0_65
③為運行Hadoop創建目錄
Hadoop運行在Linux操作系統之上,它直接使用Linux的本地文件系統來存儲HDFS的相關信息。因此,必須為Hadoop集群的每個節點創建相同目錄結構,操作命令如下。
mkdir ~/dfs #在Linux文件系統中構建HDFS的統一入口位置
mkdir ~/dfs/tmp #創建tmp目錄,用于保存HDFS工作時的臨時信息
mkdir ~/dfs/data #創建data目錄,存儲HDFS的用戶文件的數據塊
mkdir ~/dfs/name #創建name目錄,存儲HDFS的元數據信息配置偽分布式模式
①打開core-site.xml文件
sudo gedit /usr/local/hadoop-2.7.2/etc/hadoop/core-site.xml
然后在“<configuration>”和“</configuration>”標簽之間輸入以下內容并保存。
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
<description>HDFS的URI,master為主節點的主機名</description>
</property>
<property>
<name>io.file.buffer.size </name>
<value>130172</value>
<description>文件緩存大小</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/dfs/tmp</value>
<description>namenode工作時的臨時文件夾</description>
</property>```
②打開hdfs-site.xml文件
sudo gedit /usr/local/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
然后在“<configuration>”和“</configuration>”標簽之間輸入以下內容并保存。
```<property>
<name>dfs.namenode.name.dir </name>
<value>file:/home/hadoop/dfs/name</value>
<description>NameNode上HDFS名字空間元數據的存儲位置</description>
</property>
<property>
<name>dfs.datanode.data.dir </name>
<value> file:/home/hadoop/dfs/data </value>
<description>DataNode數據塊的物理存儲位置</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本個數,默認是3,應小于DataNode節點數量</description>
</property>
<property>
<name>dfs.http.address</name>
<value>master:50070</value>
<description>HDFS Web UI的入口URL</description>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
<description>可查看SecondaryNameNode守護進程的狀態信息</description>
</property>```
③打開yarn-site.xml文件
sudo gedit /usr/local/hadoop-2.7.2/etc/hadoop/yarn-site.xml
然后在“<configuration>”和“</configuration>”標簽之間輸入以下內容并保存。
```<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18041</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18042</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18043</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>```
④打開mapred -site.xml文件
sudo cp mapred-site.xml.template mapred-site.xml
sudo gedit mapred-site.xml
然后在“<configuration>”和“</configuration>”標簽之間輸入以下內容并保存。
```<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address </name>
<value> master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address </name>
<value> master:19888</value>
</property>```
10. HDFS格式化
初次運行的初始化
進入hadoop的根目錄后輸入以下命令
./bin/hdfs namenode -format
11. 啟動hadoop
cd /usr/local/hadoop-2.7.2
sbin/start-dfs.sh
sbin/start-yarn.sh
或
sbin/start-all.sh
在master機上輸入jps
12. 測試
可以在web UI中做測試:
在瀏覽其中輸入:[http://master:8088](http://master:8088)可以看到hadoop的信息。