CentOS7 Hadoop-2.7.4 分散式部署

liuhelong發表於2017-08-12

下載Hadoop

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz

官方地址:http://mirror.bit.edu.cn/apache/hadoop/common/

如果wget不存在,使用如下命令安裝

yum install -y wget

系統配置

host(別名不能出現.號)

192.168.1.211 hd211
192.168.1.212 hd212
192.168.1.214 hd214

免密碼登入

cd /root/.ssh/
ssh-keygen -t rsa

一路回車

同步到其它伺服器

ssh-copy-id hd211
ssh-copy-id hd212
ssh-copy-id hd214

安裝、配置Hadoop

解壓安裝包

tar -zxvf hadoop-2.7.4.tar.gz

進入Hadoop配置檔案目錄

cd hadoop-2.7.4/

編輯hadoop-env.sh

vi etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/jre
export HADOOP_LOG_DIR=/data/hadoop/logs

編輯yarn-env.sh

vi etc/hadoop/yarn-env.sh
YARN_LOG_DIR="/data/hadoop/logs"

編輯core-site.xml

vi etc/hadoop/core-site.xml

內容

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hd212:9000</value>
  </property>
  <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/data/hadoop/tmp</value>
    <description>Abase for other temporary   directories.</description>
  </property>
</configuration>

編輯hdfs-site.xml

vi etc/hadoop/hdfs-site.xml

內容

<configuration>
  <property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
  </property>
  <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
  </property>
  <property>
    <name>dfs.blocksize</name>
    <value>64m</value>
  </property>
  <property>
    <name>dfs.nameservices</name>
    <value>hadoop-cluster-zgw</value>
  </property>
  <!-- 上傳檔案時rep係數由client決定 -->
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/data/hadoop/hdfs/name</value>
  </property>
  <property>
    <name>dfs.namenode.checkpoint.dir</name>
    <value>/data/hadoop/hdfs/checkpoint</value>
  </property>
  <property>
    <name>dfs.namenode.checkpoint.edits.dir</name>
    <value>/data/hadoop/hdfs/checkpoint</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/data/hadoop/hdfs/data</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hd211:50090</value>
  </property>
</configuration>

編輯mapred-site.xml

cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
vi etc/hadoop/mapred-site.xml

內容

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>hd212:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hd212:19888</value>
  </property>
</configuration>

編輯yarn-site.xml

vi etc/hadoop/yarn-site.xml

內容

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/data/hadoop/yarn/nodemanager</value>
  </property>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hd212</value>
  </property>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>hd212:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>hd212:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>hd212:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>hd212:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>hd212:8034</value>
  </property>
</configuration>

編輯slaves

vi etc/hadoop/slaves

內容

hd211
hd212
hd214

環境變數

vi /etc/profile
#jdk
export JAVA_HOME=/usr/lib/jvm/jre
export PATH=$PATH:$JAVA_HOME/bin 

#hadoop  
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.4  
export PATH=$PATH:$HADOOP_HOME/sbin  
export PATH=$PATH:$HADOOP_HOME/bin 
source /etc/profile

建立目錄

mkdir /data/hadoop
mkdir /data/hadoop/hdfs
mkdir /data/hadoop/hdfs/data
mkdir /data/hadoop/hdfs/checkpoint
mkdir /data/hadoop/hdfs/name
mkdir /data/hadoop/yarn
mkdir /data/hadoop/yarn/nodemanager
mkdir /data/hadoop/tmp

防火牆配置

firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --permanent --add-port=50070/tcp
firewall-cmd --permanent --add-port=50090/tcp
firewall-cmd --permanent --add-port=10020/tcp
firewall-cmd --permanent --add-port=19888/tcp
firewall-cmd --permanent --add-port=8030/tcp
firewall-cmd --permanent --add-port=8031/tcp
firewall-cmd --permanent --add-port=8032/tcp
firewall-cmd --permanent --add-port=8033/tcp
firewall-cmd --permanent --add-port=8088/tcp
firewall-cmd --reload

格式華HDFS檔案系統

hdfs namenode –format

啟動hadoop

start-all.sh

瀏覽器訪問

hd212:50070

其他

1.管理介面只能看到一個DataNode

2.SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
注意 -format 是否為中文符號

詳細配置參考連結

相關文章