/etc/hosts
각 서버에 호스트 등록
※ 하둡 환경 구축
- 하둡 설치
- 하둡 계정 생성 -> hadoop/hadoop (each server)
- 하둡 계정 SSH Key 배포
- 하둡 데이터 폴더 생성 -> (each server)
- 환경 변수 등록 -> (each server)
~/.bash_profile
- 하둡 설정
$HADOOP_HOME/etc/hadoop/hadoop_env.sh
$HADOOP_HOME/etc/hadoop/core-site.xml
$HADOOP_HOME/etc/hadoop/hdfs-site.xml -> namenode
$HADOOP_HOME/etc/hadoop/hdfs-site.xml -> datanodes
$HADOOP_HOME/etc/hadoop/mapred-site.xml
$HADOOP_HOME/etc/hadoop/yarn-site.xml
$HADOOP_HOME/etc/hadoop/slaves
- 하둡 설치 파일 및 설정 파일 배포
- 하둡 실행 --> namenode
- 하둡 실행 확인
- 하둡 Web 관리 Console
NameNode Infomation --> http://192.168.0.101:50070/
Nodes of the cluster --> http://192.168.0.101:8088/
- hdfs 확인 : namenode or datanode file add check, cluster namenode에서 조회 확인
- MapReduce 확인
※ R 환경 구축
- Extra Packages for Enterprise Linux (EPEL)
- R Base 설치
- RStudio Server 설치
- RStudio Server 설치 확인
- RStudio Web 관리 Console
http://192.168.0.101:8787/
Developer user : os 계정
※ Zookeeper 환경 구축
- Zookeeper 설치
- Zookeeper 데이터 폴더 생성 -> (each server)
- 환경 변수 등록 -> (each server)
~/.bash_profile
- Zookeeper 설정
$ZOOKEEPER_HOME/conf/zoo.cfg <- dataDir & servers 등록
- Zookeeper 설치 파일 및 설정 파일 배포
- Zookeeper myid 파일 생성 --> 서버 자신의 고유 ID (each server)
/data/zookeeper/myid
- Zookeeper 실행 -> (each server)
- Zookeeper 실행 확인
※ HBase 환경 구축
- HBase 설치
- 환경 변수 등록 -> (each server)
- HBase 설정
$HBASE_HOME/conf/hbase-env.sh
$HBASE_HOME/conf/regionservers -> only datanodes
$HBASE_HOME/conf/hbase-site.xml
- HBase 설치 파일 및 설정 파일 배포
- HBase 실행 -> namenode
- 하둡 실행 확인
- Hbase Web 관리 Console
HBase Master: namenode --> http://192.168.0.101:60010/
※ R HBase 연동 환경 구축
- Apache Thrift 설치
Install the dependencies for Thrift.
Download Thrift archive
- 환경 변수 등록 (root user)
- Thrift 실행
- Thrift 확인
- rhbase package 설치 (R COMMAND INSTALL)
'Develop > SERVER SIDE' 카테고리의 다른 글
Spring JAXB를 활용한 Tree 구현 (0) | 2012.06.09 |
---|---|
Dbunit + MySql 사용 시 경고 메시지 해결 (0) | 2011.12.26 |
Spring quartz(Scheduler) 사용 (0) | 2011.12.09 |
Spring Bean을 Servlet Filter에서 사용 (1) | 2011.12.09 |
MSSQL 트랜잭션 로그 파일 초기화 (0) | 2011.12.08 |
Spring OXM모듈의 JAXB를 활용한 Tree 구현 예제.
1. spring-oxm 라이브러리 추가 (maven dependency 사용)
jar download url : http://mvnrepository.com/artifact/org.springframework/spring-oxm/3.0.5.RELEASE
2. Spring Bean 설정
XML 응답을 위한 MarshallingView 등록하고 XML 출력을 위한 바운드 객체를 property로 주입.
<bean id="xmlViewer" class="org.springframework.web.servlet.view.xml.MarshallingView">
<constructor-arg>
<bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.rurony.format.common.tree.TreeNode</value>
</list>
</property>
</bean>
</constructor-arg>
</bean>
3. XML 출력을 위한 바운드 객체
XML 출력을 위해 JAXB annotation을 설정하고 Tree 구현을 위해 객체 내에 하위 객체를 포함하도록 구현.
@XmlRootElement(name="Tree")
@XmlAccessorType(XmlAccessType.FIELD)
public class TreeNode {
@XmlAttribute
private String option;
@XmlAttribute
private String status;
@XmlAttribute
private String name;
@XmlAttribute
private int depth;
@XmlAttribute
private int seq;
@XmlAttribute
private String type;
@XmlAttribute
private String parentId;
@XmlAttribute
private String id;
@XmlElement(name="Node")
protected List<TreeNode> nodes = new ArrayList<TreeNode>();
public TreeNode() {
}
public TreeNode(String id, String parentId, String type, int seq, String name, String status, String option) {
this.id = id;
this.parentId = parentId;
this.type = type;
this.seq = seq;
this.depth = 0;
this.name = name;
this.status = status;
this.option = option;
}
public void add(TreeNode node) {
if (id.equals(node.parentId)) {
node.depth = depth + 1;
nodes.add(node);
return;
}
Iterator<TreeNode> iter = nodes.iterator();
while (iter.hasNext()) {
iter.next().add(node);
}
}
[... Setter/Getter ...]
public List<TreeNode> getNodes() {
return nodes;
}
public void setNodes(List<TreeNode> nodes) {
this.nodes = nodes;
}
}
4. MakeTreeNode Class
XML 바운드 객체을 사용하여 Tree XML을 구현하는 객체.
public class MakeTreeNode {
TreeNode treeNode;
public MakeTreeNode(String id, String parentId, String type, int seq, String name, String status, String option) {
treeNode = new TreeNode(id, parentId, type, seq, name, status, option);
}
public MakeTreeNode() {
treeNode = new TreeNode("0", "-1", "1", 1, "ROOT", "1", "");
}
public void add(TreeNode node) {
treeNode.add(node);
}
public void addAll(List<TreeNode> nodes) {
Iterator<TreeNode> iter = nodes.iterator();
while (iter.hasNext()) {
add(iter.next());
}
}
public TreeNode getTreeXmlNode() {
return treeNode;
}
}
5. Test Tree Util
Domo Tree 추가
public static TreeNode getTestTreeXml() {
List<TreeNode> treeList = new ArrayList<TreeNode>();
treeList.add(new TreeNode("1", "0", "type", 1, "Node 1", "status", "option"));
treeList.add(new TreeNode("2", "1", "type", 1, "Node 1-1", "status", "option"));
treeList.add(new TreeNode("3", "1", "type", 2, "Node 1-2", "status", "option"));
treeList.add(new TreeNode("4", "0", "type", 2, "Node 2", "status", "option"));
treeList.add(new TreeNode("5", "4", "type", 1, "Node 2-1", "status", "option"));
treeList.add(new TreeNode("6", "4", "type", 2, "Node 2-2", "status", "option"));
treeList.add(new TreeNode("7", "5", "type", 1, "Node 2-1-1", "status", "option"));
treeList.add(new TreeNode("8", "5", "type", 2, "Node 2-1-2", "status", "option"));
treeList.add(new TreeNode("9", "0", "type", 3, "Node 3", "status", "option"));
treeList.add(new TreeNode("10", "9", "type", 1, "Node 3-1", "status", "option"));
MakeTreeNode tree = new MakeTreeNode("0", "-1", "1", 1, "Tree Root", "status", "option");
tree.addAll(treeList);
return tree.getTreeXmlNode();
}
6. Controller
@ResponseBody annotation을 사용하여 Url Mapping.
@RequestMapping("/testTreeXML")
public @ResponseBody TreeNode treeXML() {
return MakeTreeUtil.getTestTreeXml();
}
7. Domo Page
'Develop > SERVER SIDE' 카테고리의 다른 글
하둡 클러스터 환경 및 R 분석 서버 구축 (0) | 2015.12.08 |
---|---|
Dbunit + MySql 사용 시 경고 메시지 해결 (0) | 2011.12.26 |
Spring quartz(Scheduler) 사용 (0) | 2011.12.09 |
Spring Bean을 Servlet Filter에서 사용 (1) | 2011.12.09 |
MSSQL 트랜잭션 로그 파일 초기화 (0) | 2011.12.08 |
WARN : org.dbunit.dataset.AbstractTableMetaData - Potential problem found: The configured data type factory 'class org.dbunit.dataset.datatype.DefaultDataTypeFactory' might cause problems with the current database 'MySQL' (e.g. some datatypes may not be supported properly). In rare cases you might see this message because the list of supported database products is incomplete (list=[derby]). If so please request a java-class update via the forums.If you are using your own IDataTypeFactory extending DefaultDataTypeFactory, ensure that you override getValidDbProducts() to specify the supported database products.
2. MySqlConnection 사용 예제
MySqlConnection, OracleConnection, Db2Connection 등 해당 DBMS의 Connection 사용
private final static String driverClass = "com.mysql.jdbc.Driver";private final static String connectionUrl = "jdbc:mysql://localhost/testdb";private final static String username = "testdb";private final static String password = "testdb";private final static String schema = "testdb";//private IDatabaseTester databaseTester;
public static Connection getConnection() throws InstantiationException, IllegalAccessException, ClassNotFoundException {Connection conn = null;try {Class.forName(driverClass);conn = DriverManager.getConnection(connectionUrl, username, password);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}
@Beforepublic void setUp() throws Exception {//databaseTester = new JdbcDatabaseTester(driverClass, connectionUrl, username, password);//IDatabaseConnection connection = new DatabaseConnection(getConnection());IDatabaseConnection connection = new MySqlConnection(getConnection(), schema);try {IDataSet dataSet = new FlatXmlDataSetBuilder().build(new File("resetDB.xml"));//DatabaseOperation.CLEAN_INSERT.execute(databaseTester.getConnection(), dataSet);DatabaseOperation.CLEAN_INSERT.execute(connection, dataSet);} catch (Exception e) {// TODO: handle exception//databaseTester.getConnection().close();connection.close();}}
'Develop > SERVER SIDE' 카테고리의 다른 글
하둡 클러스터 환경 및 R 분석 서버 구축 (0) | 2015.12.08 |
---|---|
Spring JAXB를 활용한 Tree 구현 (0) | 2012.06.09 |
Spring quartz(Scheduler) 사용 (0) | 2011.12.09 |
Spring Bean을 Servlet Filter에서 사용 (1) | 2011.12.09 |
MSSQL 트랜잭션 로그 파일 초기화 (0) | 2011.12.08 |
Recent Comment