hadoop安裝配置

系統準備:所需系統:64位CentOS系統
一、軟件準備
二、服務器環境準備(每臺服務器都執行)
1、每臺服務器都同步時間
2、每臺服務器都關閉iptables、關閉selinux
3、每臺服務器都修改/etc/hosts文件
4、每臺服務器都配置java環境(這裏用的是jdk-1.8.0_45,需jdk7以上)
5、每臺服務器都配置Hadoop環境(這裏使用的是Hadoop2.7.1,先不用安裝Hadoop)
三、配置NameNode到其他節點免密登陸
四、配置Hadoop(在NameNode服務器上操作)
1、安裝Hadoop
2、配置Hadoop
五、複製Hadoop到其他節點
六、格式化(NameNode服務器上執行)
七、啓動Hadoop(NameNode服務器上執行)
八、驗證

一、軟件準備
a)hadoop-2.7.1_3jia5.tar.gz
b)jdk-8u45-linux-x64.rpm
二、服務器準備
a)準備4臺服務器
角色 IP 主機名
NameNode 10.0.2.11 hdfs1
Datenade 10.0.2.12 hdfs2
Datenade 10.0.2.13 hdfs3
Datenade 10.0.2.14 hdfs4
三、服務器環境準備(每臺服務器都執行)
1、每臺服務器都同步時間
/usr/sbin/ntpdate pool.ntp.org
2、每臺機器都關閉iptables、關閉selinux
service iptables stop
chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
setenforce 0

3、每臺服務器都修改/etc/hosts文件
10.0.2.11 hdfs1
10.0.2.12 hdfs2
10.0.2.13 hdfs3
10.0.2.14 hdfs4
4、每臺服務器都配置java環境
#rpm -ivh jdk-8u45-linux-x64.rpm
#vim /etc/profile.d/java.sh
JAVA_HOME=/usr/java/jdk1.8.0_45
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
執行:
source /etc/profile.d/java.sh
執行:java -version 查看java版本是否已經變成最新的。
5、每臺服務器都配置Hadoop環境(這裏使用的是Hadoop2.7.1,先不用安裝Hadoop。)
vim /etc/profile.d/hadoop.sh
HADOOP_HOME=/usr/local/hadoop
PATH=$HADOOP_HOME/bin:$PATH
PATH=$HADOOP_HOME/sbin:$PATH
export HADOOP_HOME PATH
執行:
source /etc/profile.d/hadoop.sh
四、配置NameNode到其他節點ssh免密登陸
#ssh-keygen -t rsa (一路回車,不要輸密碼)
#cd /root/.ssh
私鑰文件:id_raa
公鑰文件:id_rsa.pub
將四臺虛擬機裏(包含它自己的)的公鑰文件id_rsa.pub內容放到authorized_keys(一定要有四個)文件中:
[root@hdfs1 ~]# cat .ssh/authorized_keys
##Begin hdfs1
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArCBSUy5B7dO8T1ay34z6Nu6QUF5d3pT15EJwhdsJAIZjzuDDHq7oPwKVXSJySQYd+A6g9T1kC66G42ymqchJE8xp2W9tE3NIQKRS/hc+X5YgY4gcPm7oMym1o/k8tqs3uRNAlVhSDEgQnu0Rl4ZkwFOWRoPTTyIweXcYuG2j/UkbyDfNSEspvs3fCoVy0zeqj6FeAkzpX2WDZQ== root@hdfs1
##end hdfs1

##Begin hdfs2
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5B6ZIu2of83lNGQYmuV8C/1x0/8+cvzsZwqqmKlwXU5IbNUD2PrHju10wI9SPgBDdHvCHGiVWwGeaOt17GsTvGx1NKl5rgfBm98leGPgVhinkiH+uzhuR7Q/r9Y/Si/uqrzpPz+he/MVFYzGsfdckdMrOgu2+KldoWtDHQwPz+mBxe5J8ktHaOY5gDZFhUasne3aVf+Z+bNcEw== root@hdfs2
##end hdfs2

##Begin hdfs3
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtaPRIgqZG3bi7UTsialWUhtqXxIbau68iGHMqm8wi7Q1ZKuJKXjoJAwXynZ9LY+sV38wxw8bm7YSd6Xgq964KTF2wriL8P1rpGrlAv5N0We4XYp5hp+T6HZeyzWicHXh/t+x/5wEOwFinNEvPkUv4nAboNxyrTWXZwpuSstZogqvWGwySH0HfeliiOwXQWi6Pl0AI8uZlIudVw== root@hdfs3
##end hdfs3

##Begin hdfs4
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuTJgx8m2Sm35ef3BESyZhMG5hdU+g+bs17BK77Lvw4HDy2vYRMtXxQAcraWrU+xvYJIU4yTjM+g3dUpjYVaSUbMyfqxjO0H2x3reUlp5Jgi0h8K1OwJ6nUsUB93TT6yGVncHLYzrp1qkHyxYFEVmlvDO7Av1fT1YG/rQ6P7zPYnDi22FFl8PJ14N6FmV3hpr6mz7hZsQy51qzw== root@hdfs4
##end hdfs4

測試SSH之間是否互相通,無密碼登陸

五、配置Hadoop(在NameNode服務器上進行操作)
1、安裝hadoop
#tar -xvzf -C hadoop-2.7.1_3jia5.tar.gz /usr/local/
#ln -sv /usr/local/hadoop-2.7.1 /usr/local/hadoop
2、配置Hadoop
創建目錄:
cd /usr/local/hadoop
mkdir tmp && mkdir -p hdfs/data && mkdir -p hdfs/name

修改配置文件:
cd /usr/local/hadoop
vim etc/hadoop/core-site.xml
在<configuration>中間插入:
<property>
<name>fs.defaultFS</name>
<value>hdfs://hdfs1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///usr/local/hadoop/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>

vim etc/hadoop/hdfs-site.xml
在<configuration>中間插入:
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
vim etc/hadoop/mapred-site.xml
在<configuration>中間插入:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>hdfs1:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hdfs1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hdfs1:19888</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>http://hdfs1:9001</value&gt;
</property>

vim etc/hadoop/yarn-site.xml
在<configuration>中間插入:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hdfs1</value>
</property>
<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>hdfs1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hdfs1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hdfs1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hdfs1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hdfs1:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>

修改etc/hadoop/slaves
刪除localhost,把所有的datanode添加到這個文件中。
[root@hdfs1 hadoop]# cat etc/hadoop/slaves
hdfs2
hdfs3
hdfs4

六、複製haoop到其他節點
將NameNode服務器上的hadoop整個copy到另外2個節點上(NameNode節點執行)
scp -r hadoop-2.7.1 root@hdfs2:/usr/local/
scp -r hadoop-2.7.1 root@hdfs3:/usr/local/
scp -r hadoop-2.7.1 root@hdfs4:/usr/local/
在所有節點上執行:
ln -sv /usr/local/hadoop-2.7.1 /usr/local/hadoop
七、格式化(namenode節點執行)
#cd /usr/local/hadoop
#hdfs namenode -format 格式化namenode
八、啓動Hadoop(namenode節點執行)
登陸到NameNode節點: cd /usr/local/hadoop/etc/hadoop 執行:start-all.sh(之前已經配置過hadoop的 環境變量了,所以直接執行就可以)
停止:stop-all.sh
九、驗證
在所有節點上執行:
#hadoop dfsadmin -report

出現類似以下結果:
Live datanodes (3):

Name: 10.0.2.13:50010 (hdfs3)
Hostname: hdfs3
Decommission Status : Normal
Configured Capacity: 21001699328 (19.56 GB)
DFS Used: 24576 (24 KB)
Non DFS Used: 3104268288 (2.89 GB)
DFS Remaining: 17897406464 (16.67 GB)
DFS Used%: 0.00%
DFS Remaining%: 85.22%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Thu Mar 03 16:37:47 CST 2016

Name: 10.0.2.14:50010 (hdfs4)
Hostname: hdfs4
Decommission Status : Normal
Configured Capacity: 21001699328 (19.56 GB)
DFS Used: 24576 (24 KB)
Non DFS Used: 3104006144 (2.89 GB)
DFS Remaining: 17897668608 (16.67 GB)
DFS Used%: 0.00%
DFS Remaining%: 85.22%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Thu Mar 03 16:37:47 CST 2016

Name: 10.0.2.12:50010 (hdfs2)
Hostname: hdfs2
Decommission Status : Normal
Configured Capacity: 21001699328 (19.56 GB)
DFS Used: 24576 (24 KB)
Non DFS Used: 3104260096 (2.89 GB)
DFS Remaining: 17897414656 (16.67 GB)
DFS Used%: 0.00%
DFS Remaining%: 85.22%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Thu Mar 03 16:37:47 CST 2016

在namenode節點上執行命令:jps
[root@NameNode ~]# jps
7187 Jps
3493 NameNode
3991 SecondaryNameNode
4136 ResourceManager

在datanode節點上執行jps
9616 DataNode
9713 NodeManager
9812 Jps

訪問hadoop的web頁面:
管理界面:http://localhost:8088
NameNode界面:http://localhost:50070

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