Hadoop環境配置-分散式
分散式部署
機器準備
ip : hostname: Memory Core:
192.168.59.162 bigdata-hpsk02.huadian.com bigdata-hpsk02 2G 1
192.168.59.163 bigdata-hpsk03.huadian.com bigdata-hpsk03 2G 1
192.168.59.164 bigdata-hpsk04.huadian.com bigdata-hpsk04 2G 1
要求:
多臺機器之間,
目錄結構一致,使用者名稱,許可權等一致
防火牆關閉,selinux
克隆之後,只用root使用者操作
vi /etc/udev/rules.d/70-persistent-net.rules
vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/sysconfig/network
vi /etc/hosts
安裝方式:在Linux上安裝軟體
不使用批量安裝工具
手動將配置好的Hadoop分發給其他機器
傳統的Apache版本可以使用該方法
使用批量工具:大資料叢集運維管理工具
cm (cloudera manager),
cloudera公司提供
CDH版本:
框架多了,相容性問題就出現了,CDH版本幫你解決了這個問題。
修改了很多bug
比Apache的版本穩定性好
用的比較多的版本:5.7.6
機器選型:
硬體伺服器
雲伺服器
配置
一般配置
16core 32GB
32core 64G spark,使用者畫像
硬碟:8~16T 12T
資料問題
中小型企業
80 * 5 * 24 *30 *12 *3 *3 = 300t
80 * 24 * 5 = 10G
一條記錄600位元組 ,2000W
Linux環境配置 :
ip,主機名、本地對映、DNS
防火牆,selinux:(/ect/selinux/config)
----------------------
hadoop啟動的過程方式
單個程序啟動
sbin/hadoop-daemon.sh start XX
分別啟動hdfs和yarn
sbin/start-dfs.sh
DataNode
NameNode
SecondaryNameNode
sbin/start-yarn.sh
一次性啟動所有
sbin/start-all.sh
----------------------
ssh免金鑰登入:
ssh遠端登入
ssh bigdata-hpsk03.huadian.com
第一步:為每臺機器生產自己公私鑰
ssh-keygen -t rsa
/home/huadian/.ssh
第二步:共公鑰發給每臺機器,包括自己
ssh-copy-id bigdata-hpsk02.huadian.com
ssh-copy-id bigdata-hpsk03.huadian.com
ssh-copy-id bigdata-hpsk04.huadian.com
---測試---
用ssh登入到其他機器,包括自己
NTP時間同步
Linux中,我們可以通過ntp服務實現每臺機器的時間一致
實現方式
通過Linux crotab實現
讓我們的系統每1分鐘和時間伺服器進行同步
crotab -e
* * * * * command
分 時 日 月 周
*/1 * * * * ntpdate ntp_server_ip
世界使用ntp服務同步外網 時間伺服器
選擇一臺機器作為中間同步服務A,A和外網進行同步,
B,C同步A
配置A:
sudo vi /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和誰同步
server 202.112.10.36
允許誰可以和我同步
restrict 192.168.59.0 mask 255.255.255.0 nomodify notrap
配置本地同步
server 127.127.1.0
fudge 127.127.1.0 stratnum 10
啟動ntp服務
sudo service ntpd start
配置B,C和A同步
sudo vi /etc/ntp.conf
刪除:
新增:
server 192.168.59.162
開啟ntp服務
sudo service ntpd start
手動同步
sudo ntpdate 192.168.59.162
檢視當前主機和誰同步:ntpq -p
偷懶:
sudo date -s "2018-06-16 16:58:00"
安裝部署Hadoop:
節點分佈情況
node2 datanode nodemanager NameNode(工作)
node3 datanode nodemanager
node4 datanode nodemanager resourceManager(工作)
安裝JDK:
node2上面
tar -zxcf
scp -r jdk1.8.0_91/ [email protected]bigdata-hpsk03.huadian.com:/opt/modules/
scp -r jdk1.8.0_91/ [email protected]:/opt/modules/
下載:scp -r [email protected]:/opt/modules/ jdk1.8.0_91/
環境變數配置
Hadoop:
上傳解壓
修改配置檔案
-》-env.sh 環境變數
JAVA_HOME:
Hadoop-env.sh
mapred-env.sh
yarn-env.sh
-》-site.xml:配置使用者自定義需求:
core-site:配置Hadoop全域性的一致屬性
fs.defaultFS:hdfs入口
hadoop.tmp.dir:臨時儲存目錄
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata-hpsk02.huadian.com:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.7.3/data/tmpData</value>
</property>
hdfs-site:HDFS的屬性
dfs.replication:檔案副本數
dfs.namenode.secondary.http-address:bigdata-hpsk02.huadian.com:50090(配置secondarynamenode)
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata-hpsk02.huadian.com:50090</value>
</property>
mapred-site:配置MapReduce屬性
mapreduce.framework.name:MapReduce執行在YARN上
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
# 下面的是配置歷史伺服器,可以不配置,看需要:
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata-hpsk02.huadian.com:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata-hpsk02.huadian.com:19888</value>
</property>
yarn-site:使用者配置YARN屬性
yarn.resourcemanager.hostname
yarn.nodemanager.aux-services
resourceManager入口
告知yarn ,mapreduce程式將在你這裡執行
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata-hpsk04.huadian.com</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
#下面的是配置log日誌檔案,用於方便查看出錯資訊日誌檔案(可以不配置,看需要):
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
分發:
scp -r hadoop-2.7.3/ [email protected]:/opt/modules/
scp -r hadoop-2.7.3/ [email protected]:/opt/modules/
啟動測試:
-》node2:格式化(bin/hdfs namenode -format),啟動NameNode
-》3個節點中,啟動dataNode
-》sbin/stop-dfs.sh sbin/stop-yarn.sh
-》sbin/start-dfs.sh sbin/strat-yarn.sh
啟動對應程序:
在hpsk02啟動HDFS
在hpsk04啟動YARN