1. 程式人生 > >Linux 分散式部署

Linux 分散式部署

分散式Hadoop部署:

        第一步:為每一臺機器生成一個公鑰。

    命令: $ ssh-keygen -t rsa

 

        第二步:將自己的公鑰發給其他機器

                ssh-copy-id bigdata-hpsk03.huadian.com

 

NTP時間同步:通過ntp服務實現每臺機器的時間一致

    方法一:通過Linux crontab實現

                            根據時間規則去執行某個命令

                            Contab -e

                             *          *          *          *          *

                            Command

                            分          時          日         月         周

                            00-59     00-23     1-31    1-12      0-7

                            比如:

        每天凌晨兩點執行shell.sh

                            00          2             *         *          *  sh/opt/datas/shell.sh

    方法二:直接使用ntp服務同步外網時間伺服器

        選擇一臺機器作為中間同步服務AA與外網同步,BC同步A

        配置A   sudo vim  /etc/ntp.conf

                      刪除預設配置:

                            restrict default kod nomodify notrap nopeer noquery

                            restrict -6 default kod nomodify notrap nopeer noquery

                            restrict 127.0.0.1

                            restrict -6 ::1


                            server 0.centos.pool.ntp.org

                            server 1.centos.pool.ntp.org

                            server 2.centos.pool.ntp.org

                      新增

        配置A允許哪些機器與我同步

                                restrict 192.168.134.0 mask 255.255.255.0 nomodify notrap

        配置A跟誰同步

                                server 202.112.10.36

                            配置本地同步

                                server  127.127.1.0     # local clock

                                fudge   127.127.1.0 stratum 10  

        啟動ntp服務

                                sudo service ntpd start

        配置B,C同步A

                                sudo vim /etc/ntp.conf

                                server 192.168.134.221

                            手動同步

                                sudo ntpdate 192.168.134.221

        開啟ntp服務

                                sudo service ntpd start

        方法三:偷懶:sudo date -s "2018-04-27 15:56:00"

將三臺機器的時間設定為一樣的。

 

 

 

部署Hadoop 需注意的是所有的主機目錄結構要相同

安裝jdk:參考:https://blog.csdn.net/zt13258579889/article/details/80057669

安裝完成之後 分發給其他機器:

scp -r jdk1.8.0_91 [email protected] :/opt/modules/

或者其他主機下載從你安裝了jdk的主機下載。

scp -r jdk1.8.0_91 [email protected] :/opt/modules/jdk1.8.0_91 /opt/modules/

然後配置環境變數。

##JAVA_HOME

export JAVA_HOME=/opt/modules/jdk1.8.0_91

export PATH=$PATH:$JAVA_HOME/bin

 

安裝hadoop

第一步:下載解壓安裝

a、給壓縮包賦予可執行條件 $ sudo chmod u+x  hadoop-2.7.3.tar.gz

b、解壓到指定位置中: tar -zxf hadoop-2.7.3.tar.gz  -C/opt/modules/

 

解壓成功之後cd 到你解壓的檔案目錄下進行下一步

修改配置檔案

env.sh:配置環境變數hadoop-env   mapred-env    yarn-env

 

site.xml:配置使用者自定義需求

core-site:配hadoop全域性的一些屬性

fs.defaultFShdfs的入口

hadoop.tmp.dir hadoop臨時儲存目錄


 

hdfs-site:配置hdfs的屬性

dfs.replication:檔案副本數

dfs.permission.enabled

 

mapred-site:用於配置MapReduce的屬性

MapReduce執行在yarn

 

yarn-site:用於配置yarn的屬性

 

Slaves 配置各個從節點。

 

將配置好的檔案分發到各個機器上。

 

從機器上下載檔案


執行測試:

第一步:格式化主節點的機器namenode

第二步:分別給各個機器開啟從節點 sbin/hadoop-daemo.sh start namenode

第三步:開啟ResoutcemanagerNode manager

 

主機開啟namenode

 

 

開啟從節點

 

其他機器同樣也開啟了

 

 

開啟Resource managernodemanager