centos环境安装文档

centos软件安装

前期准备工作

1、通过VMWare安装纯净版centos

2、使用CRT连接虚拟机

一、基础环境配置

1.主机名称修改: /etc/hostname

echo node1 > /etc/hostname

2.修改域名解析文件: /etc/hosts

后续搭建集群时使用域名访问电脑

在平时使用www.baidu.com域名访问时,最终会同dns服务器将域名解析为ip地址访问

echo '192.168.88.100 node1.itcast.cn node1' >> /etc/hosts
echo '192.168.88.101 node2.itcast.cn node2' >> /etc/hosts
echo '192.168.88.102 node3.itcast.cn node3' >> /etc/hosts

3.关闭防火墙

 systemctl stop firewalld.service

4.禁用防火墙

 systemctl disable firewalld.service

5.关闭SELinux: /etc/selinux/config

sed -i "s/enforcing/disabled/" /etc/selinux/config

6.时钟同步

ntpdate ntp4.aliyun.com

# 内部服务器不允许上网,内部搭建一个时钟服务器   同步内部
ntpdate  192.168.88.3

7.设置静态ip地址: /etc/sysconfig/network-scripts/ifcfg-ens33

sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR="192.168.88.100"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'PREFIX="24"' >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY="192.168.88.2"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1="8.8.8.8"'  >>  /etc/sysconfig/network-scripts/ifcfg-ens33

8.创建软件安装目录

mkdir /export
cd /export
mkdir data logs server software

9.重启系统

init 6

二、Java环境安装

1.java文件上传解压: jdk-8u65-linux-x64.tar.gz ,注意:上传文件位置为 /export/server目录

cd /export/server
tar zxvf /export/server/jdk-8u65-linux-x64.tar.gz

2.修改环境变量

echo 'export JAVA_HOME=/export/server/jdk1.8.0_65' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
source /etc/profile

3.验证

java -version

image-20211020160553687

三、Mysql安装

1.上传mysql压缩包(mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar)解压,注意:上传文件位置为 /export/server目录下

cd /export/server
mkdir mysql5.7
tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C mysql5.7
cd mysql5.7

2.卸载mariadb-libs

rpm -e --nodeps mariadb-libs

3.rpm安装mysql

rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm

4.初始化服务和修改文件权限

mysqld --initialize
chown mysql:mysql /var/lib/mysql -R

5.启动服务并设置开机自启

systemctl start mysqld.service
systemctl enable mysqld.service

6.登录Mysql

Pass=$(grep 'A temporary password' /var/log/mysqld.log |awk '{print $NF}')
mysql -uroot -p"$Pass"

7.修改mysql密码及配置远程登录,注意:该操作是在mysql中进行

alter user user() identified by "hadoop";
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
FLUSH PRIVILEGES; 

8.退出mysql

exit;

四、zookepper安装

1.上传zookepper压缩包(zookeeper-3.4.6.tar.gz)解压,注意:上传文件位置为 /export/server目录

cd /export/server
tar xvf /export/server/zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 zookeeper

2.添加环境变量

echo 'export ZOOKEEPER_HOME=/export/server/zookeeper' >> /etc/profile
echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile
source /etc/profile

3.创建数据目录

mkdir /export/data/zkdata
echo 1 > /export/data/zkdata/myid

# 注意:!!!!!!!!!
# 注意:!!!!!!!!!
# 注意:!!!!!!!!!
# 搭建集群时,还需要在创建完node2虚拟机上执行
echo 2 > /export/data/zkdata/myid
# 搭建集群时,还需要在创建完node3虚拟机上执行
echo 3 > /export/data/zkdata/myid

4.修改配置文件

mv  /export/server/zookeeper/conf/zoo_sample.cfg /export/server/zookeeper/conf/zoo.cfg
sed -i "s#^dataDir.*#dataDir=/export/data/zkdata#" /export/server/zookeeper/conf/zoo.cfg
echo 'server.1=node1:2888:3888' >> /export/server/zookeeper/conf/zoo.cfg
echo 'server.2=node2:2888:3888' >> /export/server/zookeeper/conf/zoo.cfg
echo 'server.3=node3:2888:3888' >> /export/server/zookeeper/conf/zoo.cfg

5.zookeeper服务操作

# 启动
zkServer.sh start
# 停止
zkServer.sh stop
# 查看状态
zkServer.sh status

## 注意启动时需要三台机器都执行启动服务

6.查看运行的java服务

jps

7.集群搭建说明

在node1的机器上配置完成后,需要将node1中的zookeeper目录复制到node2和node3的对应目录下,同时需要将基础环境配置步骤在node2和node3上重新执行一遍

集群之间还需要配置免密登录

注意:克隆完成后需要修改机器名和ip地址

8.集群免密登录

# 创建密钥
ssh-keygen
# 拷贝密钥到其他机器
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

五、hadoop安装

1.上传hadoop压缩包(hadoop-3.3.0-Centos7-64-with-snappy.tar.gz)解压,注意:上传文件位置为 /export/server目录

cd /export/server
tar  zxvf /export/server/hadoop-3.3.0-Centos7-64-with-snappy.tar.gz

2.配置环境变量

echo 'export HADOOP_HOME=/export/server/hadoop-3.3.0' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> /etc/profile
source /etc/profile

3.手动修改配置文件(3和4二选一)

进入/export/server/hadoop-3.3.0/etc/hadoop目录下进行修改

① hadoop-env.sh文件
export JAVA_HOME=/export/server/jdk1.8.0_65
#文件最后添加
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 
② core-site.xml文件
<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:8020</value>
</property>

<!-- 设置Hadoop本地保存数据路径 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/export/data/hadoop-3.3.0</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>
③ hdfs-site.xml文件
<!-- 设置SNN进程运行机器位置信息 -->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>node2:9868</value>
</property>
④ mapred-site.xml文件
<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

<!-- MR程序历史服务器端地址 -->
<property>
  <name>mapreduce.jobhistory.address</name>
  <value>node1:10020</value>
</property>
 
<!-- 历史服务器web端地址 -->
<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>node1: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>
⑤ yarn-site.xml文件
<!-- 设置YARN集群主角色运行机器位置 -->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>node1</value>
</property>

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

<!-- 是否将对容器实施物理内存限制 -->
<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>

<!-- 是否将对容器实施虚拟内存限制。 -->
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>

<!-- 开启日志聚集 -->
<property>
  <name>yarn.log-aggregation-enable</name>
  <value>true</value>
</property>

<!-- 设置yarn历史服务器地址 -->
<property>
    <name>yarn.log.server.url</name>
    <value>http://node1:19888/jobhistory/logs</value>
</property>

<!-- 保存的时间7天 -->
<property>
  <name>yarn.log-aggregation.retain-seconds</name>
  <value>604800</value>
</property>
⑥ workers文件
node1
node2
node3

4.使用配置文件替换(3和4二选一)

上传配置文件压缩包(hadoop-config.tar)解压,注意:上传文件位置为 /export/server目录

tar  xvf /export/server/hadoop-config.tar 
mv -f /export/server/hadoop-config/* /export/server/hadoop-3.3.0/etc/hadoop/
rm  /export/server/hadoop-config*  -rf

5.集群搭建说明

需要将node1中的Hadoop文件复制到node2和node3的对应位置

scp可以进行主机的文件复制拷贝
scp -r /export/server/hadoop-3.3.0  root@node2:/export/server/

6.hadoop集群启动

① 数据初始化

注意: 初始化操作必须在node1中执行

hdfs namenode -format
② 脚本启动和关闭
start-all.sh

stop-all.sh

http://192.168.88.100:9870

六、Hive的安装 hive安装一台即可 也可以安装多台

1.上传安装包 解压

cd /export/server/
tar zxvf /export/server/apache-hive-3.1.2-bin.tar.gz

2.解决Hive与Hadoop之间guava版本差异

rm -rf /export/server/apache-hive-3.1.2-bin/lib/guava-19.0.jar
cp /export/server/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar /export/server/apache-hive-3.1.2-bin/lib/

3. 配置环境变量

echo 'export HIVE_HOME=/export/server/apache-hive-3.1.2-bin' >> /etc/profile
echo 'export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/sbin' >> /etc/profile
source /etc/profile

4. 修改配置文件

① hive-env.sh
  • 修改文件名称
cd /export/server/apache-hive-3.1.2-bin/conf
mv hive-env.sh.template hive-env.sh
  • 写入数据
echo 'export HADOOP_HOME=/export/server/hadoop-3.3.0' >> /export/server/apache-hive-3.1.2-bin/conf/hive-env.sh
echo 'export HIVE_CONF_DIR=/export/server/apache-hive-3.1.2-bin/conf' >> /export/server/apache-hive-3.1.2-bin/conf/hive-env.sh
echo 'export HIVE_AUX_JARS_PATH=/export/server/apache-hive-3.1.2-bin/lib' >> /export/server/apache-hive-3.1.2-bin/conf/hive-env.sh
② hive-site.xml
  • 打开文件
vim hive-site.xml
  • 复制粘贴如下内容
<configuration>
<!-- 存储元数据mysql相关配置 -->
<property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://node1:3306/hive3?createDatabaseIfNotExist=true&amp;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>hadoop</value>
</property>

<!-- H2S运行绑定host -->
<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>node1</value>
</property>

<!-- 远程模式部署metastore metastore地址 -->
<property>
    <name>hive.metastore.uris</name>
    <value>thrift://node1:9083</value>
</property>

<!-- 关闭元数据存储授权  --> 
<property>
    <name>hive.metastore.event.db.notification.api.auth</name>
    <value>false</value>
</property>
</configuration>

5.上传mysql jdbc驱动到 /export/server/apache-hive-3.1.2-bin/lib/

mysql-connector-java-5.1.32.jar

6.初始化元数据

schematool -initSchema -dbType mysql -verbos
#初始化成功会在mysql中创建74张表

7.在hdfs创建hive存储目录

hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse

8.启动hive

① 启动metastore服务
#前台启动  关闭ctrl+c
/export/server/apache-hive-3.1.2-bin/bin/hive --service metastore

#前台启动开启debug日志
/export/server/apache-hive-3.1.2-bin/bin/hive --service metastore --hiveconf hive.root.logger=DEBUG,console  

#后台启动 进程挂起  关闭使用jps+ kill -9
nohup /export/server/apache-hive-3.1.2-bin/bin/hive --service metastore &
② 启动hiveserver2服务
  nohup /export/server/apache-hive-3.1.2-bin/bin/hive --service hiveserver2 &

 #注意 启动hiveserver2需要一定的时间  不要启动之后立即beeline连接 可能连接不上
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值