安装部署Hadoop

yanglei12121 2018-07-05 09:53:44
初学者,愿你我共同进步,文章中有参考网址,在此先感谢前人的宝贵资源,谢谢
安装Linux 系统 ( 参考网址 https://www.osyunwei.com/archives/7829.html ) ps : 安装时,选择的语言选择英文使用Linux镜像文件 CentOS-7-x86_64-DVD-1611.iso ps : CentOS-7 默认的时图形界面 , 用不习惯的可以切换成指令界面 ( 参考网址 https://www.cnblogs.com/vaelailai/p/8037374.html )
* centos7默认安装后, 跟其他版本一样,启动默认进入图形界面
* 在图形化桌面,右击鼠标,选择[在终端中打开] , 以 root用户进入 , 即centos的命令行模式
* 在终端命令行中输入 vi /etc/inittab , 查看系统的2种启动模式
* 退出( 冒号 : q! )vi模式后 , 输入命令 systemctl get-default 查看当前系统启动模式
* 将图形化界面切换成命令行 , 输入命令 systemctl set -default multi-user.target 之后再输入reboot重启即可
* 将命令行切换成图形化界面的命令 systemctl set-default graphical.target 之后再输入reboot重启即可

Linux 虚拟机 ifconfig ip : 127.0.0.1 本地 ip : 192.168.5.203关闭Linux虚拟机防火墙 (参考网址 https://blog.csdn.net/zhezhebie/article/details/72881393) firewall-cmd --state #查看默认防火墙状态 (关闭后显示notrunning , 开启后显示running) systemctl stop firewalld.service #停止firewall systemctl disable firewalld . service # 机制firewall 开机启动 init 6 #重启虚拟机, 然后输入第一条命令查看防火墙状态安装jdk之前,先进行卸载jdk ( 安装版本 java-1.7.0-openjdk.x86_64 )
* 查询jdk版本 java -version
* 检测jdk安装包 rpm -qa | grep java
* 卸载openjdk rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
* 或者是 yum remove *openjdk*
* 再次输入 rpm -qa | grep java
* 下载jdk1.8 linux版本 , 移动至linux==>root下
* 解压缩 tar -xzvf jdk-7u25-linux-x64.tar.gz
* 移动解压包到指定目录 mv /root/jdk1.8.0_171/ /usr/java
* 编辑环境变量 vim /etc/profile

* export JAVA_HOME=/usr/java/jdk1.8.0_171
* export JRE_HOME=${JAVA_HOME}/jre
* export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
* export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
* export PATH=$PATH:${JAVA_PATH}
* esc [进入命令模式] 输入 : (冒号) [ wq表示退出保存 q! 退出不保存 ]
* 重启服务 source /etc/profile
* 测试是否安装成功

* javac
* java -version

配置免密SSH ( 参考网址 : https://blog.csdn.net/universe_hao/article/details/52296811 )
* M - IP : 192.168.7.248
* S1 - IP : 192.168.5.173
* S2 - IP : 192.168.5.83
* 创建公钥 / 密钥 ssh-keygen -t rsa
* 查看两个刚生成的文件 ll ~/.ssh

* 也可以 ,同样可以看到
* cd .ssh
* ls
* 在每一个虚拟机中都执行创建密钥.公钥之后

* 拷贝公钥到需要免密的虚拟机上

* M虚拟机命令
* ssh-copy-id root@192.168.5.173
* ssh-copy-id root@192.168.5.83
* S1虚拟机命令
* ssh-copy-id root@192.168.7.248
* ssh-copy-id root@192.168.5.83
* S2虚拟机命令
* ssh-copy-id root@192.168.7.248
* ssh-copy-id root@192.168.5.173
* ssh root@192.168.7.248 进行连接测试

无关重要得一步 ( 纯看个人喜好 )起别名
* vi /etc/sysconfig/network

* NETWORKING=YES
* HOSTNAME=M ( 别名 )
* vi /etc/hosts

* 127.0.0.1 localhost M ( 别名 ) localhost4 localhost4.localdomain4
* ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
* 重启 reboot

安装Hadoop (参考网站 : https://blog.csdn.net/qq_41782295/article/details/79594243 )
* 在linux系统中下载Hadoop , 指令 wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.9.1/hadoop-2.9.1.tar.gz
* 进行Hadoop解压 , 指令 tar -xzvf hadoop-2.9.1.tar.gz

* 解压包中相关文件
* sbin: 启动活停止hadoop相关服务的脚本
* bin: 对hadoop相关服务(HDFS,YARN)进行操作的脚本
* etc:hadoop的配置文件目录
* share:hadoop的依赖jar包和文档,文档可以被删除
* lib:hadoop的本地库(对数据库进行压缩解压缩功能的)
* 修改这3台机器的/etc/hosts文件,在文件中添加以下内容:

* 192.168.8.203 hserver1
* 192.168.8.206 hserver2

* 192.168.8.207 hserver3
* 创建文件加

mkdir /root/hadoopmkdir /root/hadoop/tmpmkdir /root/hadoop/varmkdir /root/hadoop/dfsmkdir /root/hadoop/dfs/namemkdir /root/hadoop/dfs/data
* 配置Hadopp配置有关文件

* vim hadoop-env.sh

* export JAVA_HOME=/usr/java/jdk1.8.0_171


* vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/core-site.xml

<configuration></configuration>修改为<configuration> <property> <name>hadoop.tmp.dir</name> <value>/root/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property></configuration>
* vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/hdfs-site.xml

<configuration><property> <name>dfs.name.dir</name> <value>/root/hadoop/dfs/name</value> <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description></property><property> <name>dfs.data.dir</name> <value>/root/hadoop/dfs/data</value> <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description></property><property> <name>dfs.replication</name> <value>2</value></property><property> <name>dfs.permissions</name> <value>false</value> <description>need not permissions</description></property></configuration>
* 复制这个文件并改名有一个名为mapred-site.xml.template的文件,复制该文件,然后改名为mapred-site.xml
* cp /opt/hadoop/hadoop-2.9.1/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop-2.9.1/etc/hadoop/mapred-site.xml
* 修改这个文件

<property> <name>mapred.job.tracker</name> <value>hserver1:49001</value></property><property> <name>mapred.local.dir</name> <value>/root/hadoop/var</value></property><property> <name>mapreduce.framework.name</name> <value>yarn</value></property>
* 修改/opt/hadoop/hadoop-2.9.0/etc/hadoop/slaves文件,将里面的localhost删除,添加如下内容

* vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/slaves

* hserver2
* hserver3


* vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/yarn-site.xml

<property> <name>yarn.resourcemanager.hostname</name> <value>hserver1</value> </property> <property> <description>The address of the applications manager interface in the RM.</description> <name>yarn.resourcemanager.address</name> <value>${yarn.resourcemanager.hostname}:8032</value> </property> <property> <description>The address of the scheduler interface.</description> <name>yarn.resourcemanager.scheduler.address</name> <value>${yarn.resourcemanager.hostname}:8030</value> </property> <property> <description>The http address of the RM web application.</description> <name>yarn.resourcemanager.webapp.address</name> <value>${yarn.resourcemanager.hostname}:8088</value> </property> <property> <description>The https adddress of the RM web application.</description> <name>yarn.resourcemanager.webapp.https.address</name> <value>${yarn.resourcemanager.hostname}:8090</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>${yarn.resourcemanager.hostname}:8031</value> </property> <property> <description>The address of the RM admin interface.</description> <name>yarn.resourcemanager.admin.address</name> <value>${yarn.resourcemanager.hostname}:8033</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>2048</value> <discription>每个节点可用内存,单位MB,默认8182MB</discription> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>2.1</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>2048</value></property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value></property>进行测试阶段 :对HDFS进行格式化
* cd /opt/hadoop/hadoop-2.9.1/bin
* ./hadoop namenode -format
* 格式化成功后,可以在看到在/root/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件

在namenode上执行启动命令
* 因为hserver1是namenode,hserver2和hserver3都是datanode,所以只需要再hserver1上执行启动命令即可。
* 进入到hserver1这台机器的/opt/hadoop/ hadoop-2.9.1/sbin目录,也就是执行命令:
* cd /opt/hadoop/ hadoop-2.9.1/sbin
* 执行初始化脚本,也就是执行命令
* ./start-all.sh

http://192.168.7.128:248/50070http://192.168.7.128:248/8088如果没什么错误的情况下,到这里就完事大吉了 >_<
...全文
101 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,208

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧