1 網絡配置
如果是配虛擬機,記得到計算機管理—》服務,打開以下服務,要不然上不了網。
1.1編輯網絡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ef14485b-10d0-4b42-ae97-c1776f696d7b
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.88.10
PREFIX=24
GATEWAY=192.168.88.2
DNS1=223.5.5.5
1.2 重啓網絡服務
Service network restart
2 時間同步
參考博客:https://blog.csdn.net/zisefeizhu/article/details/81535299
2.1安裝時間同步工具ntp : yum install –y ntp
改變時區 :
rm –rf /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步時間 :
/usr/sbin/ntpdate –u cn.pool/ntp.org
自動同步時間 :
vim /etc/crontab
(針對root用戶) 或 crontab –e
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
3 關閉防火牆
systemctl stop firewalld
systemctl disable firewalld
4 配置主機名
4.1 關於本機設置主機名
[root@master ~]# vim /etc/sysconfig/network
配置信息如下
NETWORKING=yes #啓動網絡
HOSTNAME=master #主機名
[root@localhost ~]# vim /etc/hostname
master
4.2 將主機名立即生效
[root@localhost ~]# hostname master
之後重啓永久有效
5 配置主機名IP地址映射文件/etc/hosts
[root@centos01 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.10 centos01
192.168.88.11 centos02
192.168.88.12 centos03
6 安裝JDK
6.1 新建目錄/usr/java
[root@centos01 ~]# mkdir /usr/java
6.2 將JDK文件解壓,放到/usr/java目錄下
[root@centos01 java]# tar -zxvf /usr/java/jdk-8u201-linux-x64.tar.gz
6.3 設置環境路徑
[root@centos01 java]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_201/
export PATH=$JAVA_HOME/bin:$PATH
6.4 更新環境路徑
[root@centos01 java]# source /etc/profile
7 免密登錄設置
公鑰用來加密,私鑰用來解密。
要把所有機器的公鑰都放在.ssh/authorized_keys文件裏,並分享給所有機器,那麼集羣中機器就可以免密登錄了
CentOS默認沒有啓動ssh無密登錄,去掉/etc/ssh/sshd_config其中2行的註釋,每臺服務器都要設置,
#RSAAuthentication yes
#PubkeyAuthentication yes
7.1 Master節點上
7.1.1 生成公鑰和祕鑰文件
[root@localhost java]# ssh-keygen -t rsa
7.1.2 複製公鑰文件
[root@localhost .ssh]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
7.1.3 設置公鑰文件權限
[root@localhost .ssh]# chmod 600 authorized_keys
7.1.4 將slave節點傳入的公鑰添加到ssh/authorized_keys文件
[root@centos01 ~]# cat id_rsa01.pub >> .ssh/authorized_keys
[root@centos01 ~]# cat id_rsa02.pub >> .ssh/authorized_keys
7.1.5 將authorized_keys文件複製到其他節點
[root@localhost .ssh]# scp ~/.ssh/authorized_keys root@centos02:~/
[root@localhost .ssh]# scp ~/.ssh/authorized_keys root@centos03:~/
7.2 在slave節點上
7.2.1 生成公鑰和祕鑰文件
[root@localhost java]# ssh-keygen -t rsa
7.2.2 將生成的公鑰傳入master節點
[root@centos02 .ssh]# scp ~/.ssh/id_rsa.pub root@centos01:~/id_rsa01.pub
[root@centos03 .ssh]# scp ~/.ssh/id_rsa.pub root@centos01:~/id_rsa02.pub
7.2.3 將master節點上傳來的公鑰放入~/.ssh目錄下
[root@localhost ~]# mv ~/authorized_keys ~/.ssh/
8 Hadoop安裝
8.1 在/usr/目錄下新建一個hadoop2.7.3的目錄
[root@centos01 usr]# mkdir hadoop2.7.3
然後將hadoop壓縮文件上傳到/usr/hadoop2.7.3目錄下。
8.2 解壓hadoop
[root@centos01 hadoop-2.7.3]# tar -zxvf hadoop-2.7.3.tar.gz
然後就會到/usr/hadoop2.7.3/hadoop-2.7.3/目錄下看到;
drwxr-xr-x. 2 root root 194 Aug 18 2016 bin
drwxr-xr-x. 3 root root 20 Aug 18 2016 etc
drwxr-xr-x. 2 root root 106 Aug 18 2016 include
drwxr-xr-x. 3 root root 20 Aug 18 2016 lib
drwxr-xr-x. 2 root root 239 Aug 18 2016 libexec
-rw-r--r--. 1 root root 84854 Aug 18 2016 LICENSE.txt
-rw-r--r--. 1 root root 14978 Aug 18 2016 NOTICE.txt
-rw-r--r--. 1 root root 1366 Aug 18 2016 README.txt
drwxr-xr-x. 2 root root 4096 Aug 18 2016 sbin
drwxr-xr-x. 4 root root 31 Aug 18 2016 share
8.3 配置環境變量hadoop-env.sh
環境變量文件中,只需要配置JDK的路徑。
[lan@master ~]$ cd hadoop-2.7.1/etc/hadoop/
[lan@master hadoop]$ vim hadoop-env.sh
在文件的靠前的部分找到下面的一行代碼:
export JAVA_HOME=${JAVA_HOME}
將這行代碼修改爲下面的代碼:
export JAVA_HOME=/usr/java/jdk1.8.0_101
然後保存文件。
8.4 配置環境變量yarn-env.sh
環境變量文件中,只需要配置JDK的路徑。
[lan@master hadoop]$ vim yarn-env.sh
在文件的靠前的部分找到下面的一行代碼:
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
將這行代碼修改爲下面的代碼(將#號去掉):
export JAVA_HOME=/usr/java/jdk1.8.0_101
然後保存文件。
8.5 配置核心組件core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://centos01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop2.7.3/hadoopdate</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property></configuration>
8.6 配置文件系統hdfs-site.xml
使用gedit編輯:
[lan@master hadoop]$ vim hdfs-site.xml
修改內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>centos01:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
注意:其中產生的namenode鏡像文件目錄dfs.namenode.name.dir和datanode的dfs.datanode.data.dir目錄和secondary namenode的dfs.namenode.checkpoint.dir目錄默認都在core-site.xml配置的tmp文件夾下。系統默認配置了,不需要我們在配置。
8.7 配置文件系統yarn-site.xml
使用gedit編輯:
[lan@master hadoop]$ vim yarn-site.xml
修改內容如下:
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>centos01:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>centos01:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>centos01:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>centos01:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>centos01:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1536</value>
</property>
</configuration>
8.8 配置計算框架mapred-site.xml
複製mapred-site-template.xml文件:
[lan@master hadoop]$ cp mapred-site.xml.template mapred-site.xml
使用vim編輯:
[lan@master hadoop]$ vim mapred-site.xml
修改內容如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>centos01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>centos01:19888</value>
</property>
</configuration>
8.9 配置slaves文件
使用vim編輯:
[lan@master hadoop]$ vim slaves
用下面的代碼替換slaves中的內容:
Centos02
Centos03
8.10 複製到從節點上
使用下面的命令將已經配置完成的Hadoop複製到從節點HadoopSlave上:
[rootcentos01 usr]$ scp -r hadoop-2.7.3 root@centos02:/usr/
[rootcentos01 usr]$ scp -r hadoop-2.7.3 root@centos03:/usr/
注意:因爲之前已經配置了免密鑰登錄,這裏可以直接遠程複製。
8.11 啓動hadoop集羣
8.11.1格式化文件系統
[root@centos02 hadoop-2.7.3]# ./bin/hdfs namenode –format
8.11.2啓動hadoop集羣
[root@centos02 hadoop-2.7.3]# ./sbin/start-all.sh
執行命令後,提示出入yes/no時,輸入yes。
8.12 查看進程
8.12.1在master節點
[root@centos02 hadoop-2.7.3]# jps
8486 Jps
8251 DataNode
8349 NodeManager
[root@centos02 hadoop-2.7.3]#
8.12.2在slave節點上
[root@centos03 ~]# jps
8320 NodeManager
8457 Jps
8222 DataNode
9查看web UI
官網上默認的端口
鏈接:https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/ClusterSetup.html#Web_Interfaces