环境准备
需要安装jdk,去官方下载jdk8版本,配置环境变量
配置文件位置:/etc/profile
#java_path
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
主机配置(需要设置免密登录)
免密登录设置:
#使用rsa算法生成秘钥和公钥对:
ssh-keygen -t rsa
#然后把公钥加入到授权中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#将authorized_keys文件修改为600权限
chmod 600 .ssh/authorized_keys
之后就可以免密登录了
主机名 | ip |
---|---|
maste | 192.168.10.194 |
node1 | 192.168.10.195 |
node2 | 192.168.10.196 |
设置DNS解析
# /etc/hosts
192.168.10.194 master
192.168.10.195 node1
192.168.10.196 node2
模式
- 单机模式
- 伪分布式
- 完全分布式
完全分布式搭建
版本:2.9.0
/usr/local/hadoop/
配置hadoop-env.sh,添加如下配置(/usr/local/hadoop/etc/hadoop)
export JAVA_HOME=/opt/jdk1.8.0_181
配置core-site.xml(/usr/local/hadoop/etc/hadoop)
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop</value>
</property>
</configuration>
格式化一个新的分布式系统(/usr/local/hadoop/bin/)
bin/hadoop namenode -format
启动主节点(/usr/local/hadoop/sbin/)
hadoop-daemon.sh start namenode
启动数据节点(/usr/local/hadoop/sbin/)
hadoop-daemon.sh start datanode
查看java进程:jps
[root@master data]# jps
4373 NameNode
4506 DataNode
4586 Jps
访问:http://master:50070
停止进程(/usr/local/hadoop/sbin/)
hadoop-daemon.sh stop datanode
hadoop-daemon.sh stop namenode
配置yarn
yarn-site.xml(/usr/local/hadoop/etc/hadoop/)
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
mapred-site.xml(/usr/local/hadoop/etc/hadoop/)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
启动停止yarn(/usr/local/hadoop/sbin/)
start-yarn.sh
stop-yarn.sh
yarn进程
[root@master sbin]# jps
27538 NodeManager
30134 Jps
27373 ResourceManager
访问:http://master:8088
启动分布式集群
拷贝hadoop目录到其他主机节点
配置slaves(/usr/local/hadoop/etc/hadoop/)
[root@master hadoop]# cat slaves
master
node1
node2
启动完全分布式(/usr/local/hadoop/sbin/)
start-all.sh