一 準備資源和環境
下載Centos 7.2 的iso安裝鏡像,jdk1.8 for Linux壓縮包,hadoop3.0.0壓縮包。下載鏈接分別如下:
https://www.centos.org/download/
http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
http://hadoop.apache.org/releases.html
如下:
[root@cmaster home]# ls
hadoop-3.0.0-alpha4 hadoop-3.0.0-alpha4.tar.gz jdk-8u101-linux-x64.rpm
[root@cmaster home]#
準備三臺centos7的系統:
Master:192.168.161.133
Slave1:192.168.161.135
Slave2:192.168.161.136
二安裝jdk和hadoop
1 安裝jdk
rpm -ivh jdk-8u101-linux-x64.rpm
查看jdk安裝目錄
rpm -qal|grep java
2 安裝hadoop
進入home目錄,直接解壓hadoop即可
tar -zvxf hadoop-3.0.0-alpha4.tar.gz
3. 環境變量
vi /etc/profile
#Hadoop 3.0
export HADOOP_HOME=/home/hadoop-3.0.0-alpha4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
注意:/home/hadoop-3.0.0-alpha4爲解壓路徑
三配置hadoop
先在192.168.161.133上面配置hadoop,然後scp到slave上。
hadoop3.0需要配置的文件有core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、hadoop-env.sh、workers
新建目錄:
cd /home/hadoop-3.0.0-alpha4
mkdir tmp
mkdir -p hdfs/{data,name}
1 core-site.xml配置文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.161.133:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///home/hadoop-3.0.0-alpha4/tmp</value>
</property>
</configuration>
2 hdfs-site.xml配置文件
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoop-3.0.0-alpha4/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoop-3.0.0-alpha4/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.161.135:9001</value>
</property>
</configuration>
3 works
192.168.161.135
192.168.161.136
4 mapred-site配置
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/home/hadoop-3.0.0-alpha4/etc/hadoop,
/home/hadoop-3.0.0-alpha4/share/hadoop/common/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/common/lib/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/hdfs/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/hdfs/lib/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/mapreduce/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/mapreduce/lib/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/yarn/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>
5 yarn-site.xml配置
<configuration>
<!-- Site specific YARN configuration properties -->
<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.ShuffleHandle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.161.133:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.161.133:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.161.133:8040</value>
</property>
</configuration>
6 hadoop-env.sh中配置java_home
export JAVA_HOME=/usr/java/jdk1.8.0_101
7 將配置好的hadoop文件夾傳輸到slave上面
cd /home/
scp -r hadoop-3.0.0-alpha4 [email protected]:/home/
scp -r hadoop-3.0.0-alpha4 [email protected]:/home/
8 配置服務主機名和域名IP解析
1 linux 配置主機、域名-ip
CentOS7下修改主機名
第一種:hostname 主機名
01.hostname 主機名稱
這種方式,只能修改臨時的主機名,當重啓機器後,主機名稱又變回來了。
第二種:hostnamectl set-hostname <hostname>
命令行中輸入
hostnamectl set-hostname <主機名>
使用這種方式修改,可以永久性的修改主機名稱!
1 修改主機名
192.168.161.133 hostnamectl set-hostname master
192.168.161.135 hostnamectl set-hostname slave1
192.168.161.136 hostnamectl set-hostname slave2
/etc/hostname 中會自動更新
2 建立域名IP解析
在192.168.161.133中建立域名解析到ip
vi /etc/hosts
192.168.161.133 master
192.168.161.135 slave1
192.168.161.136 slave2
2 windows本地配置域名解析
像linux的/etc/hosts一樣,windows也有一個類似的hosts文件
C:/WINDOWS/system32/drivers/etc/hosts
在這裏可以設置本地域名
本地域名是比遠程DNS優先級要高的,
所以可以在這裏設置本地域名,讓域名指向你想要的ip,
特別是在遠程域名與多個ip綁定,而你只希望其指向某一個ip的時候
四 啓動hadoop
1. 格式化namenode
bin/hdfs namenode -format
2. 啓動dfs及yarn
sbin/start-dfs.sh
sbin/start-yarn.sh
啓動會報錯,解決方法:
2.1 sbin/start-dfs.sh 報錯:
是因爲缺少用戶定義造成的,所以分別編輯開始和關閉腳本
vim sbin/start-dfs.sh
vim sbin/stop-dfs.sh
在頂部空白處添加內容:
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
2.2 sbin/start-yarn.sh 報錯
是因爲缺少用戶定義造成的,所以分別編輯開始和關閉腳本
$ vim sbin/start-yarn.sh
$ vim sbin/stop-yarn.sh
在頂部空白處添加內容:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
2.3 可以採用另外一種方法啓動
啓動hadoop
首先格式化主節點命名空間,使用命令:
/home/joe/hadoop-3.0.0-alpha1/bin/hdfsnamenode –formate
其次在主節點上啓動存儲服務和資源管理主服務。使用命令:
/home/joe/hadoop-3.0.0-alpha1/sbin/hadoop-daemon.sh start namenode #啓動主存儲服務
/home/joe/hadoop-3.0.0-alpha1/sbin/yarn-daemon.sh start resourcemanager # 啓動資源管理服務。
最後在從節點上啓動存儲從服務和資源管理從服務(以下兩條命令要在兩臺機器上分別執行)
/home/joe/hadoop-3.0.0-alpha1/sbin/hadoop-daemon.sh start datanode #啓動從存儲服務
/home/joe/hadoop-3.0.0-alpha1/sbin/yarn-daemon.sh start nodemanager #啓動資源管理從服務
3 通過jps命令查看
master:
[root@cmaster hadoop-3.0.0-alpha4]# jps
3842 ResourceManager
4217 Jps
2766 NameNode
[root@cmaster hadoop-3.0.0-alpha4]#
Slave1:
[root@cslave0 home]# jps
2561 DataNode
3333 Jps
3224 NodeManager
2621 SecondaryNameNode
[root@cslave0 home]#
Slave2:
[root@cslave1 home]# jps
3256 Jps
2955 DataNode
3084 NodeManager
[root@cslave1 home]#
4現在便可以打開頁面http://192.168.161.133:8088及http://192.168.161.133:9870;看到下面兩個頁面時說明安裝成功。
五借鑑網址:
http://blog.csdn.net/u010499619/article/details/52886872
http://www.linuxidc.com/Linux/2016-11/137244.htm
http://blog.csdn.net/u013725455/article/details/70147331
http://www.linuxidc.com/Linux/2016-10/136166.htm