赞
踩
- 开启node1,修改主机名为node1,并修改固定ip为:192.168.88.131 #这里ip是为了演示,可以换成其他的
-
- #修改主机名
-
- hostnamectl set-hostname node1
-
- #修改IP地址
-
- vim /etc/sysconfig/network-scripts/ifcfg-ens33
-
- BOOTPROTO="static"
-
- IPADDR="192.168.88.101"
-
- NETMASK="255.255.255.0"
-
- GATEWAY="192.168.88.2"
-
- DNS1="192.168.88.2"
- #重启网卡
-
- systemctl stop network
-
- systemctl start network
-
- #或者直接
-
- systemctl restart network
-
- #查看IP信息
-
- ifconfig
1.在Windows系统中修改nosts文件,填入如下内容:
- 192.168.88.101 node1
- 192.168.88.102 node2
- 192.168.88.103 node3
2.在3台Linux的/etc/hosts文件中,填入如下内容(3台都要添加)
- vim /etc/hosts
-
- 192.168.88.101 node1
- 192.168.88.102 node2
- 192.168.88.103 node3
后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台Linux服务器之间的密
码互相SSH登陆
1.在每一台机器都执行:`ssh-keygen -t rsa -b 4096`,一路回车到底即可
2.在每一台机器都执行:
- ssh-copy-id node1
- ssh-copy-id node2
- ssh-copy-id node3
3.执行完毕后,node1、node2、node3之间将完成root用户之间的免密互通
- ssh node1
- ssh node2
- ssh node3
后续大数据的软件,将不会以root用户启动
我们为大数据的软件创建一个单独的用户hadoop,并为三台服务器同样配置hadoop用户的免密互通
- 1.在每一台机器执行:useradd hadoop,创建hadoop用户
-
- 2.在每一台机器执行:passwd hadoop,设置hadoop密码
-
- 3.在每一台机器均切换到nadoop用户:su - hadoop,并执行ssh-keygen -t rsa -b 4096,创建ssh密钥
-
- 4.在每一台机器均执行
-
- ssh-copy-id node1
- ssh-copy-id node2
- ssh-copy-id node3
- 3.解压缩JDK安装文件
-
- tar -zxvf jdk-8u361-linux-x64.tar.gz -C /export/server
-
- 4.配置JDK的软链接
-
- ln -s /export/server/jdk1.8.0_361 /export/server/jdk
-
- 5.配置JAVA_HOME环境变量,以及将$JAVA HOME/bin文件夹加入PATH环境变量中
-
- # 编辑/etc/profile文件
-
- vim /etc/profile
-
- export JAVA_HOME=/export/server/jdk
-
- export PATH=$PATH:$JAVA_HOME/bin
- 6.生效环境变量
-
- source /etc/profile
-
- 7.配置java执行程序的软链接
-
- # 删除系统自带的java程序
-
- rm -f /usr/bin/java
-
- #软链接我们自己安装的java程序
-
- ln -s /export/server/jdk/bin/java /usr/bin/java
-
- 8.执行验证
-
- java -version
-
- javac -version
- 9.同步复制文件夹到其他两个服务器
-
- scp -r jdk1.8.0_361 node2:`pwd`/
-
- scp -r jdk1.8.0_361 node3:`pwd`/
集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙。
在每一台机器都执行
- systemctl stop firewalld
-
- systemctl disable firewalld
Linux有一个安全模块:SELinux,用以限制用户和程序的相关权限,来确保系统的安全稳定。
在当前,我们只需要关闭SELinux功能,避免导致后面的软件运行出现问题即可
在每一台机器都执行
- vim /etc/sysconfig/selinux
-
- # 将第七行,SELINUX=enforcing 改为
-
- SELINUX=disabled
-
- # 保存退出后,重启虚拟机即可,千万要注意disabled单词不要写错,不然无法启动系统
以下操作在三台Linux均执行
- 1.安装ntp软件
-
- yum install -y ntp
-
- 2.更新时区
-
- rm -f /etc/localtime
-
- ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
- 3.同步时间
-
- ntpdate -u ntp.aliyun.com
-
- 4.开启ntp服务并设置开机自启
-
- systemctl start ntpd
-
- systemctl enable ntpd
- 1.上传Hadoop安装包到node1节点中
-
- 2.解压缩安装包到/export/server/中
-
- tar -zxvf hadoop-3.4.0.tar.gz -C /export/server/
-
- 3.构建软链接
-
- cd /export/server
-
- ln -s /export/server/hadoop-3.4.0 hadoop
- 1.配置workers文件
-
- #进入配置文件目录
-
- cd /export/server/hadoop/etc/hadoop
-
- #编辑workers文件 (填入的node1、node2、node3)
-
- vim workers
-
- #填入如下内容 (表明集群记录了三个从节点(DataNode))
-
- node1
- node2
- node3
-
- 2.配置hadoop-env.sh文件
-
- vim hadoop-env.sh
-
- #填入如下内容
-
- export JAVA_HOME=/export/server/jdk #JAVA_HOME,指明JDK环境的位置在哪
- export HADOOP_HOME=/export/server/hadoop #HADOOP_HOME,指明Hadoop安装位置
- export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop #HADOOP_CONF_DIR,指明Hadoop配置文件目录位置
- export HADOOP_LOG_DIR=$HADOOP_HOME/logs #HADOOP_LOG_DIR,指明Hadoop运行日志目录位置
-
- #通过记录这些环境变量,来指明上述运行时的重要信息
-
- 3.配置core-site.xml文件
-
- vim core-site.xml
-
- #编辑内容如下
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://node1:8020</value>
- </property>
-
- <property>
- <name>io.file.buffer.size</name>
- <value>131072</value>
- </property>
- </configuration>
-
- 4.配置hdfs-site.xml文件
-
- vim hdfs-site.xml
-
- #编辑内容如下
- <configuration>
- <property>
- <name>dfs.datanode.data.dir.perm</name>
- <value>700</value>
- </property>
-
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>/data/nn</value>
- </property>
-
- <property>
- <name>dfs.namenode.hosts</name>
- <value>node1,node2,node3</value>
- </property>
-
- <property>
- <name>dfs.blocksize</name>
- <value>268435456</value>
- </property>
-
- <property>
- <name>dfs.namenode.handler.count</name>
- <value>100</value>
- </property>
-
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>/data/dn</value>
- </property>
- </configuration>
-
- 5.在/目录下创建文件夹
-
- #node1需创建
-
- mkdir -p /data/nn
-
- mkdir -p /data/dn
-
- #node2,node3需创建
-
- mkdir -p /data/dn
- 1.分发
-
- # 在node1执行如下命令
-
- cd /export/server
-
- scp -r hadoop-3.4.0 node2:`pwd`/
-
- scp -r hadoop-3.4.0 node3:`pwd`/
-
- 2.在node2执行,为hadoop配置软链接
-
- # 在node2执行如下命令
-
- ln -s /export/server/hadoop-3.4.0 /export/server/hadoop
-
- 3.在node3执行,为hadoop配置软链接
-
- # 在node3执行如下命令
-
- ln -s /export/server/hadoop-3.4.0 /export/server/hadoop
- node1,node2,node3同样配置环境变量
-
- vim /etc/profile
-
- # 在/etc/profile文件底部追加如下内容
- export HADOOP_HOME=/export/server/hadoop
- export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
-
- # 生效环境变量
-
- source /etc/profile
# 以root身份,在三台服务器上均执行
- chown -R hadoop:hadoop /data
- chown -R hadoop:hadoop /export
- 1.格式化namenode
-
- # 确保以hadoop用户执行
-
- su - hadoop
-
- # 格式化namenode
-
- hadoop namenode -format
-
- 2.启动
-
- # 一键启动hdfs集群
-
- start-dfs.sh
-
- #查看当前系统正在运行的java进程
-
- jps
-
- # 一键关闭hdfs集群
-
- stop-dfs.sh
-
- # 如果遇到命令未找到的错误,表明环境变量未配置好,可以以绝对路径执行
-
- /export/server/hadoop/sbin/start-dfs.sh
- /export/server/hadoop/sbin/stop-dfs.sh
启动完成后,可以在浏览器打开:
http://node1公网IP:9870,即可查看到hdfs文件系统的管理网页。
或者直接在浏览器输入node1:9870即可访问页面。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。