赞
踩
考虑到编译比较繁琐复杂,已将相关编译好的包放在网盘,需要可以自取。
链接:https://pan.baidu.com/s/1BOsnKKwKmTohSGbzi-3QpQ
提取码:C3hp
Hue依赖于许多软件包,需要在安装Hue之前安装这些软件包。
yum install \ ant \ asciidoc \ cyrus-sasl-devel \ cyrus-sasl-gssapi \ cyrus-sasl-plain \ gcc \ gcc-c++ \ krb5-devel \ libffi-devel \ libxml2-devel \ libxslt-devel \ make \ mysql \ mysql-devel\ openldap-devel \ python-devel \ sqlite-devel \ gmp-devel \ npm
到hue安装目录下,执行make。
make apps
其把安装包都打到当前的源码包中,如果迁移安装包,就需要把当前整个包都打包在一块,这样会造成安装包冗余大量的源码数据。
PREFIX=/data/hue-4.10 make install
如果有迁移安装包的需求,一定要注意安装包的路径,因为hue中一些依赖使用了绝对路径,所以在迁移安装包的时候,尽量保证路径不变。
编译成功后Hue可在编译机启动。如果需要在其他机器部署,需要将/data/hue-4.10目录打包压缩后复制到目标机器。尽量保证路径不变。
编译结束后可以输入echo $?查看状态码,若为0则编译成功:
每一次编译过程如果出现问题,在重新编译前尽量make clean一下,避免上次的错误的编译安装残留影响后面的重新安装。
解决方式:npm默认镜像源为国外地址,所以下载会很慢或者下不下来,所以可以通过修改npm下载的镜像源为国内淘宝镜像源进行解决。
npm config set proxy null 清空代理
npm cache clean --force 清空缓存
npm config set registry https://registry.npm.taobao.org 设置代理
cp /data/hue-4.10/hue/desktop/conf/pseudo-distributed.ini.tmpl /data/hue-4.10/hue/desktop/conf/pseudo-distributed.ini
vim /data/hue-4.10/hue/desktop/conf/pseudo-distributed.ini [desktop] secret_key=ZT0kMfPMbzRaHBx http_host=0.0.0.0 http_port=8887 time_zone=Asia/Shanghai app_blacklist=pig,zookeeper,hbase,oozie,indexer,jobbrowser,rdbms,jobsub,sqoop,metastore django_debug_mode=false http_500_debug_mode=false cherrypy_server_threads=50 default_site_encoding=utf collect_usage=false enable_prometheus=true [[django_admins]] [[custom]] [[auth]] backend=desktop.auth.backend.LdapBackend idle_session_timeout=600 [[[jwt]]] [[ldap]] ldap_url=ldap://ldap.cdh.com ldap_username_pattern="uid=<username>,ou=People,dc=server,dc=com" use_start_tls=false search_bind_authentication=false create_users_on_login=true base_dn="ou=People,dc=server,dc=com" bind_dn="cn=Manager,dc=server,dc=com" bind_password="eFRrECKfQfoOB25" [[[users]]] [[[groups]]] [[[ldap_servers]]] [[vcs]] [[database]] engine=mysql host=192.168.37.100 port=3306 user=hue password=6a3ZsJtNs8SSCLe name=hue_10 [[session]] [[smtp]] host=localhost port=25 user= password= tls=no [[knox]] [[kerberos]] [[oauth]] [[oidc]] [[metrics]] [[slack]] [[tracing]] [[task_server]] [[gc_accounts]] [[[default]]] [[raz]] [notebook] show_notebooks=true [[interpreters]] [[[hive]]] name=Hive interface=hiveserver2 [[[impala]]] name=Impala interface=hiveserver2 [[[sparksql]]] name=SparkSql interface=livy [[[pyspark]]] name=PySpark interface=livy [dashboard] is_enabled=true [[engines]] [hadoop] [[hdfs_clusters]] [[[default]]] fs_defaultfs=hdfs://nameservice1 webhdfs_url=http://192.168.37.20:14000/webhdfs/v1 hadoop_bin=/opt/cloudera/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114/lib/hadoop/bin/hadoop security_enabled=false temp_dir=/tmp [[yarn_clusters]] [[[default]]] resourcemanager_host=192.168.37.1 resourcemanager_api_url=http://192.168.37.1:8088/ proxy_api_url=http://192.168.37.1:8088/ resourcemanager_port=8032 logical_name=yarnRM history_server_api_url=http://192.168.37.1:19888/ security_enabled=false submit_to=true hadoop_mapred_home=/opt/cloudera/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114/lib/hadoop-mapreduce hadoop_bin=/opt/cloudera/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114/lib/hadoop/bin/hadoop [[[ha]]] resourcemanager_host=192.168.37.20 resourcemanager_api_url=http://192.168.37.20:8088/ proxy_api_url=http://192.168.37.20:8088/ resourcemanager_port=8032 logical_name=yarnRM history_server_api_url=http://192.168.37.1:19888/ security_enabled=false submit_to=true hadoop_mapred_home=/opt/cloudera/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114/lib/hadoop-mapreduce hadoop_bin=/opt/cloudera/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114/lib/hadoop/bin/hadoop [beeswax] hive_server_host=192.168.37.242 hive_server_port=10009 server_conn_timeout=120 download_row_limit=10000 auth_username=hive auth_password=ZT0kMfPMbzRaHBx use_sasl=true thrift_version=7 hive_metastore_host=192.168.37.162 hive_metastore_port=9083 [[ssl]] [metastore] [impala] server_host=192.168.37.242 server_port=21052 impersonation_enabled=True server_conn_timeout=120 auth_username=hive auth_password=ZT0kMfPMbzRaHBx [[ssl]] [spark] livy_server_url=http://192.168.37.160:8998 [oozie] [filebrowser] [pig] [sqoop] [proxy] [hbase] [search] [libsolr] [indexer] [jobsub] [jobbrowser] [[query_store]] [security] [zookeeper] [[clusters]] [[[default]]] [useradmin] [[password_policy]] [liboozie] [aws] [[aws_accounts]] [azure] [[azure_accounts]] [[[default]]] [[adls_clusters]] [[[default]]] [[abfs_clusters]] [[[default]]] [libsentry] hostname=192.168.37.1 port=8038 [libzookeeper] [librdbms] [[databases]] [libsaml] [liboauth] [kafka] [[kafka]] [metadata] [[manager]] [[optimizer]] [[catalog]] [[navigator]] [[prometheus]]
sudo -u hue /data/hue-4.10/hue/build/env/bin/hue syncdb
sudo -u hue /data/hue-4.10/hue/build/env/bin/hue migrate
sudo -u hue nohup /data/hue-4.10/hue/build/env/bin/hue runserver 0.0.0.0:8888 &
首次登陆会将输入的用户名和密码作为超级管理员,如果忘记密码,可以重新使用上面命令初始化。
# 输入数据
data = ["hello", "world", "hello", "world"]
# 将collection的data转为spark中的rdd并进行操作
rdd = sc.parallelize(data)
res_rdd = rdd.map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b)
# 将rdd转为collection并打印
res_rdd_coll = res_rdd.collect()
for line in res_rdd_coll:
print(line)
# 结束
sc.stop()
chmod +x /data/hue-4.10/hue/hue_service.sh
#!/bin/bash if [ $# -ne 2 ]; then echo "please input two params,first is (hue),second is (start|stop)" exit 0 fi if [ "$1" == "hue" ]; then if [ "$2" == "start" ]; then cd /data/hue-4.10/hue/logs echo "now is start hue" nohup /data/hue-4.10/hue/build/env/bin/hue runserver 0.0.0.0:8887 > /data/hue-4.10/hue/logs/info.log 2>&1 & exit 0 elif [ "$2" == "stop" ]; then hue_pid=$(netstat -nltp|grep 8887|awk '{print $NF}'|awk -F"/" '{print $1}') kill ${hue_pid} echo "hue has stop" exit 0 else echo "second param please input 'start' or 'stop'" exit 0 fi else echo "first param please input 'hue'" fi
# /usr/lib/systemd/system/hue.service [Unit] Description=hue Wants=network-online.target After=network-online.target [Service] Type=forking User=hue Group=hue ExecStart=/data/hue-4.10/hue/hue_service.sh hue start ExecStop=/data/hue-4.10/hue/hue_service.sh hue stop Restart=no [Install] WantedBy=multi-user.target
systemctl daemon-reload
systemctl start hue.service
systemctl status hue.service
vim /data/hue-4.10/hue/desktop/libs/notebook/src/notebook/connectors/spark_shell.py
vim /data/hue-4.10/hue/apps/beeswax/gen-py/TCLIService/ttypes.py
-- 在1884行增加一行代码,注意格式
vim /data/hue-4.10/hue/desktop/core/src/desktop/js/apps/notebook/snippet.js
notebook.sessions()[0].type(self.type());
vim /data/hue-4.10/hue/desktop/libs/notebook/src/notebook/connectors/spark_shell.py
相关参考借鉴:
hue 编译安装
HUE4.10编译打包
HUE编译
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。