1.版本
- centos7 64位,VM虚拟机12.0,jdk 1.8.0
- hadoop 2.9.0
- zookeeper 3.4.6
2.Hadoop集群的配置
0. 下载解压安装文件
- 解压命令
tar -xzvf 压缩文件名 文件夹路径
1. 修改hadoop-env.sh
添加jdk环境
export JAVA_HOME=/usr/java/jdk1.8.0_144
文件本身含有”export JAVA_HOME=”部分”
2. 修改core-site.xml
文件添加namenode的url和端口号以及临时存储文件夹
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
运行hdfs需要将一台机器指定为namenode,属性fs.defaultFS描述hdfs文件系统的uri,默认端口是8020,会与其他组件冲突,需修改为9000
<!--指定hadoop运行时产生文件的存储路径-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.9.0/hadooptemp</value>
</property>
3. 修改hdfs-site.xml
文件添加namenode储存文件夹,secondaryNameNode的URL和端口号,DataNode储存文件夹及文件备份数
<!--NameNode会持久存储名称空间和事务日志-->
dfs.namenode.name.dir
/home/hadoop/hadoop-2.9.0/namenodedata
namenode存储永久性的元数据(日志和镜像文件)的目录列表。namenode在列表上的各个目录中都存放相同的元数据文件
<property>
dfs.datanode.data.dir
/home/hadoop/hadoop-2.9.0/datanodedata
<!--datanode存放数据块的目录列表。各个数据块分别存放于某一个目录中-->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!--设置文件备份数,默认3-->
<property>
<name>dfs.secondary.http.address</name>
<value>slavea:50090</value>
</property>
4. 修改mapred-site.xml
文件添加yarn用于支持mapreduce
mapred-site.xml.template拷贝一份重命名为mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
指的是使用yarn运行mapreduce程序,启动了HDFS之后,就可以启动yarn了.执行命令start-yarn.sh即可启动MapReduce集群
5. 修改yarn-site.xml
文件配置运行资源管理器和节点管理器
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!--运行资源管理器的机器主机名,启动yarn需在该IP主机上输入命令,默认值:0.0.0.0-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
节点管理器运行的附加服务列表。NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序;默认情况下,不指定附加服务
6. 修改slaves
文件
<!--添加节点的主机名以便hadoop识别-->
slavea
slaveb
7. 格式化HDFS,首次启动Hadoop前需格式化
- 格式化
hdfs namenode -format
命令,在hadoop目录下会生成namenodedata文件夹 - 启动dfs和yarn
在namenode所在主机上,输入命令start-dfs.sh
启动dfs
在resourcemanager所在主机上,输入命令start-yarn.sh
启动yarn - JPS命令测试是否正常启动各节点
jps
测试当前进程是否与设置相符,如NameNode,DataNode等 - 通过浏览器IP地址:50070登录查看hadoop状态是否正常
- 终止守护进程
stop-dfs.sh
和stop-yarn.sh
依次关闭
Zookeeper集群的配置
0. 下载解压安装文件
- 解压命令
tar -xzvf 压缩文件名 文件夹路径
1. 修改conf目录下的配置模板重命名为zoo.cfg
,并添加3个节点主机名
dataDir=/home/hadoop/zookeeper-3.4.6/data/
server.1=master:2888:3888
server.2=slavea:2888:3888
server.3=slaveb:2888:3888
2. 在zookeeper中创建myid
在不同的节点zookeeper目录下创建data文件夹,在data目录下创建myid文件分别写入1,2,3
echo 1 > myid
3. 启动zookeeper
- 在三个节点依次启动zkServer,最先启动的节点作为leader,其他都为follower
zkServer.sh start
- 查看每个节点ZK服务状态,是leader或follower
zkServer.sh status
4. 测试zookeeper
- 在master上登录leader节点,并创建文件
zkCli.sh -server master:2181
create /masterproject masterprojecttest
- 在slavea和slaveb上登录follower节点,查看master创建的文件
zkCli.sh -server slavea:2181
get /masterproject
5. 关闭zookeeper
zkServer.sh stop