赞
踩
最近换了台电脑,之前就电脑上的hadoop集群也用不了了,正好借此机会重新安装一下hadoop。
VMWare安装CentOS7的教程前面发过,可以参考:
VMWare Workstation中安装CentOS7
本节用到的版本如下:
Hadoop:hadoop-3.3.6
JDK:jdk-8u151-linux-x64,
可以去下面网址下载:JDK下载
MySQL:MySQL-server-5.5.48-1.el6.x86_64
安装JDK之前,需要先对第一台服务器进行设置,一般来讲,部署Hadoop集群会有奇数台,本节用到了3台,并且命名为:
centos1、centos2、centos3
三台服务器,接下来先对第一台服务器进行设置:
1.1.1 修改主机名
我这里是默认的主机名:
输入命令:vi /etc/hostname
将本机主机名修改为centos1
再次查看主机名,发现会改变
1.1.2 配置IP地址
输入命令:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
注:这里的IP地址请使用自己的服务器的地址。
然后重启网络服务:service network restart
1.1.3 关闭网络防火墙
查看当前防火墙状态: systemctl status firewalld
关闭防火墙: systemctl stop firewalld
开机自动关闭防火墙: systemctl disable firewalld
然后重启网络服务:systemctl restart network
1.1.4 添加内网域名映射
输入命令:vi /etc/hosts
三个地址分别对应自己的三台服务器地址及主机名
1.1.5 同步网络时间
输入命令:ntpdate cn.pool.ntp.org
发现提示 未找到命令
解决办法:输入命令 yum install ntp
这里可能会提示访问不到外网,具体设置可以参考一下文章:
centos7无法访问外网解决办法
1.2.1 下载好 jdk-8u151-linux-x64.tar.gz 后,放到服务器上,这里我放的位置是:/export/software/
目录自己掌握,然后解压
tar -zxvf jdk-8u151-linux-x64.tar.gz -C /export/server
1.2.2 配置环境变量
输入命令:vi /etc/profile
然后将光标移动到最下面,按i键,进入编辑模式,将以下内容复制到最后面:
注意自己的jdk版本
#set java environment
JAVA_HOME=/export/server/jdk1.8.0_151
CLASSPATH=.:$JAVA_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
然后保存退出
让环境变量生效:
source /etc/profile
检查JDK是否配置完成:
java -version
至此,JDK就安装完成了
1.3.1 先卸载centos7自带的mariadb
先查看mariadb版本:
rpm -qa|grep mariadb
删除对应版本:
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
检查一下是否删除完毕:rpm -qa|grep mariadb
1.3.2 先创建一个目录:mkdir /export/software/mysql
1.3.3 下载mysql
MySQL下载
先下载到本地,然后再上传到服务器上
1.3.4 将下载后的mysql上传到 /export/software/mysql
,解压
tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
检查一下依赖:
yum search libaio
yum search perl
yum search net-tools
那个没有就 yun install 它。
然后依次安装下面的:
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm
1.3.5 初始化
mysqld --initialize
1.3.6 更改所属组
chown mysql:mysql /var/lib/mysql -R
1.3.7 启动mysql
systemctl start mysqld.service
注意:如果先启动的话,会报错,需要先更改所属组
1.3.8 修改密码
(1)查看临时生成的密码 :cat /var/log/mysqld.log
登录:mysql -u root -p
更改密码:alter user user() identified by "123456";
授权:
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; --开启远程连接
FLUSH PRIVILEGES;
exit
1.3.9 mysql常用的几个命令
systemctl stop mysqld --关闭
systemctl status mysqld --状态
systemctl start mysqld --启动
1.3.10 设置开机自启动
systemctl enable mysqld
systemctl list-unit-files | grep mysqld
至此,服务器上已成功安装了mysql。
这里我们将centos1虚拟机克隆两份,需要先将虚拟机关机,右键单击虚拟机名称 centos1,找到 管理,再选择 克隆
然周直接点下一步
修改虚拟机名称以及存放位置
需要克隆两台虚拟机。
修改centos2和centos3虚拟机的主机名、ip地址等
2.2.1 修改ip地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将IPADDR修改为192.168.174.12
同理,centos3也需要修改为192.168.174.13,
然后重启网络服务:systemctl restart network
2.2.2 修改主机名 vi /etc/hostname
分别修改主机名为:centos2 centos3
2.3.1 分别在三台服务器输入以下命令,连续按回车即可:
ssh-keygen -t rsa
2.3.2 配置免密
# 在centos1输入下面两条命令,输入yes即可
ssh-copy-id centos2
ssh-copy-id centos3
# 同理,需要在另外两台服务器分别配置
2.3.4 验证免密登录
分别在centos1中执行以下命令
ssh centos2
ssh centos3
至此,ssh免密登录配置完成。
为了后续安装的方便,防止出现问题等,切换一个新的用户
adduser hadoop1
passwd hadoop1
我这里切换了一个新的用户,名字为hadoop1
3.1.1 下载
我这里下载的是3.3.6版本:
Hadoop3.3.6下载
3.1.2
在/目录下新建一个目录,名字为:hadoops,将上面下载好的hadoop压缩包上传到该目录下
并解压
tar -zxvf hadoop-3.3.6-aarch64.tar.gz /hadoops
(1) 配置环境变量 hadoop-env.sh
vi /hadoops/hadoop-3.3.6/etc/hadoop/hadoop-env.sh
只需要将JDK的路径配置进去即可:
export JAVA_HOME=/export/server/jdk1.8.0_151
然后再最后加上:
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
(2)配置核心组件 core-site.xml
vi /hadoops/hadoop-3.3.6/etc/hadoop/core-site.xml
找到,将下面代码添加进去:
<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 --> <property> <name>fs.defaultFS</name> <value>hdfs://centos1:9000</value> </property> <!-- 设置Hadoop本地保存数据路径 --> <property> <name>hadoop.tmp.dir</name> <value>/export/data/hadoop-3.3.6</value> </property> <!-- 设置HDFS web UI用户身份 --> <property> <name>hadoop.http.staticuser.user</name> <value>root</value> </property> <!-- 整合hive 用户代理设置 --> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>
(3)配置文件系统hdfs-site.xml
vi /hadoops/hadoop-3.3.6/etc/hadoop/hdfs-site.xml
找到,将下面代码添加进去:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop1/hadoopData/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop1/hadoopData/data</value>
</property>
</configuration>
(4)配置计算框架 mapred-site.xml
vi /hadoops/hadoop-3.3.6/etc/hadoop/mapred-site.xml
找到,将下面代码添加进去:
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- MR程序历史服务器端地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>centos1:10020</value> </property> <!-- 历史服务器web端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>centos1:19888</value> </property> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property>
(5)配置文件系统 yarn-site.xml
vi /hadoops/hadoop-3.3.6/etc/hadoop/yarn-site.xml
找到,将下面代码添加进去:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>centos1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(6)配置workers文件
添加(修改)内容为:
centos1
centos2
centos3
这是最一开始配置的三台服务器的名称
(7) 配置环境变量路径
vi /hadoops/hadoop-3.3.6/etc/profile
配置你的JDK路径以及hadoop路径
export JAVA_HOME=/export/server/jdk1.8.0_151
export HADOOP_HOME=/hadoops/hadoop-3.3.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
然后将profile文件分别拷贝到另外两台服务器,并且执行source生效
(8)将centos1编辑好的配置文件都拷贝到另外两台服务器
scp -r /hadoops/hadoop-3.3.6/etc/hadoop/ hadoop@centos2:/hadoops/hadoop-3.3.6/etc/
scp -r /hadoops/hadoop-3.3.6/etc/hadoop/ hadoop@centos3:/hadoops/hadoop-3.3.6/etc/
hadoop namenode -format
进入目录: /hadoops/hadoop-3.3.6/sbin/
4.2.1 启动yarn start-yarn.sh
4.2.2 启动HDFS start-dfs.sh
分别在三台服务器输入命令: jps
centos1:
centos2:
centos3:
至此 hadoop集群已成功启动。
管理页面网址一般是 http://+你的节点的网址+:8088,
例如我的就是:http://192.168.19.11:8088
4.5.1 关闭集群服务需要在主节点上进行,也就是centos1
**注意:需要先关闭hdfs,再关闭yarn
(1)关闭hdfs: stop-dfs.sh
(2)关闭yarn: stop-yarn.sh
此时可以看到jps后其他服务都消失了,证明集群服务已成功关闭。
hive版本用的是3.1,下载地址:hive3.1.3
选择第一个即可,下载到本地
在目录 /export/software/
下面放进hive压缩包,解压
cd /export/software/
tar -zxvf apache-hive-3.1.3-bin.tar.gz
```### 5.2 配置文件以及环境变量
(1) 配置 hive-env.sh文件
```bash
cd /export/software/apache-hive-3.1.3-bin/conf/
mv hive-env.sh.template hive-env.sh
vim hive-env.sh
添加以下内容:
export HADOOP_HOME=/hadoops/hadoop-3.3.6
export HIVE_CONF_DIR=/export/software/apache-hive-3.1.3-bin/conf
export HIVE_AUX_JARS_PATH=/export/software/apache-hive-3.1.3-bin/lib
(2)配置 hive-site.xml 文件
没有这个文件就创建
vim hive-site.xml
添加以下内容:
<configuration> <!-- 存储元数据mysql相关配置 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://centos1:3306/hive3?createDatabaseIfNotExist=true&useSSL=false</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> <!-- H2S运行绑定host --> <property> <name>hive.server2.thrift.bind.host</name> <value>centos1</value> </property> <!-- 远程模式部署metastore metastore地址 --> <property> <name>hive.metastore.uris</name> <value>thrift://centos1:9083</value> </property> <!-- 关闭元数据存储授权 --> <property> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> </configuration>
(4)将mysql的驱动包上传到hive安装目录lib下面
下载网址: mysql-connector-java
(5)配置环境变量
vim ~/.bashrc
添加下面内容:
export HIVE_HOME=/export/software/apache-hive-3.1.3-bin
export PATH=$PATH:$HIVE_HOME/bin
让配置文件生效: source ~/.bashrc
进入目录: /export/software/apache-hive-3.1.3-bin/bin/
执行命令: schematool -dbType mysql -initSchema
验证hive:hive--help
至此,hive3.1.3安装成功。
5.4.1 启动 metastore服务
进入目录: /export/software/apache-hive-3.1.3-bin/bin/
执行命令: hive --service metastore
**注意,启动后,这个页面就会保持不动,这时候要新开一个链接页面去操作
5.4.2 启动 hiveserver2 服务
进入目录: /export/software/apache-hive-3.1.3-bin/bin/
执行命令: hive --service hiveserver2 &
**注意,hiveserver2启动时间比较长,不要立即beeline连接,很可能会失败。
5.4.3 检查一下是否成功启动
执行命令 jps
5.4.4 启动beeline
进入目录: /export/software/apache-hive-3.1.3-bin/bin/
执行命令: beeline
输入:! connect jdbc:hive2://centos1:10000
继续输入用户名,也就是安装hive的用户名:centos1
回车
注意,主机这里要写你的主节点的ip地址,端口的话需要看你hive-site.xml里配置的是哪个就写那个,我这里写的是20000,然后用户名密码就是你当前主机的用户名和密码
然后点击测试链接,连接成功,就可,接下来就可以操作hive了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。