Hue
둘러보기로 가기
검색하러 가기
Apache Hadoop 관리 도구인 Hue를 정리 합니다.
-
- Install Guide : http://cloudera.github.io/hue/docs-2.3.0/manual.html
- 다운로드 : https://github.com/cloudera/hue/downloads/
- 라이선스 : Apache 2.0
- 플랫폼 : Python
목차
Hue 개요
- Hue에서 제공하는 Hadoop 관리 기능
CentOS에서 hue 설치
사전 준비 사항
- Ant 1.7.1
- Maven 3.0.5
- MySQL 5.1.69
- Sqlite 3.6.20
- Python 2.6.6
- OpenLdap 2.4.23
- Gcc 4.4.7
- Cyrus-sasl 2.1.23
yum install ant yum install mysql mysql-devel yum install sqlite sqlite-devel yum install python python-devel python-setuptools python-simplejson python-ldap* yum install openldap openldap-* yum install gcc gcc-* yum install libxml2 libxml2-devel libxslt libxslt-devel yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi
설치
- CentOS에 hue 사용자를 추가 합니다.
//--- groupadd -g [그룹ID] 그룹이름 //--- useradd -u [유저ID] -g [그룹ID or 그룹명] -s [사용되는 SHELL] -d [유저 Home 디렉토리] 계정이름 groupadd hue useradd -g hue -s /bin/bash -d /home/hue hue
- Hue를 다운로드하여 압축을 풉니다.
wget https://github.com/downloads/cloudera/hue/hue-2.1.0.tgz tar xvf hue-2.1.0.tgz chown -R root:root hue-2.1.0 vi hue-2.1.0/maven/pom.xml <!-- <parent> <groupId>com.cloudera</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> </parent> -->
- Hue를 설치 합니다.
cd hue-2.1.0 //--- make clean //--- rm -rf /appl/hue export PREFIX=/appl make install chmod 4750 /appl/hue/apps/shell/src/shell/build/setuid
- vi ~/.bashrc
export HUE_HOME=/appl/hue export PATH=$PATH:$HUE_HOME/build/env/bin ### alias supervisor="cd $HUE_HOME/build/env/bin && ./supervisor"
- 방화벽에서 8888 port를 열어 주세요.
Hadoop 환경 설정
- Hadoop WebHdfs 설정
- vi /appl/hadoop/conf/hdfs-site.xml
<property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property>
- vi /appl/hadoop/conf/core-site.xml
- hue은 linux user 아이디
<property> <name>hadoop.proxyuser.hue.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hue.groups</name> <value>*</value> </property>
- vi /appl/hadoop/conf/httpfs-site.xml (파일이 없음, 추가 확인 필요)
- Hadoop Cluster 외부에 Hue Server가 있을 경우
- hue은 linux user 아이디
<property> <name>hadoop.proxyuser.hue.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hue.groups</name> <value>*</value> </property>
- Hadoop 로그 설정
- vi /appl/hadoop/conf/core-site.xml
<property> <name>hadoop.tmp.dir</name> <value>/tmp/hadoop/hadoop-${user.name}</value> </property>
- 로그 파일을 hue 사용자로 쓸 수 있도록 권한을 수정 합니다.
chmod -R 777 /tmp/hadoop
- MapReduce 1.0 설정
- Hue가 JobTracker와 동일한 서버에 있을 경우
//--- hue-plugins-2.1.0-SNAPSHOT.jar 파일 복사 cp /appl/hue/desktop/libs/hadoop/java-lib/hue-plugins-*.jar /appl/hadoop/lib
- Hue가 JobTracker와 다른 서버에 있을 경우
//--- hue-plugins-2.1.0-SNAPSHOT.jar 파일 복사
- vi /appl/hadoop/conf/mapred-site.xml
<property> <name>jobtracker.thrift.address</name> <value>0.0.0.0:9290</value> </property> <property> <name>mapred.jobtracker.plugins</name> <value>org.apache.hadoop.thriftfs.ThriftJobTrackerPlugin</value> <description>Comma-separated list of jobtracker plug-ins to be activated.</description> </property> //--- Plugin 동작 확인 //--- tail --lines=500 /var/log/hadoop-0.20/hadoop*jobtracker*.log | grep ThriftPlugin
- MapReduce 2.0 설정
Oozie 환경 설정
- vi /appl/oozie/conf/oozie-site.xml
<property> <name>oozie.service.ProxyUserService.proxyuser.hue.hosts</name> <value>*</value> </property> <property> <name>oozie.service.ProxyUserService.proxyuser.hue.groups</name> <value>*</value> </property>
Hive 환경 설정
- vi /appl/hue/desktop/conf/hue.ini
//--- hive-site.xml 파일이 있는 폴더를 지정 합니다. hive_home_dir=/appl/hive hive_conf_dir=/appl/hive/conf
Hue 환경 설정
- vi /appl/hue/desktop/conf/hue.ini
http_host=0.0.0.0 http_port=8888 //--- 30에서 60자의 임의의 보안 키를 설정 합니다. secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o //--- MySQL 연동 //--- [ [database]] 안에 다음을 추가 합니다. engine=mysql host=localhost port=3306 user=hue password=비밀번호 name=hue //--- hadoop.hdfs_clusters.default.~ ([[[hdfs_clusters]]] -> [[[default]]]) 을 수정 합니다. hadoop_bin=/appl/hadoop/bin/hadoop hadoop_hdfs_home=/appl/hadoop hadoop_conf_dir=/appl/hadoop/conf //--- hadoop.mapred_clusters.default.~ ([[[mapred_clusters]]] -> [[[default]]]) 을 수정 합니다. hadoop_bin=/appl/hadoop/bin/hadoop hadoop_mapred_home=/appl/hadoop hadoop_conf_dir=/appl/hadoop/conf thrift_port=9090 command = "/appl/flume/bin/flume-ng shell" command = "/appl/pig/bin/pig -l /dev/null" command = "/appl/hbase/bin/hbase shell"
- MySQL에서 hue라는 데이터베이스를 생성 합니다.
createDatabase hue hue hue demo1234 demo1234
- Hue에서 사용할 테이블 생성
/appl/hue/build/env/bin/hue syncdb --noinput
- Hue 서비스 실행
cd /appl/hue/build/env/bin ./supervisor
-
- 처음 로그인하는 사용자가 Administrator 사용자가 됩니다.
- Hue 서비스 실행시 오류가 발생할 경우
- hive-default.xml 파일이 없을 경우 생성 합니다.
cd /appl/hive/conf cp hive-default.xml.template hive-default.xml
- Hadoop 로그 폴더에 쓰기 권한이 없어 오류가 발생할 경우
chmod -R 777 /tmp/hadoop
- Hue 로그 폴더
- /appl/hue/logs/
hue 매뉴얼
- Hue 명령어
hue --version hue dbshell //--- Database Shell로 접속