1、首先须要准备N台linux服务器java
学习阶段,用虚拟机便可!node
先准备4台虚拟机:1个namenode节点 + 3 个datanode 节点linux
2、修改各台机器的主机名和ip地址web
主机名:hdp-01 对应的ip地址:192.168.33.61windows
主机名:hdp-02 对应的ip地址:192.168.33.62centos
主机名:hdp-03 对应的ip地址:192.168.33.63浏览器
主机名:hdp-04 对应的ip地址:192.168.33.64服务器
3、从windows中用CRT软件进行远程链接app
在windows中将各台linux机器的主机名配置到的windows的本地域名映射文件中:dom
c:/windows/system32/drivers/etc/hosts
192.168.33.61 hdp-01 192.168.33.62 hdp-02 192.168.33.63 hdp-03 192.168.33.64 hdp-04 |
用crt链接上后,修改一下crt的显示配置(字号,编码集改成UTF-8):
4、配置linux服务器的基础软件环境
l 防火墙
关闭防火墙:service iptables stop
关闭防火墙自启: chkconfig iptables off
l 安装jdk:(hadoop体系中的各软件都是java开发的)
1) 利用alt+p 打开sftp窗口,而后将jdk压缩包拖入sftp窗口
2) 而后在linux中将jdk压缩包解压到/root/apps 下
3) 配置环境变量:JAVA_HOME PATH
vi /etc/profile 在文件的最后,加入:
export JAVA_HOME=/root/apps/jdk1.8.0_60 export PATH=$PATH:$JAVA_HOME/bin |
4) 修改完成后,记得 source /etc/profile使配置生效
5) 检验:在任意目录下输入命令: java -version 看是否成功执行
6) 将安装好的jdk目录用scp命令拷贝到其余机器
7) 将/etc/profile配置文件也用scp命令拷贝到其余机器并分别执行source命令
l 集群内主机的域名映射配置
在hdp-01上,vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.33.61 hdp-01 192.168.33.62 hdp-02 192.168.33.63 hdp-03 192.168.33.64 hdp-04 |
而后,将hosts文件拷贝到集群中的全部其余机器上
scp /etc/hosts hdp-02:/etc/
scp /etc/hosts hdp-03:/etc/
scp /etc/hosts hdp-04:/etc/
补充 提示: |
若是在执行scp命令的时候,提示没有scp命令,则能够配置一个本地yum源来安装 一、先在虚拟机中配置cdrom为一个centos的安装镜像iso文件 二、在linux系统中将光驱挂在到文件系统中(某个目录) 三、mkdir /mnt/cdrom 四、mount -t iso9660 -o loop /dev/cdrom /mnt/cdrom 五、检验挂载是否成功: ls /mnt/cdrom 六、三、配置yum的仓库地址配置文件 七、yum的仓库地址配置文件目录: /etc/yum.repos.d 八、先将自带的仓库地址配置文件批量改名:
九、而后,拷贝一个出来进行修改
十、修改完配置文件后,再安装scp命令: 十一、yum install openssh-clients -y |
l 5、安装hdfs集群
一、上传hadoop安装包到hdp-01
二、修改配置文件
要点提示 |
核心配置参数: 1) 指定hadoop的默认文件系统为:hdfs 2) 指定hdfs的namenode节点为哪台机器 3) 指定namenode软件存储元数据的本地目录 4) 指定datanode软件存放文件块的本地目录 |
hadoop的配置文件在:/root/apps/hadoop安装目录/etc/hadoop/
1) 修改hadoop-env.sh
export JAVA_HOME=/root/apps/jdk1.8.0_60
2) 修改core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hdp-01:9000</value> </property> </configuration> |
3) 修改hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/root/dfs/name</value> </property>
<property> <name>dfs.datanode.data.dir</name> <value>/root/dfs/data</value> </property>
</configuration> |
4) 拷贝整个hadoop安装目录到其余机器
scp -r /root/apps/hadoop-2.8.0 hdp-02:/root/apps/
scp -r /root/apps/hadoop-2.8.0 hdp-03:/root/apps/
scp -r /root/apps/hadoop-2.8.0 hdp-04:/root/apps/
5) 启动HDFS
所谓的启动HDFS,就是在对的机器上启动对的软件
要点 提示: |
要运行hadoop的命令,须要在linux环境中配置HADOOP_HOME和PATH环境变量 vi /etc/profile
|
首先,初始化namenode的元数据目录
要在hdp-01上执行hadoop的一个命令来初始化namenode的元数据存储目录
hadoop namenode -format
l 建立一个全新的元数据存储目录
l 生成记录元数据的文件fsimage
l 生成集群的相关标识:如:集群id——clusterID
而后,启动namenode进程(在hdp-01上)
hadoop-daemon.sh start namenode
启动完后,首先用jps查看一下namenode的进程是否存在
而后,在windows中用浏览器访问namenode提供的web端口:50070
http://hdp-01:50070
而后,启动众datanode们(在任意地方)
hadoop-daemon.sh start datanode
6) 用自动批量启动脚原本启动HDFS
1) 先配置hdp-01到集群中全部机器(包含本身)的免密登录
2) 配完免密后,能够执行一次 ssh 0.0.0.0
3) 修改hadoop安装目录中/etc/hadoop/slaves(把须要启动datanode进程的节点列入)
hdp-01 hdp-02 hdp-03 hdp-04 |
4) 在hdp-01上用脚本:start-dfs.sh 来自动启动整个集群
5) 若是要中止,则用脚本:stop-dfs.sh