分布式Hadoop部署:
第一步:为每一台机器生成一个公钥。
命令: $ ssh-keygen -t rsa
第二步:将自己的公钥发给其他机器
ssh-copy-id bigdata-hpsk03.huadian.com
NTP时间同步:通过ntp服务实现每台机器的时间一致
方法一:通过Linux crontab实现
根据时间规则去执行某个命令
Contab -e
* * * * *
Command
分 时 日 月 周
00-59 00-23 1-31 1-12 0-7
比如:
每天凌晨两点执行shell.sh
00 2 * * * sh/opt/datas/shell.sh
方法二:直接使用ntp服务同步外网时间服务器
选择一台机器作为中间同步服务A,A与外网同步,B,C同步A。
配置A sudo vim /etc/ntp.conf
删除默认配置:
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
添加
配置A允许哪些机器与我同步
restrict 192.168.134.0 mask 255.255.255.0 nomodify notrap
配置A跟谁同步
server 202.112.10.36
配置本地同步
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
启动ntp服务
sudo service ntpd start
配置B,C同步A
sudo vim /etc/ntp.conf
server 192.168.134.221
手动同步
sudo ntpdate 192.168.134.221
开启ntp服务
sudo service ntpd start
方法三:偷懒:sudo date -s "2018-04-27 15:56:00"
将三台机器的时间设置为一样的。
部署Hadoop 需注意的是所有的主机目录结构要相同
安装jdk:参考:https://blog.csdn.net/zt13258579889/article/details/80057669
安装完成之后 分发给其他机器:
scp -r jdk1.8.0_91 huadian@bigdata-hpsk04.huadian.com :/opt/modules/
或者其他主机下载从你安装了jdk的主机下载。
scp -r jdk1.8.0_91 huadian@bigdata-hpsk04.huadian.com :/opt/modules/jdk1.8.0_91 /opt/modules/
然后配置环境变量。
##JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.8.0_91
export PATH=$PATH:$JAVA_HOME/bin
安装hadoop
第一步:下载解压安装
a、给压缩包赋予可执行条件 $ sudo chmod u+x hadoop-2.7.3.tar.gz
b、解压到指定位置中: tar -zxf hadoop-2.7.3.tar.gz -C/opt/modules/
解压成功之后cd 到你解压的文件目录下进行下一步
修改配置文件
env.sh:配置环境变量hadoop-env mapred-env yarn-env
site.xml:配置用户自定义需求
core-site:配hadoop全局的一些属性
fs.defaultFS:hdfs的入口
hadoop.tmp.dir hadoop临时存储目录
hdfs-site:配置hdfs的属性
dfs.replication:文件副本数
dfs.permission.enabled
mapred-site:用于配置MapReduce的属性
MapReduce运行在yarn上
yarn-site:用于配置yarn的属性
Slaves 配置各个从节点。
将配置好的文件分发到各个机器上。
从机器上下载文件
运行测试:
第一步:格式化主节点的机器namenode
第二步:分别给各个机器开启从节点 sbin/hadoop-daemo.sh start namenode
第三步:开启Resoutcemanager和Node manager
主机开启namenode
开启从节点
其他机器同样也开启了
开启Resource manager和nodemanager