大數據學習之 搭建僞分佈式和完全分佈式

搭建僞分佈式和完全分佈式

搭建僞分佈式

1.在安裝的Hadoop目錄下的etc/hadoop路徑下,找到core-site.xml文件

打開 core-site.xml文件

2.在中寫入下面的內容Namenode地址和運行時產生文件的存儲路徑

代碼如下,需要根據自身linux情況進行更改主機名和hadoop版本號:

<property>
		<name>fs.defaultFS</name>
        <value>hdfs://主機名1:9000</value>
	</property>

	<!-- 指定hadoop運行時產生文件的存儲目錄 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/module/hadoop-2.X.X/data/tmp</value>
	</property>

3.打開hdfs-site.xml,輸入如下內容

hdfs-site.xml
代碼如下,需要根據自身linux情況進行更改主機名:

<!--數據冗餘數-->
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
    <!--secondary的地址-->
	<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>主機名1:50090</value>
</property>
<!--關閉權限-->
<property>
     <name>dfs.permissions</name>
     <value>false</value>
 </property>

4.yarn-site.xml配置

yarn-site.xml
代碼如下,需要根據自身linux情況進行更改主機名:

<!-- reducer獲取數據的方式 -->
	<property>
		 <name>yarn.nodemanager.aux-services</name>
		 <value>mapreduce_shuffle</value>
	</property>

	<!-- 指定YARN的ResourceManager的地址 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>主機名1</value>
	</property>
    	<!-- 日誌聚集功能使能 -->
	<property>
	<name>yarn.log-aggregation-enable</name>
	<value>true</value>
	</property>
	<!-- 日誌保留時間設置7天(秒) -->
	<property>
	<name>yarn.log-aggregation.retain-seconds</name>
	<value>604800</value>
	</property>

5.在mapred-site.xml中插入數據

代碼如下,需要根據自身linux情況進行更改主機名:

<!-- 指定mr運行在yarn上-->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
    <!--歷史服務器的地址-->
	<property>
	    <name>mapreduce.jobhistory.address</name>
	    <value>主機名1:10020</value>
	</property>
    <!--歷史服務器頁面的地址-->
	<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>主機名1:19888</value>
	</property>

6.在hadoop-env.sh、yarn-env.sh、mapred-env.sh中添加JAVA_HOME

例如:export JAVA_HOME=/opt/module/jdk1.8.0_144

7.在slaves文件中將localhost改爲主機名

第一行是當前主機名,也是namenode所在的地方
剩下的是爲了完成完全分佈式所提前寫入的主機名
主機名

8.格式化並進行驗證

執行hdfs namenode -format命令,進行格式化操作
執行後能夠有如下內容就算格式化成功了
出現選中的部分即爲初始化成功
執行start-all.sh命令,啓動僞分佈式,如果沒有設置ssh免密的話需要輸入多次密碼
執行jps命令,查看使用的端口號,當紅框中的五個都存在即爲成功
jps查看使用的端口號
當啓動時會有提示說不建議使用start-all.sh命令建議使用start-dfs.shstart-yarn.sh
start-dfs.sh 只啓動hdfs
start-yarn.sh 只啓動yarn
start-all.sh啓動yarn和hdfs

9.查看結果

在windows的瀏覽器上打開ip:50070的網址
在這裏插入圖片描述

搭建完全分佈式

1.將進程中除了jps的全部關閉掉,然後將虛擬機關閉

2.選中搭建好的那個虛擬機,右鍵快照,拍攝快照,將拍攝好的快照進行重命名爲僞分佈式to完全分佈式(名字起什麼無所謂, 只是爲了方便查找)

快照

3.然後選中虛擬機右鍵選擇管理,克隆克隆

點擊兩次下一步,然後選擇創建完整克隆
完整克隆
然後點擊下一步,虛擬機的名稱和位置進行修改,位置要跟主虛擬機在同一個父文件夾中

修改位置
點擊下一步
正在克隆
不要點擊取消,等着自動蹦出克隆成功信息
克隆成功
然後將克隆後的虛擬機的內存等根據電腦情況進行修改
修改內存

4.點擊開啓克隆後的虛擬機,修改主機名和ip

點擊開啓克隆後的虛擬機,提示信息還是原先的主機名,一會就進行修改
這裏的用戶名和密碼和之前的虛擬機一樣
主機名還是之前的
執行hostnamectl set-hostname 新的主機名命令,更改主機名
更改主機名
修改ip

之前的ip

修改後的ip
修改完畢後,執行service network restart命令進行重啓,當出現ok後即爲重啓成功
重啓配置
執行ip addr命令查看ip
查看ip
然後來ping百度和192.168.1.2看看是否可以ping通

ping百度
然後就可以通過Xshell連接了,按照上面的步驟在生成第三臺虛擬機

5.使用Xshell進行快速實現免密登錄

通過Xshell連接後,進行分屏
分屏
然後在工具中選擇發送鍵輸入到所有會話

發送鍵輸入到所有會話
設置免密登陸
先查看**/etc/hosts**文件中是否是將三個主機名與IP的映射設置好

查看ip映射
生成公鑰和私鑰:ssh-key gen -t rsa
然後敲(三個回車),就會生成兩個文件id_rsa(私鑰)、id_rsa.pub(公鑰),將公鑰拷貝到要免密登錄的目標機器上
多次執行ssh-copy-id命令,有幾個主機執行幾次
ssh-copy-id 主機名1
ssh-copy-id 主機名2
ssh-copy-id 主機名3

當設定完成後輸入ssh 主機名命令,看看多臺主機是否都能夠免密登錄,然後exit退出
ssh 主機名1
exit
ssh 主機名2
exit
ssh 主機名3
exit
查看免密登錄是否成功
進入到hadoop目錄下
hadoop
刪除datalogs文件夾裏的內容,注意,data和logs前面沒有斜槓(/)
rm -rf data/ logs/**
刪除data和logs中的內容
然後,只在主虛擬機上進行格式化
格式化
然後在主虛擬機上啓動集羣
啓動集羣
然後同步所有虛擬機進行jps命令
查看全部進程
啓動項目後,到windows的瀏覽器上進行查看
到瀏覽器上查看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章