虚拟机镜像:centos-7
虚拟机三台:
hadoop1:主节点
hadoop2:从节点
hadoop3:从节点
本博客相关资源文件连接:
- 修改服务器ip为静态ip
1. 查看本机ip ip addr (idconfig) 2. 进入网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 3. 修改ip为静态并配置IP地址 BOOTPROTO="static" IPADDR="192.168.253.137" NETMASK="255.255.255.0" GATEWAY="192.168.253.2" DNS1="192.168.253.2"
- 修改服务器名称
1.配置host vim /etc/hosts 例如(我的三台机器的配置信息): 192.168.253.138 hadoop1 hadoop1.study.cn 192.168.253.139 hadoop2 hadoop2.study.cn 192.168.253.140 hadoop3 hadoop3.study.cn 2.修改服务器名称 vim /etc/hostname 将服务器名字修改成hadoop1,hadoop2,hadoop3
- 验证修改
直接ping hadoop1,hadoop2,hadoop3 或者ping hadoop1.study.cn,hadoop2.study.cn,hadoop3.study.cn2.配置搭建的服务器之间免密登录
- 在两台从服务器上输入命令
mkdir /root/.ssh
- 采用dsa加密生成密钥,也可以采用rsa加密
ssh-keygen -t dsa
然后一直回车
- 上面将密钥生成在默认路径/root/.ssh下,然后将其内容输出/root/.ssh/authorized_keys中
cat /root/.ssh/id_dsa.pub >> /root/.ssh/authorized_keys
- 然后将公钥复制到其他两个需要免密钥登录的slave1和slave2中
scp /root/.ssh/authorized_keys (从服务器1的ip或者配置好的服务器名称):/root/.ssh/ scp /root/.ssh/authorized_keys (从服务器2的ip或者配置好的服务器名称):/root/.ssh/
- 然后再住服务器上ssh登录两台从服务器进行测试
命令:ssh (从服务器1的ip或者配置好的服务器名称) 退出:logout(exit) 注意:免密登录之间的问题。是主服务器到从服务器免密,不是从服务器到主服务器3.关闭所有服务器的防火墙
关闭防火墙
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service4.CentOS7中多台服务器配置时钟同步:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119276930
5.Centos编译hadoop所需软件- Hadoop3.3.1版本 https://dlcdn.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1-src.tar.gzMaven 3.3 or later
官网下载地址:https://maven.apache.org/download.cgi
直达下载地址:https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gzProtocolBuffer 2.5.0 必须是这个不能高也不能低,而且需要自己安装,不是解压后就能用
下载地址:https://github.com/protocolbuffers/protobuf/releases/tag/v2.5.0
直达下载地址: https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gzCMake 3.1 or newer (if compiling native code) 需要手动安装 因为centso7
的仍然是2.8.5 不能使用
官网下载地址:https://cmake.org/download/
我选择的是3.17.5
直达下執地址:[https://github.com/Kitware/CMake/releases/download/v3.17.5/cmake-3.17.5-Linux-x86 64.sh](https://github.com/Kitware/CMake/releases/download/v3.17.5/cmake-3.17.5-Linux-x86 64.sh)
如果上面的不能下载:点击此处下载
- 上传jdk安装包到服务器上解压:tar -zxvf jdk-8u191-linux-x64.tar.gz配置环境变量:vi /etc/profile
JAVA_HOME=/usr/jdk/jdk1.8.0_191 #jdk安装目录 PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin export PATH JAVA_HOME CLASSPATH TOMCAT_HOME7.安装maven
- 上传压缩包到指定目录解压压缩包:tar -zxvf apache-maven-3.8.4-bin.tar.gz配置环境变量:vi /etc/profile
export MAVEN_HOME=/home/bisuser/maven/apache-maven-3.8.4 export PATH=$MAVEN_HOME/bin:$PATH
- 刷新配置文件:source /etc/profile检查maven版本信息:mvn -v
配置maven远程仓库地址(国外的慢!!)
切换到maven的配置文件目录:cd /home/bisuser/maven/apache-maven-3.8.4/conf
打开配置文件:vi settings.xml
找到配置文件中 的mirrors
原配置文件:maven-default-http-blocker external:http:* Pseudo repository to mirror external repositories initially using HTTP. http://0.0.0.0/ true
修改成:
alimaven central aliyun maven http://maven.aliyun.com/nexus/content/groups/public/
将国产地址配置进去
8.安装yum可以安装的必要软件alimaven central aliyun maven http://maven.aliyun.com/nexus/content/groups/public/
yum -y install gcc* yum install autoconf automake libtool cmake yum -y install openssl-devel yum -y install ncurses-devel yum install lzo-devel zlib-devel bzip2 yum -y install libs* yum install fuse-devel9.安装ProtocolBuffer
- 上传protobuf-2.5.0.tar.gz的安装包到服务器解压:tar -zxvf protobuf-2.5.0.tar.gz进入解压后的目录:cd protobuf-2.5.0执行生成配置文件:./autogen.sh
运行配置脚本,配置一些信息:./configure编译:make安装:make install验证:protoc --version which protoc
- yum删除已安装的cmake:yum erase cmake解压安装包:tar -zxvf cmake-3.13.5.tar.gz跳转至cmake目录:cd /home/bisuser/cmake/cmake-3.17.5编译:./configure安装: make && make install检验安装是否成功:cmake -version
- 将hadoop压缩包上传到服务器(压缩包是源码压缩包)解压:tar -zxvf hadoop-3.3.1-src.tar.gz在源码目录下:mvn clean package -DskipTests -Pdist,native -Dtar
mvn clean package -DskipTests -Pdist,native -Dtar 参数:clean → 清理旧的jar包 package →打包,hadoop源码编译之后的安装包 -DskipTests →跳过测试 -Pdist,native →生成结果目录的后缀dist, native:本地cpu相吻合的.so动态链接库,会将其一并打包到安装包中去 -Dtar → 打包后的目标压缩包的类型,xxx.tar.gz
报错:
执行完10步骤后重新执行上面命令:
等待便已完成,
编译后的文件在:/home/bisuser/hadoop/hadoop-3.3.1/hadoop-dist/targer/目录下。
文件名为hadoop-3.3.1.tar.gz
- 将编译好得hadoop安装包复制到相应的目录解压压缩包:tar -zxvf hadoop-3.3.1.tar.gz进入到解压后的目录:cd hadoop-3.3.1hadoop配置文件目录:/hadoop-3.3.1/etc/hadoop
修改Hapdoop-env.sh:vi hadoop-env.sh
#在文档最后添加 export JAVA_HOME=/usr/jdk/jdk1.8.0_191 export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root
- 修改xxx-site.xml,site标识用户定义的配置,会覆盖default中的默认配置:
包含:
core-site.xml 核心模块配置
hdfs-site.xml hdfs文件系统,模块配置
mapred-site.xml MapReduce模块配置
yarn-site.xml yarn模块配置
core-site.xml的配置:
fs.defaultFS hdfs://hadoop1:8082 hadoop.tmp.dir /home/bisuser/hadoop/data hadoop.http.staticuser.user root hadoop.proxyuser.root.hosts * hadoop.proxyuser.root.groups * fs.trash.interval 1440
hdfs-site.xml配置
dfs.namenode.secondary.http-address hadoop2:9868
mapred-site.xml配置
mapreduce.framework.name yarn mapreduce.jobhistory.address hadoop1:10020 mapreduce.jobhistory.webapp.address hadoop1:19888 yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.map.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.reduce.env HADOOP_MAPRED_HOME=${HADOOP_HOME}
yarn-site.xml配置
yarn.resourcemanager.hostname hadoop1 yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.pmem-check-enabled false yarn.nodemanager.vmem-check-enabled false yarn.log-aggregation-enable true yarn.log.server.url http://hadoop1:19888/jobhistory/logs yarn.log-aggregation.retain-seconds 1296000
- 配置workers:vi workers
hadoop1.study.cn hadoop2.study.cn hadoop3.study.cn
- 配置hadoop的环境变量:vi /etc/profile
export HADOOP_HOME=/home/bisuser/hadoop/hadoop-3.3.1 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 刷新配置文件:source /etc/profile验证:hadoop
首次启动前需要进行初始化(且只能执行一次),初始化需要在主服务器上:
命令:hdfs namenode -format
是否成功查看是否包含:INFO common.Storage: Storage directory /home/bisuser/hadoop/data/dfs/name has been successfully formatted.
逐个启动HDFS启动
- hadoop2.x版本命令
hadoop-daemon.sh start|stop namenode|datanode|secondarynamenodehadoop3.x版本命令
hdfs -daemon start|stop namenode|datanode/secondarynamenode
YARN启动
- hadoop2.x版本命令
yarn-daemon.sh start|stop resourcemanager|nodemanagerhadoop3.x版本命令
yarn -daemon start|stop resourcemanager|nodemanager
HDFS集群启动
start-dfs.sh stop-dfs.sh
YARN集群启动
start-yarn.sh stop-yarn.sh
HADOOP集群启动(同时启动HDFS和YARN)
start-all.sh stop-all.sh
启动成功,安装完毕。
参考:https://blog.csdn.net/m0_52080234/article/details/120758250
和
ttps://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119335883
感谢上面两位博主
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)