
# 开始使用
该解决方案使用22端口CloudShell方式远程登录云服务器，默认已配置IP地址白名单，若需远程登录云服务器，可直接使用CloudShell远程登录。
该解决方案部署成功后，环境初始化及应用安装预计10\~15分钟不等，受网络、带宽影响，部署时间会有波动，部署完成方可正常使用。
#### 安全组规则修改（可选）
安全组实际是网络流量访问策略，包括网络流量入方向规则和出方向规则，通过这些规则为安全组内具有相同保护需求并且相互信任的云服务器、云容器、云数据库等实例提供安全保护。
如果您的实例关联的安全组策略无法满足使用需求，比如需要添加、修改、删除某个TCP端口，请参考以下内容进行修改。
- 添加安全组规则：根据业务使用需求需要开放某个TCP端口，请参考**[添加安全组规则](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0030969470.html)**添加入方向规则，打开指定的TCP端口。
- 修改安全组规则：安全组规则设置不当会造成严重的安全隐患。您可以参考**[修改安全组规则](https://support.huaweicloud.com/usermanual-vpc/vpc_SecurityGroup_0005.html)**，来修改安全组中不合理的规则，保证云服务器等实例的网络安全。
- 删除安全组规则：当安全组规则入方向、出方向源地址/目的地址有变化时，或者不需要开放某个端口时，您可以参考**[删除安全组规则](https://support.huaweicloud.com/usermanual-vpc/vpc_SecurityGroup_0006.html)**进行安全组规则删除。
 
#### 启动Kyuubi服务
1. 登录华为云[X实例控制台](https://console.huaweicloud.com/hecsx/?agencyId=40203bb4e8294d8cae1db16b2ac7a09b&region=cn-north-4&locale=zh-cn#/hecsx/instance/manager/vmList)，远程登录服务器实例。
   
   图1登录华为云控制台   
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002626531854.png "点击放大")
   图2选择CloudShell登录   
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002625666819.png "点击放大")
   图3远程登录   
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002656771119.png "点击放大")
   
   
2. 准备MRS Hadoop相关的配置文件。 
   MRS Hadoop分析集群的master节点数量一般是2-3个，选择任何一个master即可，假设其中一台master服务器IP是10.0.11.237，执行如下命令将Hadoop相关配置文件复制到ECS本地。
   ```
   export HADOOP_MASTER=10.0.11.237
   mkdir -p /opt/kyuubi-conf
   ssh root@$HADOOP_MASTER "cat /opt/Bigdata/client/HDFS/hadoop/etc/hadoop/core-site.xml" > /opt/kyuubi-conf/core-site.xml
   ssh root@$HADOOP_MASTER "cat /opt/Bigdata/client/HDFS/hadoop/etc/hadoop/hdfs-site.xml" > /opt/kyuubi-conf/hdfs-site.xml
   ssh root@$HADOOP_MASTER "cat /opt/Bigdata/client/HDFS/hadoop/etc/hadoop/yarn-site.xml" > /opt/kyuubi-conf/yarn-site.xml
   ```
   图4示例命令截图如下
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002626359288.png "点击放大")
   
   
3. 构建Kyuubi配置文件。 
   参考[访问MRS集群Manager服务](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)，在Manager服务中查询Hive MetaStore的IP地址。
   图5MRS Manager服务界面
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002626339154.png "点击放大")
   图6 Hive MetaStore的IP地址
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002626498942.png "点击放大")
   通过上图得知示例中的Hive MetaStore的IP分别是10.0.11.237和10.0.26.192，执行以下命令构建Kyuubi配置文件/opt/kyuubi-conf/kyuubi-defaults.conf。
   ```
   export HIVE1=10.0.11.237
   export HIVE2=10.0.26.192
   cat > /opt/kyuubi-conf/kyuubi-defaults.conf << EOF
   spark.hadoop.hive.metastore.uris thrift://${HIVE1}:9083,thrift://${HIVE2}:9083
   spark.sql.warehouse.dir hdfs://hacluster/user/hive/warehouse
   EOF
   cat /opt/kyuubi-conf/kyuubi-defaults.conf
   ```
   
   
4. 新增MRS Hadoop集群的用户配置。 
   进入HDFS服务的界面，选择\[ **配置** \] --\> \[ **HDFS服务** \] --\> \[ **自定义** \]，针对core-site.xml文件新增如下3个键值对。
   ```
   hadoop.proxyuser.kyuubi.users *
   ```
   ```
   hadoop.proxyuser.kyuubi.groups *
   ```
   ```
   hadoop.proxyuser.kyuubi.hosts *
   ```
   图7 MRS Hadoop配置页界面
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002626506676.png "点击放大")
   新增配置完成后，点击左上角的\[ **保存** \]按钮。
   
   
   
5. 重启MRS集群中的HDFS服务。 
   在MRS Manager界面中选择HDFS服务，选择\[ **重启服务** \]，注意不需要去勾选\[ **重启上层服**务 \]的选择框。等待HDFS服务重启完成。
   图8 在MRS Manager中重启HDFS服务
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002626360430.png "点击放大")
   
   
6. 启动Kyuubi容器。 
   执行脚本启动Kyuubi容器，命令如下。
   ```
   bash /opt/run-kyuubi.sh
   ```
   观察Kyuubi容器的日志，没有出现ERROR日志，说明启动成功。
   ```
   docker logs -f kyuubi
   ```
   图9 Kyuubi容器日志
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002656759075.png "点击放大")
   
   
   
 
#### 使用beeline连接Kyuubi创建示例数据库和表
1. beeline命令行工具连接Kyuubi。 
   进入Kyuubi容器。
   ```
   docker exec -it kyuubi bash
   ```
   在容器中执行如下命令，使用beeline工具去连接Kyuubi服务器的10009端口，在本示例中Kyuubi服务器的内网IP是10.0.6.175，-n参数表示用户名（可任意设置，例如是root、alice等）。
   ```
   # 命令格式：
   /opt/kyuubi/bin/beeline -u "jdbc:hive2://<kyuubi服务器内网IP>:10009/" -n <用户名>
   # 具体示例命令：
   /opt/kyuubi/bin/beeline -u "jdbc:hive2://10.0.6.175:10009/" -n alice
   ```
   图10 beeline连接Kyuubi
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002626528314.png "点击放大")
   
   
2. beeline命令行环境中创建示例数据库和表。 
   在beeline命令行环境中，执行如下SQL创建示例数据库、表，最后执行表查询。
   ```
   -- 创建数据库
   CREATE DATABASE IF NOT EXISTS my_test_db;
   -- 切换到该数据库
   USE my_test_db;
   -- 创建一个简单的员工表
   CREATE TABLE employee (
       id INT,
       name STRING,
       age INT,
       department STRING
   )
   USING PARQUET
   COMMENT '员工信息表';
   INSERT INTO employee VALUES
   (1, 'Alice', 28, 'Engineering'),
   (2, 'Bob', 32, 'Sales'),
   (3, 'Charlie', 25, 'Marketing');
   -- 查询所有数据
   SELECT * FROM employee;
   ```
   
   图11 查询插入的数据
   ![](https://support.huaweicloud.com/kyuubi-internet/zh-cn_image_0000002626530282.png "点击放大")
   
   
 
#### 重启/停止Kyuubi（可选）
当Kyuubi容器意外停止时，或者ECS重启后，Kyuubi容器默认会自动重启。用户依然可以选择手工停止和重启Kyuubi容器。
1. 查看Kyuubi容器状态。 
   执行以下命令查看所有容器及其状态。
   ```
   # 参数说明: 参数--all表示列出本机所有容器
   docker ps --all
   ```
   STATUS字段表示容器的状态，UP或Running表示正常运行，Exited或Stopped表示停止。
   
   
2. 停止Kyuubi容器。 
   执行以下命令停止Kyuubi容器。
   ```
   # 命令格式：docker stop 容器名或ID
   docker stop kyuubi
   ```
   
   
3. 重启Kyuubi容器。 
   方式1：重启已存在的Kyuubi容器。
   ```
   # 命令格式：docker restart 容器名或ID
   docker restart kyuubi
   ```
   方式2：删除已存在的Kyuubi容器并启动新Kyuubi容器。
   ```
   bash /opt/run-kyuubi.sh
   ```
   
   
 
