Hadoop 集群
的部署分为 分布式集群
和伪分布式集群
的部署。这篇文章中,我会对伪散布集群的装置和部署做阐明。为什么先进行伪分布式集群部署呢,这是因为它只须要一台虚拟机(因为在本人的电脑上进行部署,应用的就是虚拟机),而分布式集群的部署个别须要三台及以上的虚拟机(一台为主节点,)。
并且,在实际操作的时候,分布式和伪分布式根本是没有区别的,在思考电脑启动多个虚拟机可能会卡,所以先对伪散布集群进行阐明。
伪散布集群的部署
虚拟机筹备
首先筹备一台虚拟机,我这里应用的是Centos6.x
,如果应用其余版本的 linux,前面的局部命令会有所不同,本人在试验时须要留神。
配置动态 ip 和主机名
配置 ip
终端输出:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
配置文件:
BOOTPROTO=static
IPADDR=192.168.19.0
GATEWAY=192.168.19.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
这里须要留神的是,ip 地址要对应本人的虚拟机的地址。我这里网络连接应用的是 NAT 模式。
设置主机名
终端输出:
vim /etc/sysconfig/network
批改HOSTNAME:
设置 ip 和主机名的绑定映射
终端输出:
vim /etc/hosts
批改 hosts
文件:
敞开防火墙
形式 1:
service iptables stop
形式二:
chkconfig iptables off
设置 ssh 免明码登录
ssh hadoop100
这时会提醒输出明码。咱们要做的就是实现输出下面的命令的时候,间接连贯主机,不必输出明码。
留神:如果下面没有将 ip 和主机名绑定的话,ssh 是不能解析主机的
ssh -keygen -t rsa
前面一路回车就行。这个命令会生成一个公钥和私钥。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
这步会向本机复制一个公钥。
这样免密就搞定了。
装置 jdk
这里首先须要将 jdk
的安装包传到虚拟机里。能够共享文件,或应用近程连贯工具进行上传。这里就不做演示了。
首先先解压,重命名文件为 jdk1.8(为了不便):
而后配置环境变量:
vim /etc/profile
export JAVA_HOME=/opt/jdk1.8
export PATH=.:$JAVA_HOME/bin:$PATH
Hadoop 的装置
同样,先上传 Hadoop
的安装包。
https://archive.apache.org/dist/hadoop/common/
能够在这里找到想要下的所有历史版本。
而后就须要对 Hadoop 外面的一些配置做批改了。
1.hadoop-env.sh
先进入 Hadoop 的配置文件目录:
cd /opt/hadoop-3.2.1/etc/hadoop
批改 hadoop-env.sh
文件:
vim hadoop-env.sh
export JAVA_HOME=/opt/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
这里留神,如果没有
data
目录,须要当初根目录下创立一个。
2.core-site.xml
vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop100:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop_repo</value>
</property>
</configuration>
留神:本人的主机名是不是
hadoop100
,如果不是,批改为本人的。上面的目录 hadoop 会本人创立,只须要保障有/data
目录即可。
3.hdfs-site.xml
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
留神:这个配置示意正本数量,咱们这里是伪散布集群,只有一台机器,只容许一个正本。
4.mapred-site.xml
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
他示意 mapreduce
在yarn
这个引擎里去执行。
5.yarn-site.xml
vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CL
ASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
他示意 yarn
外面运行 mapreduce
这个计算引擎,上面的执行环境的一些白名单。
这样一些根本的配置就批改实现。
对 hdfs 进行格式化
咱们先回退到 hadoop 的根目录下:
bin/hdfs namenode -format
留神:格式化只能执行一次,如果因为某些起因格式化失败,倡议先进入
/data
目录下,删掉hadoop_repo
,再进行格式化。
批改 hadoop 启动项
1.start-dfs.sh
vim sbin/start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
2.stop-dfs.sh
vim sbin/stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
3.start-yarn.sh
vim sbin/start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
4.stop-yarn.sh
vim sbin/stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
启动集群
sbin/start-all.sh
输出jps
, 如果过程除了 JPS 外还有 5 个,阐明启动胜利。
参考:
https://www.imooc.com/video/20728