在Linux下搭建Hadoop分佈式集羣

【設置網絡連接】

首先我們要設置虛擬機NAT方式(自動分配IP地址)連接外網

進行更新源的操作(具體操作見:http://blog.csdn.net/arnold_lee_yc/article/details/74846263)

【安裝Mysql】

sudo apt install mysql-server

驗證是否安裝成功

mysql -uroot -pa
show databases;
exit

【創建jar包存放目錄】

mkdir software
cd ~/software

【上傳jdk hadoop】

rz

【在/目錄下創建文件夾】

sudo mkdir mysoftware

【更改mysoftware所屬】

sudo chown -R hadoop:hadoop mysoftware

【進入mysoftware並解壓jdk、hadoop】

cd mysoftware
tar -zxvf ~/software/jdk-8u101-linux-x64.tar.gz
tar -zxvf ~/software/hadoop-2.7.3.tar.gz

【配置環境變量】

vim ~/.profile
輸入以下內容:
export JAVA_HOME=/mysoftware/jdk1.8.0_101
export HADOOP_HOME=/mysoftware/hadoop-2.7.3
export PATH="$JAVA_HOME/bin:$HADOOP_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATH"

【重啓虛擬機檢查是否安裝成功】

sudo reboot
javac -version
java -version
hadoop version
【更改NAT連接方式,不再自動分配地址】(這樣當我們在不同環境開發,都不用去修改ip地址)



【將ip地址修改爲靜態ip】

sudo vim /etc/network/interfaces


【配置主從機ip地址映射】

sudo vim /etc/hosts


【初始化ssh(便於無密碼登錄)】

rm -rf .ssh
ssh-keygen -t rsa -P ""
cat id_rsa.pub >> authorized_keys

【添加配置信息】

cd /mysoftware/hadoop-2.7.3/etc/hadoop/
vim hadoop-env.sh
輸入以下內容:
export JAVA_HOME=/mysoftware/jdk1.8.0_101

vim core-site.xml
輸入以下內容:
<configuration>
   <!--外部訪問hadoopURL-->
  <property>
     <name>fs.default.name</name>
     <value>hdfs://master:9000</value>
  </property>

   <!--hadoop產生臨時文件所存放的位置-->
  <property>
     <name>hadoop.tmp.dir</name>
     <value>file:/mysoftware/hadoop-2.7.3/tmp</value>
  </property>
</configuration>

vim hdfs-site.xml
輸入以下內容:
<configuration>
     <!--文件系統中每一個文件塊的重複份數,建議使用奇數份-->
   <property>
     <name>dfs.replication</name>
     <value>3</value>
   </property>

     <!--文件系統中元數據存放的位置-->
   <property>
     <name>dfs.namenode.name.dir</name>
     <value>file:/mysoftware/hadoop-2.7.3/dfs/name</value>
   </property>

     <!--文件系統數據塊存放的位置,數據塊的大小默認是128M-->
   <property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/mysoftware/hadoop-2.7.3/dfs/data</value>
   </property>

     <!--對文件系統中數據訪問時是否進行權限驗證,默認true-->
   <property>
     <name>dfs.permissions</name>
     <value>false</value>
   </property>
</configuration>

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
輸入以下內容:
<configuration>
     <!--hadoop分佈式計算框架的處理交給哪個平臺處理-->
   <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
   </property>
</configuration>

vim yarn-site.xml
輸入以下內容:
<configuration>
     <!--hadoop分佈式計算框架的資源調度管理的主機-->
   <property>
     <name>yarn.resourcemanager.hostname</name>
     <value>master</value>
   </property>

     <!--hadoop分佈式計算框架的資源處理方式-->
   <property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
   </property>
</configuration>

vi slaves
輸入以下內容:
slave01
slave02
slave03


【克隆主機】
進入每一個克隆機修改IP地址和主機名

sudo vim /etc/network/interface			配置IPv4 子網掩碼 默認網關(網段要和VMnet8的網段一致)
sudo vim /etc/hostname                          分別改爲slave01  slave02  slave03 

【啓動hadoop】
第一次啓動時執行格式化操作(僅第一次使用時執行,只有再也不用格式化)

hdfs namenode -format
啓動hadoop分佈式存儲系統

cd /mysoftware/hadoop-2.7.3
sbin/start-yarn.sh

查看java進程來確定hadoop是否啓動成功

jps
看主節點是否會出現 namenode,secondarynamenode
看從節點是否會出現datanode
出現代表,hdfs啓動成功,否則,表示失敗,返回日誌查看原因

less logs/hadoop-hadoop-namenode-master.log    查看namenode-master日誌信
將本地文件上傳到hdfs中

cd ~/data
hdfs dfs -put *.txt /        將data目錄下的所有.txt文件上傳至hdfs的根目錄下
開啓集羣資源管理

sbin/start-yarn.sh
調用mapreduce的jar包進行運算

cd /mysoftware/hadoop-2.7.3/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /*.txt /out    統計單詞數量
hdfs dfs -cat /out/*       查看結果

【關閉hadoop】

cd /mysoftware/hadoop-2.7.3
sbin/stop-yarn.sh      關閉集羣資源管理
sbin/stop-dfs.sh       關閉hdfs分佈式文件系統

【關閉虛擬機】
sudo shutdown -h now


發佈了27 篇原創文章 · 獲贊 11 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章