hadoop叢集安裝到centos7
hadoop
hdfs叢集(負責檔案讀寫)
yam叢集(負責為mapreduce分配硬體資源)
name node 預設埠9000(客戶端)
resource manage (管理幹活的)
data node(node manage)(幹活的)
準備4臺虛擬機器 最少每臺1GB記憶體,推薦2GB
sudo vi /etc/hosts修改所有虛擬機器hosts,將之前系統預設的全部註釋掉
192.168.1.104 mini1
192.168.1.107 mini2
192.168.1.103 mini3
192.168.1.106 mini4
修改每個虛擬機器名稱
開啟192.168.1.104 命令列
hostname mini1
開啟192.168.1.107 命令列
hostname mini2
開啟192.168.1.103 命令列
hostname mini3
開啟192.168.1.106 命令列
hostname mini4
給四臺虛擬機器
useradd hadoop
passwd hadoop
自行安裝JDK
配置許可權
先切換回去
su
vi /etc/sudoers
root ALL=(ALL) ALL這句話下面加入
hadoop ALL=(ALL) ALL
:wq!
傳送給其他虛擬機器
scp /etc/sudoers mini2:/etc/
或者手動修改
防火牆自行關閉
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
安裝免密登入
在hadoop使用者下新建/home/hadoop/app資料夾
mkdir /home/hadoop/app
上傳hadoop-2.6.4.tar
解壓縮
tar -zxvf hadoop-2.6.4.tar.gz -C /home/hadoop/app/
開啟mini1
cd /home/hadoop/app/hadoop-2.6.4/etc/hadoop/
配置
echo $JAVA_HOME
/usr/local/jdk/jdk1.8.0_11
vi hadoop-env.sh
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_11
:wq
配置
core-site.xml(公共)
hdfs-site.xml(hdfs)
mpared-site.xml(mapReduce)
yarn-site.xml(yarn)
vi core-site.xml
在configuratio中加入
<property>
<name>fs.defaultFS</name>
<value>hdfs://mini1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hdpdata</value>
</property>
(第一個是檔案伺服器路徑,第二個是檔案地址)
:wq
vi hdfs-site.xml
在configuratio中加入
<property>
<name>dfs.replication</name>
<value>2</value>
<description>檔案保留兩份,預設為3</description>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
<description>去掉許可權,小心誤刪檔案</description>
</property>
vi mapred-site.xml.template
在configuratio中加入
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(mapreduce提交後就會交給yarn去跑,如果不填,預設local,則會在本機上單機模擬跑一下,就不會分散式執行)
mv mapred-site.xml.template mapred-site.xml
vi yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>mini1</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<description>The http address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<description>The https adddress of the RM web application.</description>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<description>The address of the RM admin interface.</description>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
<discription>每個節點可用記憶體,單位MB,預設8182MB</discription>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
<discription>這個的意思是忽略虛擬記憶體的檢查,如果你是安裝在虛擬機器上,這個配置很有用,配上去之後後續操作不容易出問題。如果是實體機上,並且記憶體夠多,可以將這個配置去掉</discription>
</property>
(提供一個輔助服務)
分發到所有機器上去
cd /home/hadoop/
scp -r app mini2:/home/hadoop/
scp -r app mini3:/home/hadoop/
scp -r app mini4:/home/hadoop/
sudo vi /etc/profile
新增
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_11
export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.4
export PATH=JAVA_HOME/bin:HADOOP_HOME/sbin
sudo scp /etc/profile 192.168.1.107:/etc/
sudo scp /etc/profile 192.168.1.103:/etc/
sudo scp /etc/profile 192.168.1.106:/etc/
先把hadoop中hdfs格式化(生成相應資料目錄)
source /etc/profile
cd
hadoop namenode -format
ll /home/hadoop/hdpdata/dfs/name/current
cd /home/hadoop/app/hadoop-2.6.4/sbin
hadoop-daemon.sh start namenode
jps
瀏覽器訪問(namenode頁面)
192.168.1.104:50070
在mini2上面輸入命令
source /etc/profile
hadoop-daemon.sh start datanode
jps
在mini3上面輸入命令
source /etc/profile
hadoop-daemon.sh start datanode
jps
在mini4上面輸入命令
source /etc/profile
hadoop-daemon.sh start datanode
jps
檢視 192.168.1.104:50070
如果有錯誤檢視 cd /home/hadoop/app/hadoop-2.6.4/logs日誌檔案
以指令碼啟動datanode
先關閉各個節點datanode
hadoop-daemon.sh stop datanode
開啟mini1
hadoop-daemon.sh stop namenode
cd /home/hadoop/app/hadoop-2.6.4/etc/hadoop
vi slaves
去掉原來的localhost
加入
mini2
mini3
mini4
:wq
免密登入配置
ssh-keygen
三個回車
ssh-copy-id mini1
ssh-copy-id mini2
ssh-copy-id mini3
ssh-copy-id mini4
輸入三次密碼hadoop
測試是否正常
ssh mini4
cd /home/hadoop/app/hadoop-2.6.4/sbin
stop-all.sh
stop-dfs.sh
jps
start-all.sh