127.0.0.1 localhost localhost.localdomain linux-node1
192.168.0.89 linux-node1
192.168.0.90 linux-node2
192.168.0.91 linux-node3
192.168.0.92 linux-node4
**2、安装java**
#提前把下载好的JDK(rpm包)上传到服务器上,然后安装
rpm -ivh jdk-8u101-linux-x64.rpm
export JAVA_HOME=/usr/java/jdk1.8.0_101/
export PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:PATH
java -version
java version “1.8.0_101”
Java™ SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot™ 64-Bit Server VM (build 25.101-b13, mixed mode)
**3、安装hadoop**
#创建hadoop用户,设置使用sudo
[root@linux-node1 ~]# useradd hadoop && echo hadoop | passwd --stdin hadoop
[root@linux-node1 ~]# echo “hadoopALL=(ALL) NOPASSWD:ALL” >> /etc/sudoers
[root@linux-node1 ~]# su - hadoop
[hadoop@linux-node1 ~]$ cd /usr/local/src/
[hadoop@linux-node1src]
w
g
e
t
h
t
t
p
:
/
/
a
p
a
c
h
e
.
f
a
y
e
a
.
c
o
m
/
h
a
d
o
o
p
/
c
o
m
m
o
n
/
h
a
d
o
o
p
−
2.7.3
/
h
a
d
o
o
p
−
2.7.3.
t
a
r
.
g
z
[
h
a
d
o
o
p
@
l
i
n
u
x
−
n
o
d
e
1
s
r
c
]
wget http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz [hadoop@linux-node1 src]
wgethttp://apache.fayea.com/hadoop/common/hadoop−2.7.3/hadoop−2.7.3.tar.gz[hadoop@linux−node1src] sudo tar zxvf hadoop-2.7.3.tar.gz -C /home/hadoop/ && cd /home/hadoop
[hadoop@linux-node1 home/hadoop]$ sudo mv hadoop-2.7.3/ hadoop
[hadoop@linux-node1 home/hadoop]$ sudo chown -R hadoop:hadoop hadoop/
#将hadoop的二进制目录添加到PATH变量,并设置HADOOP\_HOME环境变量
[hadoop@linux-node1 home/hadoop]$ export HADOOP_HOME=/home/hadoop/hadoop/
[hadoop@linux-node1 home/hadoop]$ export PATH=
H
A
D
O
O
P
H
O
M
E
/
b
i
n
:
HADOOP_HOME/bin:
HADOOPHOME/bin:PATH
**4、创建hadoop相关目录**
[hadoop@linux-node1 ~]$ mkdir -p /home/hadoop/dfs/{name,data}
[hadoop@linux-node1 ~]$ mkdir -p /home/hadoop/tmp
#节点存储数据备份目录
sudo mkdir -p /data/hdfs/{name,data}
sudo chown -R hadoop:hadoop /data/
#上述操作需在hadoop集群的每个节点都操作
**5、SSH配置**
#设置集群主节点免密码登陆其他节点
[hadoop@linux-node1 ~]$ ssh-keygen -t rsa
[hadoop@linux-node1 ~]$ ssh-copy-id linux-node1@192.168.0.90
[hadoop@linux-node1 ~]$ ssh-copy-id linux-node2@192.168.0.91
[hadoop@linux-node1 ~]$ ssh-copy-id linux-node3@192.168.0.92
![实战CentOS系统部署Hadoop集群服务实战CentOS系统部署Hadoop集群服务](http://www.linuxprobe.com/wp-content/uploads/2016/09/9-11-1.png "实战CentOS系统部署Hadoop集群服务实战CentOS系统部署Hadoop集群服务")
#测试ssh登录
![实战CentOS系统部署Hadoop集群服务实战CentOS系统部署Hadoop集群服务](http://www.linuxprobe.com/wp-content/uploads/2016/09/9-11-2.png "实战CentOS系统部署Hadoop集群服务实战CentOS系统部署Hadoop集群服务")
**6、修改hadoop的配置文件**
文件位置:/home/hadoop/hadoop/etc/hadoop,文件名称:hadoop-env.sh、yarn-evn.sh、slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、 yarn-site.xml
(1)配置hadoop-env.sh文件
#在hadoop安装路径下,进入hadoop/etc/hadoop/目录并编辑hadoop-env.sh,修改JAVA\_HOME为JAVA的安装路径
[hadoop@linux-node1 home/hadoop]$ cd hadoop/etc/hadoop/
[hadoop@linux-node1 hadoop]$ egrep JAVA_HOME hadoop-env.sh
The only required environment variable is JAVA_HOME. All others are
set JAVA_HOME in this file, so that it is correctly defined on
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.8.0_101/
(2)配置yarn.sh文件
指定yran框架的java运行环境,该文件是yarn框架运行环境的配置文件,需要修改JAVA\_HOME的位置。
[hadoop@linux-node1 hadoop]$ grep JAVA_HOME yarn-env.sh
export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/java/jdk1.8.0_101/
(3)配置slaves文件
指定DataNode数据存储服务器,将所有的DataNode的机器的主机名写入到此文件中,如下:
[hadoop@linux-node1 hadoop]$ cat slaves
linux-node2
linux-node3
linux-node4
Hadoop 3种运行模式
本地独立模式:Hadoop的所有组件,如NameNode,DataNode,Jobtracker,Tasktracker都运行在一个java进程中。
伪分布式模式:Hadoop的各个组件都拥有一个单独的Java虚拟机,它们之间通过网络套接字通信。
完全分布式模式:Hadoop分布在多台主机上,不同的组件根据工作性质的不同安装在不通的Guest上。
#配置完全分布式模式
(4)修改core-site.xml文件,添加红色区域的代码,注意蓝色标注的内容
fs.default.name hdfs://linux-node1:9000 io.file.buffer.size 131072 hadoop.tmp.dir file:/home/hadoop/tmp Abase for other temporary directories. ``` (5)修改hdfs-site.xml文件
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>linux-node1:9001</value>
<description># 通过web界面来查看HDFS状态 </description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
<description># 每个Block有2个备份</description>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
(6)修改mapred-site.xml
这个是mapreduce任务的配置,由于hadoop2.x使用了yarn框架,所以要实现分布式部署,必须在mapreduce.framework.name属性下配置为yarn。mapred.map.tasks和mapred.reduce.tasks分别为map和reduce的任务数。
[hadoop@linux-node1 hadoop]$ cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>linux-node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>linux-node1:19888</value>
</property>
</configuration>
(7)配置节点yarn-site.xml
#该文件为yarn架构的相关配置
<?xml version="1.0"?>
<!-- mapred-site.xml -->
<configuration>
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx400m</value>
<!--Not marked as final so jobs can include JVM debuggung options -->
</property>
</configuration>
<?xml version="1.0"?>
<!-- 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.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>linux-node1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>linux-node1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>linux-node1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>linux-node1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>linux-node1:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value>
</property>
</configuration>
7、复制hadoop到其他节点
scp -r /home/hadoop/hadoop/ 192.168.0.90:/home/hadoop/
scp -r /home/hadoop/hadoop/ 192.168.0.91:/home/hadoop/
scp -r /home/hadoop/hadoop/ 192.168.0.92:/home/hadoop/
8、在linux-node1使用hadoop用户初始化NameNode
/home/hadoop/hadoop/bin/hdfs namenode –format
#echo $?
#sudo yum –y install tree
# tree /home/hadoop/dfs
9、启动hadoop
/home/hadoop/hadoop/sbin/start-dfs.sh
/home/hadoop/hadoop/sbin/stop-dfs.sh
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
[外链图片转存中…(img-gwaaLeWF-1725799030783)]
给大家整理的电子书资料:
[外链图片转存中…(img-yYOKB7HV-1725799030783)]
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0