1. 程式人生 > 資訊 >小米 12 DXOMARK 相機評分 123,位列高階機型排行榜第五名

小米 12 DXOMARK 相機評分 123,位列高階機型排行榜第五名

hadoop叢集搭建搭建

1.配置虛擬機器

叢集環境的搭建需要配置至少3太linux機器

1.1虛擬機器搭建

參考網址:https://www.cnblogs.com/wzHardStudy/p/16126243.html

1.2準備

搭建完一臺虛擬機器後可以利用VMware自帶的克隆功能複製出兩臺虛擬機器.

首先要把目標虛擬機器關機!!!

選擇虛擬機器-->右鍵管理-->克隆

 

 

直接下一步下一步

 

 

選擇完整克隆

 

 

等待克隆

1.3啟動克隆虛擬機器

克隆出的虛擬機器直接就會現在出來,直接啟動即可!

啟動後進入系統介面,修改ip地址

centos7.9 檔名叫ens33 可以通過查ip確認自己的!

vi  /etc/sysconfig/network-scripts/ifcfg-ens33

 

 

 

修改完畢重啟服務

service network restart

嘗試用ssh工具連結

連結不上檢視防火牆

檢視防火牆狀態 systemctl status firewalld
關閉防火牆 systemctl stop firewalld
永久關閉 systemctl disable firewalld

還是有問題檢視連結

https://www.cnblogs.com/wzHardStudy/p/16126243.html

2.配置免密登入

https://blog.csdn.net/u012404692/article/details/106158926

 

3.配置JAVA環境

hadoop是java寫出的大資料框架,所以允許需要java環境

2.1壓縮包安裝jdk

1.建立一個資料夾專門存放檔案

切換至根目錄

cd /
建立資料夾 mkdir -p /wz/softwores

2.上傳jdk

上傳jdk至建立的資料夾下

建議用 xftp直接上傳

命令可以用

scp -r 本地檔案路徑 使用者@ip:遠端檔案路徑
scp -p jdk-8u241-linux-x64.tar.gz [email protected]:/wz/softwares

3.上傳完畢解壓

檢視上傳檔案  :ls
檔名 : tar -zvxf
改名:mv 解壓檔名 重新命名
刪除檔案 : rm 上傳的壓縮包

4.配置環境變數

進入配置檔案: vi /etc/profile

在檔案最下方新增(根據自己路徑修改)檔名也要根據自己改的名字修改

export JAVA_HOME=/wz/softwares/jdk1.8.0_241
      export PATH=$PATH:$JAVA_HOME/bin
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

重新載入環境變數檔案

source /etc/profile

5.測試:

java -version
java

指令有效則配置完成!

2.2yum安裝jdk

3.安裝hadoop

3.1上傳檔案

建議用xftp上傳,上傳至上面建立的目錄,好管理

3.2解壓檔案

tar -zvxf hadoop檔案

3.3改名

mv hadoop檔名 新名

3.4修改hadoop配置檔案

進入

cd /wz/softwares/hadoop-3.3.0/etc/hadoop

vim指令沒有的話用yum安裝

yum install vim -y

修改 hadoop-env.sh

hadoop-env.sh
#檔案最後新增
export JAVA_HOME=/wz/softwares/jdk

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

修改core-site.xml

vim core-site.xml

引數根據自身情況修改

以下xml檔案配置新增位置都在下圖位置:

 

 

 

 

<!-- 設定預設使用的檔案系統 Hadoop支援file、HDFS、GFS、ali|Amazon雲等檔案系統 -->
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://192.168.137.155:8020</value>
</property>

<!-- 設定Hadoop本地儲存資料路徑 -->
<property>
  <name>hadoop.tmp.dir</name>
  <value>/wz/data/hadoop-3.3.0</value>
</property>

<!-- 設定HDFS web UI使用者身份 -->
<property>
  <name>hadoop.http.staticuser.user</name>
  <value>root</value>
</property>

<!-- 整合hive 使用者代理設定 -->
<property>
  <name>hadoop.proxyuser.root.hosts</name>
  <value>*</value>
</property>

<property>
  <name>hadoop.proxyuser.root.groups</name>
  <value>*</value>
</property>

<!-- 檔案系統垃圾桶儲存時間 -->
<property>
  <name>fs.trash.interval</name>
  <value>1440</value>
</property>

配置:hdfs-site.xml

vim hdfs-site.xml

 

<!-- 設定SNN程序執行機器位置資訊 -->
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>192.168.137.156:9868</value>
</property>

mapred-site.xml

<!-- 設定MR程式預設執行模式: yarn叢集模式 local本地模式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<!-- MR程式歷史服務地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.137.155:10020</value>
</property>

<!-- MR程式歷史伺服器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.137.155:19888</value>
</property>

<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

yarn-site.xml

<!-- 設定YARN叢集主角色執行機器位置 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.137.155</value>
</property>

<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>

<!-- 是否將對容器實施實體記憶體限制 -->
<property>
  <name>yarn.nodemanager.pmem-check-enabled</name>
  <value>false</value>
</property>

<!-- 是否將對容器實施虛擬記憶體限制。 -->
<property>
  <name>yarn.nodemanager.vmem-check-enabled</name>
  <value>false</value>
</property>

<!-- 開啟日誌聚集 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

<!-- 設定yarn歷史伺服器地址 -->
<property>
  <name>yarn.log.server.url</name>
  <value>192.168.137.155:19888/jobhistory/logs</value>
</property>

<!-- 歷史日誌儲存的時間 7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

workers(叢集小弟地址)

192.168.137.155
192.168.137.156
192.168.137.157

給hadoop新增到環境變數中

vim /etc/profile
//放到java環境變數下
export HADOOP_HOME=/wz/softwares/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

更新配置:source /etc/profile

完成以上配置就搭建好了單機,如果要叢集就把相同配置在另外兩臺機器上在完成一遍!!!

3.5給另外兩臺配置

1.建議用scp命令拷貝給另外兩臺

 scp -r 檔案在本地的路徑  使用者@使用者地址:/目標資料夾
例如: scp -r /wz/softwares [email protected]:/wz

2.不要忘記環境變數配置檔案

 scp -r /etc/profile [email protected]:/etc/profile

3.最後都更新一下配置

source /etc/profile

4.測試

輸入java -version測試一下

輸入 hadoop 看是否正常

 

4.啟動hadoop

4.1Hadoop叢集啟動

1.(==首次啟動==)格式化namenode

該命令就首次啟動執行,就執行一次!!!!!

hdfs namenode -format

2.指令碼一鍵啟動

[root@node1 ~]# start-dfs.sh 
Starting namenodes on [node1]
Last login: Thu Nov 5 10:44:10 CST 2020 on pts/0
Starting datanodes
Last login: Thu Nov 5 10:45:02 CST 2020 on pts/0
Starting secondary namenodes [node2]
Last login: Thu Nov 5 10:45:04 CST 2020 on pts/0

[root@node1 ~]# start-yarn.sh
Starting resourcemanager
Last login: Thu Nov 5 10:45:08 CST 2020 on pts/0
Starting nodemanagers
Last login: Thu Nov 5 10:45:44 CST 2020 on pts/0

Web UI頁面

HDFS叢集:192.168.137.155:9870/

YARN叢集:192.168.137.155:8088/

HDFS叢集啟動方式

啟動HDFS:start-dfs.sh
停止HDFS:stop-dnf.sh

YARN叢集啟動方式

啟動HDFS:start-yarn.sh
停止HDFS:stop-yarn.sh

Hadoop叢集啟動方式(把上面兩個合在了一起)

啟動Hadoop:start-all.sh
停止Hadoop:stop-all.sh

4.2可能錯誤

錯誤1:執行hadoop3官方自帶mr示例出錯。

錯誤資訊
Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
•Please check whether your etc/hadoop/mapred-site.xml contains the below configuration:




<property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value></property><property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value></property><property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value></property>

解決 mapred-site.xml,增加以下配置

<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>