大数据之集群规划配置范例
一、配置
1、配置java_home环境变量: etc/hadoop/hadoop-env.sh、etc/hadoop/yarn-env.sh 、 mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_171
2、配置namenode为主机hadoop102: etc/hadoop/core-site.xml
<configuration>
<!-- 指定namenode -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.9.2/data/tmp</value>
</property>
</configuration>
3. 指定hadoop辅助名称节点主机配置:etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name><value>hadoop104:50090</value>
</property>
<!-- 指定datanode多目录 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///${hadoop.tmp.dir}/dfs/data,file:///${hadoop.tmp.dir}/dfs/data2</value>
</property>
<!-- 指定datanode多目录 -->
<property>
<name>dfs.namenode.name.dir</name> <value>file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2 </property>
<!--配置掉线时长: 公式=2*dfs.namenode.heartbeat.recheck-interval + 10 * dfs.heartbeat.interval-->
<property>
<name>dfs.namenode.heartbeat.recheck-interval</name> <value>300000</value>
</property>
<property>
<name>dfs.heartbeat.interval</name>
<value>3</value>
</property>
</configuration>
4. :etc/hadoop/yarn-site.xml
<configuration>
<!-- reducer 获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定yarn的resourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
5. etc/hadoop/mapred-site.xml:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
二、配置slaves
1、etc/hadoop/slaves: 添加主机
hadoop102
hadoop103
hadoop104
三、启动
1、启动hdfs:
sbin/start-dfs.sh
2、启动yarn(注:hadoop103主机为resourcemanager,需要在此主机上启动yarn)
sbin/start-yarn.sh
四、上传文件测试
bin/hdfs dfs -put 源文件路径 目标目录路径
五、集群时间同步
以下在hadoop102主机上操作
1、检查ntp是否安装: rpm -qa | grep ntp
2、修改ntp配置文件: vim /etc/ntpconf
1) 授权网段上所有机子可以查询同步时间
restrict 172.16.9.0 mask 255.255.255.0 nomodify notrap
2)不使用网络上时间服务器
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
3)网络节点丢失,设置局域网内部时间
server 127.127.1.0
fudge 127.127.1.0 stratum 10
3、修改/etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
4、重启ntp服务
systemctl status ntpd
systemctl start ntpd
5、开机启动
systemctl enable ntpd
6、hadoop103及其他主机上开启同步时间闹钟
*/10 * * * * /usr/sbin/ntpdate hadoop102
六、在namenode下添加白名单
1、在etc/hadoop下创建dfs.hosts文件并添加白名单主机
2、 hdfs.site.xml添加一下属性
<property>
<name>dfs.hosts</name>
<value>/opt/module/hadoop-2.9.2/etc/hadoop/dfs.hosts</value>
</property>
3、刷新namenode: hdfs dfsadmin -refreshNodes
4、刷新resourcemanager: yarn rmadmin -refreshNodes
七、在namenode下添加黑名单
1、在etc/hadoop下创建dfs.hosts.exclude文件并添加黑名单主机
2、 hdfs.site.xml添加一下属性
<property>
<name>dfs.hosts.exclude</name>
<value>/opt/module/hadoop-2.9.2/etc/hadoop/dfs.hosts.exclude</value>
</property>
3、刷新namenode: hdfs dfsadmin -refreshNodes
4、刷新resourcemanager: yarn rmadmin -refreshNodes
八、其他
1.单个服务启动关闭
(1)hdfs组件: hadoop-daemon.sh start/stop namenode/datanode
(2)yarn组件: yarn-daemon.sh start/stop resourcemanager/nodemanager
2.各个模块分开启动、停止(需配置ssh)
(1) hdfs组件: start-dfs.sh、stop-dfs.sh
(2) yarn组件: start-yarn.sh、stop-yarn.sh