日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Hadoop分布式系统的安装部署

發布時間:2023/12/13 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop分布式系统的安装部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、關于虛擬機的復制

新建一臺虛擬機,系統為CentOS7,再克隆兩臺,組成一個三臺機器的小集群。正常情況下一般需要五臺機器(一個Name節點,一個SecondName節點,三個Data節點。)

?此外,為了使網絡生效,需要注意以下幾點:

1> ?編輯網絡配置文件 

/etc/sysconfig/network-scripts/ifcfg-eno16777736

先前的版本需要刪除mac地址行,注意不是uuid,而是hwaddr這一點新的CentOS不再需要

2> 刪除網卡和mac地址綁定文件??

rm -rf /etc/udev/rules.d/70-persistent-net.rules

3> 重啟動系統

此外,mapreduce在運行的時候可能會隨機開放端口,在CentOS7中,可以使用下面的命令將防火墻關閉

systemctl stop firewalld

或者使用下面的命令,使在集群中的機器可以不受限制的互相訪問

#把一個源地址加入白名單,以便允許來自這個源地址的所有連接
firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.1.215" accept' --permanent firewall-cmd --reload

?

2、IP地址設置為靜態

準備了三個IP地址

192.168.1.215

192.168.1.218

192.168.1.219

?CentOS7下,修改ip地址的文件為/etc/sysconfig/network-scripts/ifcfg-eno16777736

主要作如下設置,其他的不需要變

# none或static表示靜態 OOTPROTO=static # 是否隨網絡服務啟動 ONBOOT=yes IPADDR=192.168.1.215 # 子網掩碼 NETMASK=255.255.255.0 # 網關,設置自己的 GATEWAY=192.168.0.1 # dns DNS1=202.106.0.20

3、修改hostname與hosts文件

這兩個文件均處于系統根目錄的etc文件夾之中

下圖顯示了映射后的機器名稱以及對應的ip地址(#localhost.localdomain這一行多余,僅master剛剛好)

主節點master,兩個數據節點data1data2

?

4、添加用戶與組

需要為Hadoop軟件系統設置單獨的用戶和組,本例中新添加的用戶和所屬組的名稱均為hadoop??

adduser hadoop passwd hadoop 

?5、利用ssh實現免密碼登錄

注意,目的是使Hadoop系統的所屬用戶在集群之間實現免密碼登錄,而不是root用戶(除非Hadoop系統的所有者root,但一般不建議這么做)。這一點非常重要。

在本例中,軟件所有者是上面新建的hadoop用戶,密鑰也要由hadoop用戶來生成。

1> 更改配置文件

需要對sshd_config文件進行修改,主要是以下三項,取消注釋即可?

vim /etc/ssh/sshd_config

?

RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys

之后,執行以下命令重啟sshd服務

service sshd restart

2> 生成密鑰并分發相關文件

簡單的方法,密鑰生成后,使用直接使用 ssh-copy-id 命令把密鑰追加到遠程主機的 .ssh/authorized_key 上,如下:

# 生成密鑰
ssh-keygen -t rsa
# 密鑰追加到遠程主機
ssh-copy-id -i ~/.ssh/id_rsa.pub? hadoop@192.168.1.218
ssh-copy-id -i ~/.ssh/id_rsa.pub? hadoop@data2

復雜的方法,不再推薦,具體實現步驟如下:

a> 將三臺計算機(masterdata1data2)分別切換到hadoop用戶下,并分別cdhadoop用戶的家目錄,然后執行 ssh-keygen -t rsa?命令,這樣的結果,是在各自家目錄的.ssh文件夾中生成了對應的id_rsa.pub?id_rsa 密鑰對。

b> data1192.168.1.218),data2192.168.1.219)兩臺計算機中的公鑰文件復制到master192.168.1.215)中,并重命名為id_rsa.pub218id_rsa.pub219,置于hadoop用戶家目錄下的.ssh文件夾下。命令參考如下:?

scp id_rsa.pub hadoop@master:~/.ssh/id_rsa.pub218 scp id_rsa.pub hadoop@master:~/.ssh/id_rsa.pub219

?hadoop@master表示用master中的hadoop用戶登錄master

這樣以來,master主機hadoop用戶的.ssh文件夾就有了以下三個公鑰文件:

d_rsa.pubd_rsa.pub218d_rsa.pub218

c> master中,將以上三個文件以追加的形式寫入authorized_keys文件,這些文件均位于hadoop用戶.ssh文件夾中。?

cat id_rsa.pub >> authorized_keys cat id_rsa.pub218 >> authorized_keys cat id_rsa.pub219 >> authorized_keys

?d> 更改?authorized_keys?文件的權限。這一步也可在分發后單獨進行?

chmod 600 authorized_keys

?e> 分發authorized_keys?文件到data1,data2中hadoop用戶的.ssh文件中,并再次檢查權限?

scp authorized_keys hadoop@data1:~/.ssh/authorized_keys scp authorized_keys hadoop@data2:~/.ssh/authorized_keys

?之后就可以在小集群中使用hadoop用戶實現免密碼登錄了。

注意的是,如果使用的linux登錄用戶不是root用戶,需要修改以下.ssh文件夾以及authorized_key文件的權限,否則是無法實現免密碼登錄的

chmod 700 .ssh cd .ssh/ chmod 600 authorized_keys

?6、安裝jdk?

先在master中安裝,之后分發,這里使用的是jdk-8u112-linux-x64.tar.gz

?1> 解壓安裝

?首先需要切換到root用戶?

su root cd /usr mkdir java tar -zxvf jdk-8u112-linux-x64.tar.gz ./java ln -s jdk1.8.0_112/ jdk

?2> 分發

scp -r /usr/java root@data2:/usr/ scp -r /usr/java root@data2:/usr/

3> 設置環境變量,三臺都要設置

vim /etc/profile export JAVA_HOME=/usr/java/jdk export JRE_HOME=/usr/java/jdk/jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin source /etc/profile

?7、安裝hadoop

先在master下安裝,再分發

安裝的版本為2.6.5解壓安裝到/usr/Apache/目錄下,并建立軟連接

Hadoop所有配置文件的目錄位于/usr/Apache/hadoop-2.6.5/etc/hadoop下,由于建立了一個軟連接,所以/usr/Apache/hadoop/etc/hadoop是一樣的

在hadoop軟件目錄的dfs文件夾中創建三個子文件夾name、data、tmp,下面屬性的設置會用到,注意其所有者和所屬組。

以下是配置文件的設置:

1> hdfs.site.xml?

<property><name>dfs.namenode.name.dir</name><value>file:/usr/Apache/hadoop/dfs/name</value> </property> <property><name>dfs.datanode.data.dir</name><value>file:/usr/Apache/hadoop/dfs/data</value> </property> <property><name>dfs.replication</name><value>3</value> </property> <property><name>dfs.namenode.secondary.http-address</name><value>master:50090</value> </property> <property><name>dfs.webhdfs.enabled</name><value>true</value> </property>

2> mapred-site.xml

<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>

3> yarn-site.xml

設置如下:?

<property>?<name>yarn.nodemanager.aux-services</name>?<value>mapreduce_shuffle</value>? </property>? <property>?<name>yarn.resourcemanager.address</name>? <value>master:8032</value>? </property>? <property>? <name>yarn.resourcemanager.scheduler.address</name>? <value>master:8030</value>? </property>? <property>? <name>yarn.resourcemanager.resource-tracker.address</name>?<value>master:8031</value>? </property>? <property>?<name>yarn.resourcemanager.admin.address</name>?<value>master:8033</value>? </property>? <property>?<name>yarn.resourcemanager.webapp.address</name>?<value>master:8088</value>? </property>?

?4> slaves配置文件

master data1 data2

注:本例將master也作為了一個數據節點

5> hadoop-env.sh和yarn-env.sh

這是兩個相當重要的環境變量配置文件,由于目前僅安裝Hadoop,所以僅設置jdk即可,其他默認。

export JAVA_HOME=/usr/java/jdk

6> core-site.xml

<property> <name>hadoop.tmp.dir</name><value>/usr/Apache/hadoop/tmp</value><description>A base for other temporary directories.</description> </property> <property><name>fs.defaultFS</name><value>hdfs://master:9000</value> </property>

?

7> 將Apache文件夾分發到data1,data2對應的目錄下

# 分發 scp -r ./Apache root@data1:/usr/ scp -r ./Apache root@data2:/usr/# 這里使用了root用戶,記得分發后要改所有者與所屬組 chown -R hadoop:hadoop Apache/

注意jdk是不需要改所有者與所屬組的,因為通用?

8> 三臺機器分別配置hadoop用戶的.bashrc文件,設置環境變量

su hadoop vim ~/.bashrc export $HADOOP_HOME=/usr/Apache/hadoop export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export CLASSPATH=.:$HADOOP_HOME/lib:$CLASSPATH export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source ~/.bashrc

8、開啟與結束

start-dfs.sh

start-yarn.sh

mr-jobhistory-daemon.sh start historyserver

yarn-daemon.sh start historyserver?


#####

stop-dfs.sh

stop-yarn.sh

mr-jobhistory-daemon.sh stop historyserver

yarn-daemon.sh stop historyserver

9、運行結果

相關進程

?

??

??

All Applications

http://192.168.1.215:8088

JobHistory?

http://192.168.1.215:19888

Master

http://192.168.1.215:50070

?

?

轉載于:https://www.cnblogs.com/learn21cn/p/learn21cn.html

總結

以上是生活随笔為你收集整理的Hadoop分布式系统的安装部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。