CentOS7环境下配置Hadoop(CentOS6与7命令不同)
CentOS7环境下配置Hadoop(CentOS6与7命令不同)
1.设置主机名
hostnamectl set-hostname 主机名 (永久生效)
2.配置IP 主机名映射
vi /etc/hosts
192.168.56.133 node1
192.168.56.133 node2
192.168.56.134 node3
3.配置ssh免密登录
生成ssh绵密登录密钥
ssh-keygen -t rsa(四个回车)
执行完之后会生成id_rsa(私钥) id_rsa.pub(公钥)
将公钥拷贝到要免密登录的目标机器上
ssh-copy-id node1 (本机也要配置)
ssh-copy-id node2
ssh-copy-id node3
4配置防火墙
查看防火墙状态
systemctl status firewalld.service
绿色的active(running)说明防火墙开启
关闭防火墙(重启失效)
systemctl stop firewalld.service
禁止防火墙服务器(永久生效)
systemctl disable firewalld.service
5.安装JDK
准备工作
上传需要的所有软件
lrzsz是一款在linux里可代替ftp上传和下载的程序。
安装lrzsz程序
安装:yum install lrzsz -y
查看:rpm -qa |grep lrzsz
rpm -qa 用于查询系统中所有的rpm包
新建一个soft文件夹用于放置安装包
上传:rz 把Linux版java安装包上传到soft/java中
下载: sz filename
开始安装
l 步骤1:查看现有安装的JDK版本
rpm -qa | grep -i java
l 步骤2:卸载已有软件 Mini版的一般不需要卸载
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686
l 步骤3:解压JDK
tar -zxvf jdk-7u72-linux-i586.gz
l 步骤4:将jdk移动“/usr/local/src/java”
mkdir /usr/local/src/java/
mv jdk1.7.0_72/ /usr/local/src/java/jdk1.7
l 步骤5:配置系统环境变量 先切换到bin目录
/usr/local/src/java/jdk1.7/bin
vim /etc/profile 在最后添加以下内容
export JAVA_HOME=/usr/local/src/java/jdk1.7
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
:wq保存退出
执行 source /etc/profile 使配置文件生效
测试安装是否成功
java -version
centos7下编译hadoop
1.首先源码下载https://github.com/apache/hadoop
2.其次依赖包安装
protobuf (这个要下载安装包,自行百度下载咯)
yum install gcc gcc-c++
yum install make, cmake
yum install openssl-devel
yum install ncurses-devel
maven (这个要3.3.0以上的版本,也自行下载安装咯)
protobuf安装过程(必须2.5版本)
tar zxvf protobuf-2.5.0.tar.gz cd protobuf-3.6.1 ./configure –prefix=/usr/local/ sudo make #要编译很久 sudo make check sudo make install
protoc –version #查看版本
https://www.cnblogs.com/fnlingnzb-learner/p/10534038.html
maven安装过程
tar apache-maven-3.6.3-src.tar.gz
配置maven环境变量 vim /etc/profile
export MAVEN_HOME=/usr/local/src/maven/apache-maven-3.6.3
export PATH=$JAVA_HOME/bin:$PATH:$MAVEN_HOME/bin
mvn -v 测试安装是否成功
配置maven本地仓库
vim /usr/local/src/maven/apache-maven-3.6.3/conf/settings.xml
<!-- 本地仓库路径 --> <localRepository>/opt/repo</localRepository> <!-- 网络仓库地址 --> <mirrors> <mirror>
<id>huaweicloud</id>
<mirrorOf>*</mirrorOf>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror> </mirrors>
Ant(1.10.5)
# 解压 tar -zxf /usr/local/src/apache-ant-1.10.5-bin.tar.gz -C /opt/app/ # 配置环境变量 vi /etc/profile # ANT_HOME export ANT_HOME=/usr/local/src/apache-ant-1.10.5/ export PATH=$PATH:$ANT_HOME/bin # 刷新环境变量 source /etc/profile # 验证 ant -version # Apache Ant(TM) version 1.10.5 compiled on July 10 2018
开始编译
解压 hadoop 源码 tar -zxf /usr/local/src/hadoop-2.9.2-src.tar.gz -C /opt/app/
到Hadoop目录下 cd /usr/local/src/hadoop-2.9.2-src/
编译
mvn clean package install '-Dmaven.test.skip=true'
https://www.cnblogs.com/jhxxb/p/10527491.html
开始安装...
tar 解压
修改配置文件 etc/hadoop目录下
1.hadoop-env.sh 导入JAVAHOME
which java 查看java安装路径
配置JAVAHOME
2.core-site.xml
配置默认文件系统
<property> <name>fs.defaultFS</name> <value>hdfs://node1:9000</value> </property>
配置hadoop运行时产生文件的存储目录
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/src/hadoopdata</value>
<description>Abase for other temporary directories.</description>
</property>
3.hdfs-site.xml
指定HDFS副本的数量(默认三份)
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http.address</name>
<value>node2:50090</value>
</property>
4.mapred-site.xml
指定mr运行时框架,这里指定在yarn上,默认是local
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5.yarn-site.xml
指定yarn的ResourceManager地址
<property>
<name>yarn.resourceManager.hostname</name>
<value>node1</value>
</property>
NodeManager上运行的附属服务,需要配置成mapreduce_shuffle,才可运行Maoreduce程序默认值
<property>
<name>yarn.nodemanager.aux-service</name>
<value>mapreduce_shuffle</value>
</property>
6.slaves(workers)文件,里面写上从节点所在主机名 hadoop3.0以后slaves更名为workers了
node1
node2
node3
7.scp -r /usr/local/src/hadoop-3.2.1/ root@node3:/usr/local/src/hadoop-3.2.1/
把刚刚修改好的Hadoop目录1发送到其他机器上
8.scp -r /etc/profile/ root@node3:/etc/profile
把配置文件也发送到其他机器上
关于Hadoop配置文件
***-default.xml 这里面设置了hadoop默认的配置选项,如果用户没有更改,那么这里的选项就 会生效
***-site.xml 这里配置了用户需要自定义的配置选项
site中配置选项优先级>default中的,如果配的的话就会覆盖默认的
关于HDFS的格式化
首次启动需要格式化
格式化本质是进行文件系统的初始化操作,创建一些自己所需要的文件
格式化之后集群启动成功,后续再也不要进行格式化
格式化操作在HFDFS集群的主角是所在的机器上操作
hdfs namenode -formate

浙公网安备 33010602011771号