一、搭建前准备
1、为各个主机设置主机名
2、为各个主机配置SSH免密登录
3、为各个主机安装JDK
4、假设有三台主机:master(主节点)、slave1(从节点)、slave2(从节点)。
二、安装hadoop集群
1、注意
Hadoop如果是2.7.X,对应的jdk选择1.8或者1.7都可以, 推荐使用1.8,如果Hadoop是2.6.X,对应的jdk就选择1.7
2、将hadoop安装包拷到主节点主机的某个文件夹下并解压
[root@cmaster hadoop]# tar -zxvf hadoop-2.7.3.tar.gz
3、在Hadoop目录下,创建 tmp,logs,hdfs,hdfs/data(存 取的文件),hdfs/name(存放子节点名称) 文件夹
[root@cmaster hadoop-2.7.3]# mkdir tmp
[root@cmaster hadoop-2.7.3]# mkdir logs
[root@cmaster hadoop-2.7.3]# mkdir -p hdfs/data
[root@cmaster hadoop-2.7.3]# mkdir -p hdfs/name
4、修改hadoop的配置文件
(1)hadoop-env.sh
增加:
export JAVA_HOME=/opt/softWare/java/jdk1.8.0_141
(2)yarn-env.sh
增加:
export JAVA_HOME=/opt/softWare/java/jdk1.8.0_141
(3)slaves
#增加从节点
slave1
slave2
(4)core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<!--定义HadoopMaster的URI和端口-->
<value>hdfs://cmaster:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<!--hadoop中其他目录的临时存储目录-->
<value>file:/opt/softWare/hadoop/hadoop-2.7.3/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<!--用作序列化文件处理时读写buffer的大小-->
<value>131702</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
</configuration>
(5)hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<!--namenode节点数据存储目录-->
<value>file:/opt/softWare/hadoop/hadoop-2.7.3/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<!--datanode数据存储目录-->
<value>file:/opt/softWare/hadoop/hadoop-2.7.3/hdfs/data</value>
</property>
<property>
<!--指定DataNode存储block的副本数量,不大于DataNode的个数就行-->
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<!--指定master的http地址-->
<name>dfs.namenode.secondary.http-address</name>
<value>cmaster:50090</value>
</property>
<property>
<!--指定master的https地址-->
<name>dfs.namenode.secondary.https-address</name>
<value>cmaster:50091</value>
</property>
<property>
<!--必须设置为true,否则就不能通过web访问hdfs上的文件信息-->
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
(6)yarn-site.xml
<configuration>
<property>
<!--NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序-->
<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>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<!--ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。-->
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<!--ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等。-->
<name>yarn.resourcemanager.resourcetracker.address</name>
<value>master:8031</value>
</property>
<property>
<!--ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。-->
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<!--用户可通过该地址在浏览器中查看集群各类信息。-->
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<!--NodeManager总的可用物理内存。注意,该参数是不可修改的,一旦设置,整个运行过程中不 可动态修改。另外,该参数的默认值是8192MB,因此,这个值通过一 定要配置。不过,Apache已经正在尝试将该参数做成可动态修改的。-->
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(7)mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>cmaster:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>cmaster:19888</value>
</property>
</configuration>
5、远程将master中/opt/softWare/下的hadoop和java拷贝到所有从节点
scp -r /opt/SoftWare/hadoop root@slave1:/opt/SoftWare
scp -r /opt/SoftWare/hadoop root@slave2:/opt/SoftWare
scp -r /opt/SoftWare/java root@slave1:/opt/SoftWare
scp -r /opt/SoftWare/java root@slave2:/opt/SoftWare
6、配置环境变量并远程将master中的配置文件拷贝到从节点
#hadoop
export HADOOP_HOME=/opt/softWare/hadoop/hadoop-2.7.3/bin
export PATH=$PATH:$HADOOP_HOME
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
在所有从节点执行source /etc/profile
java -version 检查从节点是否安装成功jdk
7、同步系统时间
安装ntpdate工具 yum ‐y install ntp ntpd
设置与网络时间同步 ntpdate cn.pool.ntp.
系统时间写入硬件时间 hwclock ‐‐systohc
8、关闭防火墙
Centos7
关闭防火墙:systemctl stop firewalld.service
永久关闭防火墙:systemctl disable firewalld.service
查看防火墙状态:systemctl status firewalld.service
Centos6
关闭防火墙:service iptables stop
永久关闭防火墙:chkconfig iptables off
查看防火墙状态:service iptables status
9、格式化
在master主节点进入hadoop/bin,./hdfs namenode -format 进行格式化
10、启动、关闭集群
[root@cmaster ~]# cd /opt/softWare/hadoop/hadoop-2.7.3/sbin/
[root@cmaster sbin]# ./start-all.sh
[root@cmaster sbin]# ./stop-all.sh
11、网页版访问
http://ip:50070
小建议:
可以将解压配置好的hadoop-2.7.3安装包,移动到其他机器进行hadoop的快速安装。在进行快速安装的时候需要注意下面几点:
1、记得根据实际主机名、java环境变量等修改对应配置文件;
2、将tmp,logs,hdfs,hdfs/data,hdfs/name文件夹重新清空;
3、重新格式化;
免责申明:
本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!
《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu
《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack