CentOS 7环境下的HUE的安装与配置

CentOS 7环境下的HUE的安装与配置:

前言:本文较长,为作者花费两天时间踩了n多的坑之后所写,阅读可能需要很多时间,可以按目录查看所需

安装环境:Cent OS 7、Java 1.8.0_211、Hadoop-2.7.7、MySQL 5.7、Maven 3.5.2、Python 2.7、Node-v10.16.0、Hive-2.3.5、Hue-4.4.0

所用到的文件资源:链接:https://pan.baidu.com/s/1VO5eY-nK3abI578oQ7g6kg
提取码:ryq2

关于maven和node的部分有空了会补全。如有疑问可以到评论区留言,我会尽力帮助

目录

一、安装环境的准备

1、CentOS 7的安装

Cent OS 7的安装与之前版本的安装基本无区别,只是安装时的图形化界面略有改变,这里我选择在VMware 15 Pro上安装。

在这里插入图片描述

安装的教程百度上有很多,也可以参考下面的这篇文章,作者写的图文非常详细https://www.jianshu.com/p/ce08cdbc4ddb?utm_source=tuicool&utm_medium=referral (如有侵权,请联系我删除)

安装完系统之后,检查一下网络信息,在此列出一些常用的命令:

ip addr

查看网卡信息

vi /etc/sysconfig/network-scripts/ifcfg-ens33

配置网卡信息

firewall-cmd --state

查看防火墙状态

systemctl start firewalld.service

systemctl enable firewalld.service

systemctl restart firewalld.service

systemctl stop firewalld.service

systemctl disable firewalld.service

启动、自启、重启、关闭、禁止自启 防火墙

firewall-cmd --add-port=8000/tcp

开放8000端口,重启生效

如果需要的话可以选择更改yum源为阿里的

需要先行安装wget

yum -y install wget

CentOS
1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 5

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、之后运行yum makecache生成缓存
相关链接

2、安装jdk

为了测试兼容性,我选用了Java 1.8_212,下载地址稍后会补上

安装很简单,解压放在指定文件夹就好了,最后需要配置环境变量

3、安装MySQL

我所安装的MySQL版本为5.7,在yum源里找不到,需要改yum源

复制了官网的文档供大家参考

  1. 添加MySQL Yum存储库

    首先,将MySQL Yum存储库添加到系统的存储库列表中。跟着这些步骤:

    1. 访问https://dev.mysql.com/downloads/repo/yum/上的MySQL Yum存储库下载页面 。

    2. 选择并下载适用于您的平台的发行包。

    3. 使用以下命令安装下载的发行包,替换 platform-and-version-specific-package-name 为下载的包的名称:

      shell> sudo rpm -Uvh platform-and-version-specific-package-name.rpm
      

      例如,对于n基于EL6的系统的软件包版本,命令为:

      shell> sudo rpm -Uvh mysql80-community-release-el6-n.noarch.rpm
      

    注意

    一旦在您的系统上安装了发行包,yum update 命令的任何系统范围更新(或启用dnf的系统的dnf升级)将自动升级系统上的MySQL软件包,并替换任何本机第三方软件包,如果Yum在MySQL Yum存储库中找到它们的替换。有关详细信息,请参阅使用MySQL Yum存储库升级MySQL替换MySQL 的本机第三方分发

  2. 选择发布系列

    使用MySQL Yum存储库时,默认选择安装MySQL的最新GA版本。如果这是你想要的,你可以跳到下一步, 用Yum安装MySQL

    在MySQL Yum存储库(https://repo.mysql.com/yum/)中,MySQL社区服务器的不同发行版系列托管在不同的子存储库中。默认情况下启用最新GA系列(当前为MySQL 8.0)的子存储库,默认情况下禁用所有其他系列(例如,MySQL 5.7系列)的子存储库。使用此命令查看MySQL Yum存储库中的所有子存储库,并查看哪些子存储库已启用或禁用(对于支持dnf的系统,请使用dnf替换 命令中的yum):

    shell> yum repolist all | grep mysql
    

    要从最新的GA系列安装最新版本,无需进行任何配置。要从最新GA系列以外的特定系列安装最新版本,请在运行安装命令之前禁用最新GA系列的子存储库并启用特定系列的子存储库。如果您的平台支持 yum-config-managerdnf config-manager命令,则可以通过发出以下命令来执行此操作,这些命令禁用8.0系列的子存储库并启用5.7系列的子存储库; 对于未启用dnf的平台:

    shell> sudo yum-config-manager --disable mysql80-community
    shell> sudo yum-config-manager --enable mysql57-community
    

    对于支持dnf的平台:

    shell> sudo dnf config-manager --disable mysql80-community
    shell> sudo dnf config-manager --enable mysql57-community
    

    除了使用yum-config-managerdnf config-manager命令外,您还可以通过手动编辑/etc/yum.repos.d/mysql-community.repo 文件来选择系列 。这是文件中发布系列的子存储库的典型条目:

    [mysql80-community]
    name=MySQL 8.0 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    

    找到要配置的子存储库的条目,然后编辑该enabled选项。指定 enabled=0禁用子存储库,或 enabled=1启用子存储库。例如,要安装MySQL 5.7,请确保您具有enabled=0MySQL 8.0的上述子存储库条目,并且具有 enabled=15.7系列的条目:

    # Enable to use MySQL 5.7
    [mysql57-community]
    name=MySQL 5.7 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    

    您应该只在任何时候为一个发布系列启用子存储库。当启用多个版本系列的子存储库时,Yum将使用最新的系列。

    通过运行以下命令并检查其输出来验证是否已启用和禁用了正确的子存储库(对于启用dnf的系统,请使用dnf替换 命令中的 yum):

    shell> yum repolist enabled | grep mysql
    
  3. 安装MySQL

    通过以下命令安装MySQL(对于支持dnf的系统,使用dnf替换命令中的 yum):

    shell> sudo yum install mysql-community-server
    

    这将安装MySQL服务器的软件包以及其他所需的软件包。

  4. 启动MySQL服务器

    使用以下命令启动MySQL服务器:

    shell> sudo service mysqld start
    

    对于基于EL7的平台,这是首选命令:

    shell> sudo systemctl start mysqld.service
    

    您可以使用以下命令检查MySQL服务器的状态:

    shell> sudo service mysqld status
    

    对于基于EL7的平台,这是首选命令:

    shell> sudo systemctl status mysqld.service
    

    *MySQL服务器初始化(从MySQL 5.7开始):*在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:

    • 服务器已初始化。

    • 在数据目录中生成SSL证书和密钥文件。

    • validate_password插件安装并启用。

    • 'root'@'localhost' 创建一个超级用户帐户。设置超级用户的密码并将其存储在错误日志文件中。要显示它,请使用以下命令:

      shell> sudo grep 'temporary password' /var/log/mysqld.log
      

      通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改root密码:

      shell> mysql -uroot -p
      
      mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
      

    注意

    MySQL的 validate_password 插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。

因为MySQL 5.7包含了新的密码策略且使用临时密码登入必须先行修改密码,所以需要先按要求改密码,可以在更改密码策略以后,再重新更改密码。更改密码策略的方式如下:

 show variables like 'validate_password%';
 set global validate_password_mixed_case_count=0;
 set global validate_password_policy=LOW;
 set global validate_password_length=1;
 set global validate_password_number_count=0;
 set global validate_password_special_char_count=0;
 依次为:查看策略、大写最小长度、安全级别、密码最小长度、数字最小长度、字符最小长度

之后需要在数据库中设置hive的数据库,设置字符为latin1,创建专用的用户,授予权限;

create user 'hive' identified by 'hive';
grant all privileges on *.* to 'hive'@'%' identified by 'hive' with grant option;
grant all privileges on *.* to 'hive'@'dmp04' identified by 'hive' with grant option;
//将dmp04替换为自己的主机名
flush privileges;
create database if not exists hive character set latin1;

4、安装Hadoop

下载Hadoop的安装包,解压到指定文件夹,添加配置文件在 安装位置/etc/hadoop/ 文件夹下,配置环境变量,前提要配置本机免密登录

在此介绍的是0开始安装的伪分布式的集群;已有集群的只需变更前三个文件里的没有的属性即可

core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
  <name>hadoop.proxyuser.hue.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.hue.groups</name>
  <value>*</value>
</property>
<property>
       <name>hadoop.proxyuser.root.hosts</name>
       <value>*</value>
 </property>

  <property>
       <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
 </property>
</configuration>

hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
     <name>dfs.permissions.enabled</name>
     <value>false</value>
</property>
</configuration>

httpfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property>
    <name>httpfs.proxyuser.hue.hosts</name>
    <value>*</value>
</property>

<property>
    <name>httpfs.proxyuser.hue.groups</name>
    <value>*</value>
</property>

</configuration>

mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

yarn-site.xml

<?xml version="1.0"?>
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    
    
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<property>
     <name>yarn.log-aggregation.retain-seconds</name>
     <value>259200</value>
</property>
</configuration>

slaves

localhost

完成后可以使用start-all.sh命令测试

5、Hive的安装

解压安装,添加环境变量,配置 安装目录/conf 文件夹下的文件

hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?useSSL=false</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>

<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
  <name>hive.metastore.uris</name>
  <value></value>
</property>
<property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/schear/hive/warehouse</value>
</property>

<property>
   <name>hive.metastore.schema.verification</name>
   <value>false</value>
    <description>
    Enforce metastore schema version consistency.
    True: Verify that version information stored in metastore matches with one from Hive jars.  Also disable automatic
          schema migration attempt. Users are required to manully migrate schema after Hive upgrade which ensures
          proper metastore schema migration. (Default)
    False: Warn if the version information stored in metastore doesn't match with one from in Hive jars.
    </description>
 </property>
<!--
<property>
    <name>hive.execution.engine</name>
    <value>spark</value>
  </property>
-->
<property>
  <name>hive.server2.thrift.port</name>
  <value>10000</value>
</property>

<property>
  <name>hive.server2.thrift.bind.host</name>
  <value>localhost</value>
</property>

<property>
  <name>hive.server2.long.polling.timeout</name>
  <value>5000</value>
</property>

</configuration>

在hive-env.sh中修改添加如下:

HADOOP_HOME=/apps/hadoop-2.7.7/

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/apps/apache-hive-2.3.5-bin/conf/

# Folder containing extra libraries required for hive compilation/execution can be controlled by:
# export HIVE_AUX_JARS_PATH=

export JAVA_HOME=/apps/jdk1.8.0_211/

将准备好的mysql-connector-5.14.jar放进 hive安装目录/lib 文件夹下

运行时先启动hdfsmysql,执行命令

hive --service metastore &
hive
//输入hive即可进入

6、安装Maven

7、安装Node

8、其余杂项

Python 2.7为Cent OS 7自带,所以不存在编译时的问题,CentOS 6自带的Python 2.6 会出现的编译时的问题,我暂时未能解决

还有很多的需要用到的组件和命令

 yum -y install git gcc-c++ asciidoc cyrus-sasl-devel cyrus-sasl-gssapi krb5-devel libxml2-devel el python-devel sqlite-devel openssl-devel gmp-devel openldap-devel mysql-server mysql mysql-devel libxslt-devel  libffi libffi-devel

执行这一条命令基本就够了,如果还有其他问题,可以在评论区指出

最后把之前配置的node、npm等命令软连接到 /usr/bin 目录下

cd /usr/bin
ln -s /apps/node-v10.16.0-linux-x64/bin/npm
ln -s /apps/node-v10.16.0-linux-x64/bin/node

二、安装Hue

1、下载解压

 git clone https://github.com/cloudera/hue.git

2、在解压后目录执行 sudo build apps 对文件进行编译

加sudo的原因,在文件编译时,会出现创建文件夹的权限问题,而系统的权限策略导致使用root用户执行该命令也是不行的,只能通过sudo提高权限,这也是上面在/usr/bin文件夹下挂载命令的原因

3、如果结果不是异常退出,恭喜你,安装成功

4、如果有异常,请检查以上命令

三、配置Hue

进入hue安装目录,在desktop/conf文件夹下,找到"pseudo-distributed.ini"文件,低版本的可能为其他名称,但都是ini文件

[desktop]
secret_key=
http_host=0.0.0.0
http_port=8000

time_zone=Asia/Shanghai

dev=true

send_dbug_messages=true

django_email_backend=django.core.mail.backends.console.EmailBackend

app_blacklist=pig,hbase,spark,impala,oozie

[[django_admins]]
[[[admin-1]]]
name=Hue
email=hue@localhost.com

idle_session_timeout=-1

[[database]]
engine=mysql
host=localhost
port=3306
user=hive
password=hive
name=hive

[[smtp]]

host=localhost
port=25
user=
password=

tls=no

[hadoop]

[[hdfs_clusters]]

[[[default]]]
fs_defaultfs=hdfs://localhost:8020

webhdfs_url=http://localhost:50070/webhdfs/v1

hadoop_conf_dir=/apps/hadoop-2.7.7/etc/hadoop
	  hadoop_hdfs_home=/apps/hadoop-2.7.7/
	  hadoop_bin =/apps/hadoop-2.7.7//bin/

[[yarn_clusters]]

[[[default]]]
resourcemanager_host=localhost

resourcemanager_port=8032

submit_to=True

resourcemanager_api_url=http://localhost:8088

proxy_api_url=http://localhost:8088

history_server_api_url=http://localhost:19888

[beeswax]

hive_server_host=localhost

hive_server_port=10000

[filebrowser]
archive_upload_tempdir=/tmp

[librdbms]

[[databases]]

nice_name="My SQL DB"

name=mysqldb

engine=mysql

host=localhost

port=3306

user=hive

password=hive

到这里,基本就算配置完成了,使用下面的命令测试一下吧

先启动Hadoop

start-all.sh

启动hive服务

hive --service metastore &
hive --service hiveserver2 &

启动hue

cd /apps/hue
build/env/bin/hue runserver 0.0.0.0:8000

在浏览器输入ip:8000测试即可
在这里插入图片描述
今天先写到这里,关于maven和node的部分有空了补全。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值