目录
7在master、slave1、slave2分别启动journalnode
12.在master节点让zkfc格式化 Zookeeper
1.创建目录,安装psmisc包
mkdir -p /export/hadoop/logs
yum -y install psmisc
2.hadoop配置
cd /export/hadoop/etc/hadoop/
1配置hadoop_en.sh
vim hadoop-env.sh
export JAVA_HOME=/export/jdk
export HDFS_JOURNALNODE_USER=root
export HDFS_ZKFC_USER=root
2配置core-site.xml
vim core-site.xml
<configuration>
<!--设置默认使用的文件系统Hadoop支持file,HDFS,GFS,ali|Amazon云等文件系统 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<!--于指定文件读写时的缓冲区大小。缓冲区是一块内存区域,用于临时存储文件数据,以提高文件读写的性能-->
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<!--文件系统垃圾桶保存时间-->
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
<!--设置Hadoop本地保存数据路径-->
<property>
<name>hadoop.tmp.dir</name>
<value>/export/hadoop/temp</value>
</property>
<!-- 设置HDFS web UI用户身份-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!--整合hive用户代理设置-->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<!--配置Hadoop代理用户(proxyuser)的用户组(groups)权限-->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<!--配置hadoopHA模式启动节点-->
<property>
<name>ha.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
</configuration>
3配置vim hdfs-site.xml文件
vim hdfs-site.xml
<configuration>
<!--设置SNN进程运行机器位置信息-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:9868</value>
</property>
<!--设置bock副本数为2-->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!--设置nameservices逻辑名称-->
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<!--设置datenode节点连接名称-->
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
<!--部署datenode的nn1的主机名称-->
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>master:8020</value>
</property>
<!--部署datenode的节点nn2的主机名称-->
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>slave1:8020</value>
</property>
<!--部署datenode的节点1的网络地址-->
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>master:9870</value>
</property>
<!--部署datenode的节点2的网络地址-->
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>slave1:9870</value>
</property>
<!--设置journalnode的部署位置-->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master:8485;slave1:8485;slave2:8485/mycluster</value>
</property>
<!--设置journalnode持久化数据的目录-->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/export/hadoop/data/my</value>
</property>
<!--故障切换的实现和代理-->
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<!--设置ssh免密公钥地址-->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<!--开启ha自动故障转移-->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
</configuration>
4配置mapred-site.xml
vim mapred-site.xml
<configuration>
<!-- 设置MR程序默认运行模式:YARN集群模式 local本地模式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- MR程序历史服务地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:10020</value>
</property>
<!-- MR程序历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<!-- 设置MapReduce相关环境变量 -->
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!-- MR任务优化设置,是否启用Ubertask -->
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
</configuration>
5配置yarn-site.xml
vim yarn-site.xml
<configuration>
<!-- 配置yarn主节点的位置 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 设置yarn集群的内存分配方案 -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>20480</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<!-- 开启日志聚合功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置聚合日志在hdfs上的保存时间 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<!-- 设置yarn历史服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://master:19888/jobhistory/logs</value>
</property>
<!-- 关闭yarn内存检查 -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!-- 设置ResourceManager的高可用性 -->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!-- 设置ResourceManager位置 -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>master</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>slave1</value>
</property>
<!-- 设置ResourceManager Web 应用程序地址 -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>slave1:8088</value>
</property>
<!-- 设置nodemanager位置 -->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
</configuration>
6配置workers文件
vim workers
master
slave1
slave2
cd /export
for i in {1..2}; do scp -r hadoop slave$i:$PWD; done
7在master、slave1、slave2分别启动journalnode
hdfs --daemon start journalnode
8.在master格式化
hdfs namenode -format
# 查看结果,successful表示成功
10 .在master节点启动namenode
hadoop-daemon.sh start namenode
或者
hdfs --daemon start namenode
11.在slave1节点将namenode同步数据
hdfs namenode -bootstrapStandby
12.在master节点让zkfc格式化 Zookeeper
hdfs zkfc -formatZK
13 启动集群
start-all.sh
端口: 9870 8088
master节点 slave1节点
master:9870 slave1:9870
master:8088 slave1:8088
14启动历史服务器
mapred --daemon start historyserver
19888
端口:19888 yarn MR程序历史服务器web端地址
master:19888