hadoop-3.2.1+zookeeper+3.6.3+CentOS7 HA安装部署

hadoop-3.2.1+zookeeper+3.6.3+CentOS7 HA安装部署

开始先说注意事项:
1、配置文件中所涉及到的文件目录都根据自己的实际情况来。
2、所有的文件夹或文件都必须属于操作的这个用户,不然不能创建文件或者文件夹会报错。
3、所有的配置文件中都不能有中文,包括注释。
4、我的目录结构,所有东西都放在/home/hadoop/software下的。
5、坑太多,我们砥砺前行,如有什么问题可以评论一起解决哦。
节点设计

节点NameNodeDataNoderesourceManagerJournalnodezookeeperzkfc
Master001
Master002
Slave001
Slave002
Slave003

linux环境配置

一、linux基础信息配置

1)修改主机名

vim /etc/hostname
写入:Master001
vim /etc/sysconfig/network
写入:HOSTNAME=Master001
reboot	#重启计算机

2)设置静态IP

vim /etc/sysconfig/network-scripts/ifcfg-ens33
重启有效:ONBOOT=yes
静态分配IP:BOOTPROTO=static
增加:
	IP地址:IPADDR=192.168.32.101
	子网掩码:NETMASK=255.255.255.0
	网关:GATEWAY=192.168.32.2
	域名解析:DNS1=180.76.76.76

3)设置hosts

vim /etc/hosts
#hosts文件是linux系统中负责IP地址与域名快速解析的文件。
192.168.32.100 Master001
192.168.32.101 Master002
192.168.32.200 Master001
192.168.32.201 Master002
192.168.32.202 Master003

4)切换yum源为阿里云yum源

4.1)切换目录
cd /etc/yum.repos.d/
4.2)获取阿里云源
wget http://mirrors.aliyun.com/repo/Centos-7.repo
如果wget不生效则,yum -y install wget
4.3)备份原来的云源
备份原来的源文件:mv CentOS-Base.repo CentOS-Base.repo.bak
替换yum源:mv Centos-7.repo CentOS-Base.repo
4.4)使yun源生效
yum clean all	#清除缓存
yum makecache	#生成新缓存
yum update		#更新yum源
4.5)关闭SELinux和防火墙
#不关闭这两个后面会出现拒绝连接的异常
vim /etc/sysconfig/selinux
	SELINUX=disabled	#关闭SELinux
systemctl stop firewalld
systemctl disable firewalld

systemctl restart network	#使配置生效

二、MySql8的安装与用户管理

1、安装

1)卸载本地已经安装的mariadb
rpm -qa | grep mariadb	#列出本地安装过的
rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64	#强力卸载
2)下载mysql8的RPM包
yum localinstall https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
3)安装mysql服务
yum install mysql-community-server
4)启动mysql,并检查状态
systemctl start mysqld.service	#启动mysql服务,注意有一个d
systemctl status mysqld.service	#查看服务状态
5)查看root用户的初始密码

在这里插入图片描述

6)使用root初始密码登录mysql
mysql -uroot -p Z:d2de;U+O3R
7)修改root的密码
1)mysql密码策略比较严,要设置简单密码先得修改密码策略。
set global validate_password.policy=0	#总体复杂度降低
set global validate_password.length=6	#设置密码长度
 set global validate_password.check_user_name=OFF	#检测用户
 set global validate_password.number_count=0	#数字位数不要求
 set global validate_password.special_char_count=0	#特殊字符不要求
2)修改密码
alter user 'root'@'localhost' identified with mysql_native_password by '新密码'
3)设置开机自启
systemctl enable mysqld.service

2、用户管理

1)创建mysql用户

create user username@hostname identified by 'password';
#username:用户名
#hostname:主机名
#password:密码,注意要有引号哦

2)查看用户的权限

show grants for 用户;

3)授权给某个用户

grants 权限 on *.* to 用户 identified by '密码' with grant option;
grants 权限1,权限2,...,权限n to userName@hostname
	all:全部权限
	create:创建表的权限
	alter:修改表的权限
	drop:删除表的权限
	insert:插入数据的权限
	update:更新数据的权限

4)撤销授权

revoke 权限1,...,on *.* from user_name@hostname;

5)删除用户

drop user userName@hostname;

6)修改用户密码

update mysql.user set password=password('新密码') where User='用户名';
flush privileges;	#刷新权限表

三、JDK安装

1)上传解压下载好的jdk包

tar -zxf jdk-8u251-linux-x64.tar.gz

2)配置环境变量

vim /etc/profile
JAVA_HOME=jdk的路径

source /etc/profile	#使配置环境生效

四、hadoop安装与配置

1)直接解压,并添加环境变量,注意所有的配置文件中禁止出现中文,包括注释也不行。这坑我陷在里面好几天。

export HADOOP_HOME=/home/hadoop/model/hadoop-3.2.1
#
export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export YARN_HOME=$HADOOP_HOME

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

export JAVA_LIBRARY=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

2)配置hadoop环境变量

2.1)进入配置文件所在目录
cd /hadoop-3.2.1/etc/hadoop
2.2)修改hadoop-env.sh
vim hadoop-env.sh
	export JAVA_HOME=jdk安装目录
	export JAVA_HOME=/home/hadoop/software/jdk1.8.0_251/jre
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"
export HDFS_NAMENODE_USER="hadoop"
export HDFS_DATANODE_USER="hadoop"
export HDFS_ZKFC_USER="hadoop"
export HDFS_JOURNALNODE_USER="hadoop"
export HDFS_SECONDARYNAMENODE_USER="hadoop"
export HDFS_RESOURCEMANAGER_USER="hadoop"
export YARN_RESOURCEMANAGER_USER="hadoop"
export YARN_NODEMANAGER_USER="hadoop"
2.3)修改core-site.xml
<configuration>
        <property>
                <name>ha.zookeeper.quorum</name>
                <value>Slave001:2181,Slave002:2181,Slave003:2181</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
             <value>/home/hadoop/software/data/tmp</value>
        </property>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://mycluster</value>
        </property>
</configuration>

2.4)修改hdfs-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <property>
                <name>dfs.nameservices</name>
                <value>mycluster</value>
        </property>
        <property>
                <name>dfs.ha.namenodes.mycluster</name>
                <value>nn1,nn2</value>
        </property>
        <property>
                <name>dfs.namenode.rpc-address.mycluster.nn1</name>
                <value>Master001:9000</value>
        </property>
        <property>
                <name>dfs.namenode.rpc-address.mycluster.nn2</name>
                <value>Master002:9000</value>
        </property>
        <property>
                <name>dfs.namenode.http-address.mycluster.nn1</name>
                <value>Master001:50070</value>
        </property>
        <property>
                <name>dfs.namenode.http-address.mycluster.nn2</name>
                <value>Master002:50070</value>
        </property>
        <property>
                <name>dfs.namenode.shared.edits.dir</name>
                <value>qjournal://Slave001:8485;Slave002:8485;Slave003:8485/mycluster</value>
        </property>
        <property>
                <name>dfs.journalnode.edits.dir</name>
                <value>/home/hadoop/software/data/QJEditsData</value>
        </property>
        <property>
                <name>dfs.ha.automatic-failover.enabled</name>
                <value>true</value>
        </property>
        <property>
                <name>dfs.client.failover.proxy.provider.mycluster</name>
                <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
        </property>
        <property>
                <name>dfs.ha.fencing.methods</name>
                <value>
                        sshfence
                        shell(/bin/true)
                </value>
        </property>
        <property>
                <name>dfs.ha.fencing.ssh.private-key-files</name>
                <value>/home/hadoop/.ssh/id_rsa</value>
        </property>
  <property>
                <name>dfs.ha.fencing.ssh.connect-timeout</name>
                <value>30000</value>
        </property>

2.5)配置mapred-site.xml

<configuration>
        <!-- 设置jar程序启动Runner类的main方法运行在yarn集群上,通知框架MR使用yarn-->
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

2.6)修改workers文件,指定数据节点。

vim workers	#去掉localhost
添加:
Slave001
Slave002
Slave003

2.7)配置yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
        <!-- 设置ResourceManager在哪台结点-->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Master001</value>
        </property>
        <!-- Reduce取数据的方式是mapreduce_shuffle-->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

2.8)复制虚拟机

注意: 复制虚拟机后要选择我已复制,不然MAC地址没有改变会冲突。
如果选了我已移动,解决办法:点编辑虚拟机
在这里插入图片描述

五、SSH免密登录

1)检查是否安装ssh

rpm -qa | grep ssh
yum list | grep ssh 	#查看yum源有哪些ssh
yum install -y ...clients和server

2)生成秘钥

ssh-keygen -t -rsa 	#一路回车即可

3)分发秘钥

ssh-copy-id 其他节点名,包括自己
ssh 其他节点名,检查是否成功

六、zookeeper安装与启动

1)上传、解压、进入conf目录、复制zoo_sample.cfg为zoo.cfg并编辑

dataDir=/home/hadoop/software/apache-zookeeper-3.6.2-bin/tmp/zookeeper	#NameNode的快照存放目录目录根据自己实际来写

#添加
#选举规则配置,规则服务器编号=服务器地址:LF通信端口:选举端口
server.1=Slave001:2888:3888
server.2=Slave002:2888:3888
server.3=Slave003:2888:3888

2)创建配置文件中存放快照的文件夹

mkdir -p /home/hadoop/apache-zookeeper-3.6.2-bin/tmp/zookeeper

3)在快照文件夹下创建myid文件

vim myid
	写入结点编号:3

4)把zookeeper目录分发到其他节点(Salave001\002\003),并且在相应节点中修改myid为想想节点的编号。

scp -r apache-zookeeper-3.6.2-bin Slave001:~/software/

5) 把zookeeper添加到环境变量

#ZOOKEEPER
export ZOOKEEPER_HOME=/home/hadoop/software/apache-zookeeper-3.6.2-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin

6)zookeeper启动命令

zkServer.sh start | stop | status

七、启动集群

1)高可用集群格式化NameNode时需要到Zookeeper每个节点上启动journalnode进程。(保证所有文件夹对hadoop用户有读写权限,否则文件夹创建不了线程就启动不起来。)

hdfs start journalnode	#第一次启动必须要在数据节点先启动这个线程

2)在Master001中格式化NameNode。

hdfs namenode -format

3)把生成的tmp目录拷贝到其他每一台节点相应的目录下

4)在Master001中格式化zookeeper

rm -rf /tmp/hsperfdata_*	#每台虚拟机都执行删除文件
hdfs zkfc -format	#初始化zk
集群搭好后再格式化一下zk
rm -rf /tmp/hsperfdata_*	#每台虚拟机都执行删除文件
hdfs zkfc -formatZK

八、配置文件

vim /etc/profile	#这个文件

export JAVA_HOME=/home/hadoop/software/jdk1.8.0_251/
export PATH=$JAVA_HOME/bin:$PATH

#HADOOP
export HADOOP_HOME=/home/hadoop/software/hadoop-3.2.1
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

#ZOOKEEPER
自己把zookeeper的路径加上,Master001、002节点不需要配置
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要下载Hadoop-3.2.1.tar.gz,首先需要进入Hadoop官方网站或者其他可信的镜像站点。在网站的下载页面中,找到Hadoop-3.2.1版本的下载链接。 点击下载链接后,会弹出一个对话框,询问是否要保存该文件。选择保存,并选择一个本地存储位置。如果有多个镜像站点可供选择,可以根据下载速度和可靠性选择一个最适合自己的镜像站点。 下载完成后,可以检查文件的完整性,可以使用MD5或SHA校验哈希函数来验证下载文件的一致性。这是为了确保文件没有在传输过程中损坏或被篡改。 接下来,需要解压缩下载的tar.gz文件。可以使用命令行工具(例如:tar命令)或图形界面工具(例如:WinRAR)来进行解压缩。解压缩后,会获得一个文件夹,其中包含了Hadoop-3.2.1的所有文件和目录。 解压缩完成之后,可以根据自己的需要进行进一步的配置和安装Hadoop的配置文件位于解压缩后的文件夹中的config目录下,可以根据具体情况进行修改。 最后,根据具体的操作系统和需求,可以启动Hadoop集群或单节点模式来运行Hadoop。可以使用命令行工具,运行特定的start脚本,以启动Hadoop。启动成功后,可以通过Web界面或命令行界面来管理和监控Hadoop集群的运行。 ### 回答2: 要下载hadoop-3.2.1.tar.gz,可以按照以下步骤进行: 1. 打开浏览器,进入hadoop官方网站(https://hadoop.apache.org/releases.html)。 2. 在网站上找到hadoop 3.2.1版本的下载链接,通常会是一个tar.gz压缩文件。 3. 点击下载链接,浏览器会开始下载hadoop-3.2.1.tar.gz文件。 4. 下载完成后,可以通过文件管理器进入下载目录,找到刚刚下载的hadoop-3.2.1.tar.gz文件。 5. 可以选择将hadoop-3.2.1.tar.gz文件移动到你希望存储hadoop的目录,比如/opt目录。 6. 打开终端,进入存储hadoop的目录。 7. 输入以下命令解压hadoop-3.2.1.tar.gz文件: ``` tar -xvf hadoop-3.2.1.tar.gz ``` 8. 解压完成后,会生成一个hadoop-3.2.1的目录,里面包含了hadoop的所有文件和文件夹。 9. 现在你可以开始配置和使用hadoop了,根据需要进行相应的操作。 注意: 下载过程可能会因网络速度和服务器负载而有所差异,请耐心等待下载完成。此外,确保你有足够的存储空间来存储hadoop-3.2.1.tar.gz文件和解压后的hadoop文件。 ### 回答3: 要下载hadoop-3.2.1.tar.gz,你可以按照以下步骤进行: 1. 首先,打开你喜欢的网络浏览器,并在搜索引擎中搜索“hadoop-3.2.1.tar.gz下载”。你将会看到多个下载来源可供选择。 2. 接下来,点击一个可靠的下载来源链接,例如官方网站或其他受信任的软件下载站点。 3. 在下载页面上,查找下载按钮或链接,通常标有“Download”或“下载”。点击这个按钮或链接。 4. 一旦你点击下载按钮,浏览器会开始下载hadoop-3.2.1.tar.gz文件。下载速度取决于你的网络连接质量和文件大小。 5. 下载完成后,你可以在浏览器的下载文件夹或你指定的下载目录中找到hadoop-3.2.1.tar.gz文件。 6. 最后,你可以解压缩该tar.gz文件,通常使用命令行或解压软件。 总之,下载hadoop-3.2.1.tar.gz只需按照上述步骤选择下载来源,并点击下载按钮完成文件下载。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值