Hadoop是小象——Hadoop集羣安裝配置

所需軟件

Linux所需軟件包括:

  • JavaTM1.5.x,必須安裝,建議選擇Sun公司發行的Java版本(以前安裝過)。
  • ssh 必須安裝並且保證 sshd一直運行,以便用Hadoop 腳本管理遠端Hadoop守護進程。(一般默認CentOS已經安裝了OpenSSH,即使你是最小化安裝也是如此,所以不用安裝。)

爲了能夠方便複製,主要是vmware tools時靈時不靈的情況(主要是Install 的時候不方便),我這裏使用XShell。

集羣網絡配置

本文中的集羣網絡環境配置如下:
master內網IP:192.168.235.131
slave1內網IP:192.168235.132
slave2內網IP:192.168.235.133

另外主機和虛擬機Ping不通的原因如下:
https://blog.csdn.net/qqxyy99/article/details/80864862

克隆虛擬機的問題,克隆後需要先修改mac地址,再開機修改ip。否則很麻煩,別問我怎麼知道的,不然這篇文章在昨天就更了。

通過虛擬機文件複製,在VMware改名快速創建slave1和slave2後,可能會產生網卡MAC地址重複的問題,需要在VMware網卡設置中重新生成MAC,在虛擬機複製後需要更改內網網卡的IP。

集羣SSH免密登陸設置

目的:創建一個可以ssh免密登陸的集羣


  • hosts文件設置

爲了不直接使用IP,可以通過設置hosts文件達到ssh slave1這樣的的效果(三個節點設置相同)
$sudo vim /etc/hosts
在文件尾部添加如下行,保存後退出:

192.168.235.131 master
192.168.235.132 slave1
192.168.235.133 slave2

  • hostname修改

centos7默認的hostname是localhost,爲了方便將每個節點hostname分別修改爲master、slave1、slave2(以下以master節點爲例)。
$sudo hostnamectl set-hostname master
重啓terminal,然後查看:$hostname
在這裏插入圖片描述


  • ssh設置

設置master節點和兩個slave節點之間的雙向ssh免密通信,下面以master節點ssh免密登陸slave節點設置爲例,進行ssh設置介紹(以下操作均在master機器上操作):
首先生成master的rsa密鑰:$ssh-keygen -t rsa

設置全部採用默認值進行回車

將生成的rsa追加寫入授權文件:$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

給授權文件權限:$chmod 600 ~/.ssh/authorized_keys

進行本機ssh測試:$ssh master正常免密登陸後所有的ssh第一次都需要密碼,此後都不需要密碼
在這裏插入圖片描述

將master上的authorized_keys傳到slave1
sudo scp ~/.ssh/id_rsa.pub root@slave1:~/

登陸到slave1操作:$ssh slave1輸入密碼登陸

$cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
如果slave上沒有這個文件夾,最好先執行一遍$ssh-keygen -t rsa

修改authorized_keys權限:$chmod 600 ~/.ssh/authorized_keys

退出slave1:$exit

進行免密ssh登陸測試:$ssh slave1
在這裏插入圖片描述

Hadoop安裝配置

目的:獲得正確配置的完全分佈式Hadoop集羣(以下操作均在master主機下操作)
安裝前三臺節點都需要需要關閉防火牆和selinux:
$sudo systemctl stop firewalld.service
$sudo systemctl disable firewalld.service
在這裏插入圖片描述
將SELinux status參數設定爲關閉狀態:
$sudo vim /usr/sbin/sestatus
SELinux status: disabled


  • Hadoop安裝

首先在master節點進行hadoop安裝配置,之後使用scp傳到slave1和slave2。
下載Hadoop 二進制源碼 至master,我們這裏使用wget下載如下地址。
http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz

在這裏插入圖片描述
好了,安裝後解壓。
$tar -zxvf hadoop-2.8.5.tar.gz
在這裏插入圖片描述


  • Hadoop的master節點配置

配置hadoop的配置文件core-site.xml  hdfs-site.xml  mapred-site.xml  yarn-site.xml  slaves(都在~/hadoop-2.8.5/etc/hadoop文件夾下)
$cd ~/hadoop/etc/hadoop
在這裏插入圖片描述
$vim core-site.xml其他文件相同,以下爲配置文件內容:

1.core-site.xml

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/leesanghyuk/hadoop-2.8.5/hadoop/tmp</value>
  </property>
</configuration>

2.hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/leesanghyuk/hadoop-2.8.5/hadoop/tmp/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/leesanghyuk/hadoop-2.8.5/hadoop/tmp/dfs/data</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:9001</value>
  </property>
</configuration>

3.mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

4.yarn-site.xml

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
  </property>
</configuration>

5.slaves
slave1
slave2

6.hadoop-env.sh
export JAVA_HOME=/home/Java/jdk1.6

在這裏插入圖片描述


  • Hadoop的其他節點配置

此步驟的所有操作仍然是在master節點上操作,以master節點在slave1節點上配置爲例:
複製hadoop文件至slave1:$scp -r ~/hadoop root@slave1:~/
然後,複製到slave2。


  • Hadoop環境變量配置

配置環境變量,修改vi /etc/profile文件使其永久性生效,添加行(每個節點都需要此步操作,以master節點爲例):

#hadoop environment vars
export HADOOP_HOME=/home/leesanghyuk/hadoop-2.8.5
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

執行 命令source /etc/profile或 執行點命令./profile使其修改生效,執行完可通過echo $PATH命令查看是否添加成功。
在這裏插入圖片描述


  • Hadoop啓動

格式化namenode:$hadoop namenode -format

啓動hadoop:$start-all.sh

master節點查看啓動情況:$jps
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章