Mahout-환경
이 장에서는 조련사를 설정하는 방법을 설명합니다. Java 및 Hadoop은 mahout의 전제 조건입니다. 다음은 Java, Hadoop 및 Mahout을 다운로드하고 설치하는 단계입니다.
설치 전 설정
Linux 환경에 Hadoop을 설치하기 전에 다음을 사용하여 Linux를 설정해야합니다. ssh(보안 쉘). Linux 환경을 설정하려면 아래에 언급 된 단계를 따르십시오.
사용자 생성
Hadoop에 대해 별도의 사용자를 생성하여 Hadoop 파일 시스템을 Unix 파일 시스템에서 분리하는 것이 좋습니다. 사용자를 생성하려면 아래 단계를 따르십시오.
"su"명령을 사용하여 루트를 엽니 다.
- 명령을 사용하여 루트 계정에서 사용자 만들기 “useradd username”.
이제 다음 명령을 사용하여 기존 사용자 계정을 열 수 있습니다. “su username”.
Linux 터미널을 열고 다음 명령을 입력하여 사용자를 만듭니다.
$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd
SSH 설정 및 키 생성
클러스터에서 시작, 중지 및 분산 데몬 셸 작업과 같은 다른 작업을 수행하려면 SSH 설정이 필요합니다. 다른 Hadoop 사용자를 인증하려면 Hadoop 사용자에 대해 공개 / 개인 키 쌍을 제공하고이를 다른 사용자와 공유해야합니다.
다음 명령은 SSH를 사용하여 키 값 쌍을 생성하고, id_rsa.pub 형식의 공개 키를 authorized_keys에 복사하고, 각각 authorized_keys 파일에 소유자, 읽기 및 쓰기 권한을 제공하는 데 사용됩니다.
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
SSH 확인
ssh localhost
자바 설치
Java는 Hadoop 및 HBase의 주요 전제 조건입니다. 먼저 "java -version"을 사용하여 시스템에 Java가 있는지 확인해야합니다. Java 버전 명령 구문은 다음과 같습니다.
$ java -version
다음 출력을 생성해야합니다.
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
시스템에 Java가 설치되어 있지 않은 경우 아래 단계에 따라 Java를 설치하십시오.
Step 1
다음 링크를 방문하여 Java (JDK <최신 버전>-X64.tar.gz)를 다운로드하십시오. Oracle
그때 jdk-7u71-linux-x64.tar.gz is downloaded 시스템에.
Step 2
일반적으로 다운로드 폴더에서 다운로드 한 Java 파일을 찾을 수 있습니다. 그것을 확인하고 추출jdk-7u71-linux-x64.gz 다음 명령을 사용하여 파일.
$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz
Step 3
모든 사용자가 Java를 사용할 수 있도록하려면 "/ usr / local /"위치로 Java를 이동해야합니다. 루트를 열고 다음 명령을 입력하십시오.
$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit
Step 4
설정 용 PATH 과 JAVA_HOME 변수에 다음 명령을 추가하십시오. ~/.bashrc file.
export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH= $PATH:$JAVA_HOME/bin
이제 java -version 위에서 설명한대로 터미널에서 명령.
Hadoop 다운로드
Java를 설치 한 후 처음에 Hadoop을 설치해야합니다. 아래와 같이“Hadoop version”명령을 사용하여 Hadoop이 있는지 확인합니다.
hadoop version
다음 출력을 생성해야합니다.
Hadoop 2.6.0
Compiled by jenkins on 2014-11-13T21:10Z
Compiled with protoc 2.5.0
From source with checksum 18e43357c8f927c0695f1e9522859d6a
This command was run using /home/hadoop/hadoop/share/hadoop/common/hadoopcommon-2.6.0.jar
시스템에서 Hadoop을 찾을 수없는 경우 Hadoop을 다운로드하여 시스템에 설치하십시오. 그렇게하려면 아래에 주어진 명령을 따르십시오.
다음 명령을 사용하여 Apache Software Foundation에서 hadoop-2.6.0을 다운로드하고 추출합니다.
$ su
password:
# cd /usr/local
# wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-
2.6.0/hadoop-2.6.0-src.tar.gz
# tar xzf hadoop-2.6.0-src.tar.gz
# mv hadoop-2.6.0/* hadoop/
# exit
Hadoop 설치
필요한 모드에서 Hadoop을 설치합니다. 여기에서는 의사 분산 모드에서 HBase 기능을 시연하고 있으므로 의사 분산 모드에서 Hadoop을 설치합니다.
설치하려면 아래 단계를 따르십시오. Hadoop 2.4.1 시스템에서.
1 단계 : Hadoop 설정
다음 명령을 추가하여 Hadoop 환경 변수를 설정할 수 있습니다. ~/.bashrc 파일.
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
이제 모든 변경 사항을 현재 실행중인 시스템에 적용합니다.
$ source ~/.bashrc
2 단계 : Hadoop 구성
"$ HADOOP_HOME / etc / hadoop"위치에서 모든 Hadoop 구성 파일을 찾을 수 있습니다. Hadoop 인프라에 따라 이러한 구성 파일을 변경해야합니다.
$ cd $HADOOP_HOME/etc/hadoop
Java로 Hadoop 프로그램을 개발하려면 다음에서 Java 환경 변수를 재설정해야합니다. hadoop-env.sh 대체하여 파일 JAVA_HOME 시스템의 Java 위치와 함께 값.
export JAVA_HOME=/usr/local/jdk1.7.0_71
다음은 Hadoop을 구성하기 위해 편집해야하는 파일 목록입니다.
core-site.xml
그만큼 core-site.xml 파일에는 Hadoop 인스턴스에 사용되는 포트 번호, 파일 시스템에 할당 된 메모리, 데이터 저장을위한 메모리 제한 및 읽기 / 쓰기 버퍼 크기와 같은 정보가 포함됩니다.
core-site.xml을 열고 <configuration>, </ configuration> 태그 사이에 다음 속성을 추가합니다.
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xm
그만큼 hdfs-site.xml파일에는 복제 데이터 값, 이름 노드 경로 및 로컬 파일 시스템의 데이터 노드 경로와 같은 정보가 포함됩니다. Hadoop 인프라를 저장하려는 장소를 의미합니다.
다음 데이터를 가정 해 보겠습니다.
dfs.replication (data replication value) = 1
(In the below given path /hadoop/ is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs file system.)
namenode path = //home/hadoop/hadoopinfra/hdfs/namenode
(hadoopinfra/hdfs/datanode is the directory created by hdfs file system.)
datanode path = //home/hadoop/hadoopinfra/hdfs/datanode
이 파일을 열고이 파일의 <configuration>, </ configuration> 태그 사이에 다음 속성을 추가합니다.
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopinfra/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopinfra/hdfs/datanode</value>
</property>
</configuration>
Note:위 파일에서 모든 속성 값은 사용자가 정의합니다. Hadoop 인프라에 따라 변경할 수 있습니다.
mapred-site.xml
이 파일은 yarn을 Hadoop으로 구성하는 데 사용됩니다. mapred-site.xml 파일을 열고이 파일의 <configuration>, </ configuration> 태그 사이에 다음 속성을 추가합니다.
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
mapred-site.xml
이 파일은 우리가 사용하는 MapReduce 프레임 워크를 지정하는 데 사용됩니다. 기본적으로 Hadoop에는 mapred-site.xml 템플릿이 포함되어 있습니다. 먼저 파일을 복사해야합니다.mapred-site.xml.template ...에 mapred-site.xml 다음 명령을 사용하여 파일.
$ cp mapred-site.xml.template mapred-site.xml
열다 mapred-site.xml 파일을 열고이 파일의 <configuration>, </ configuration> 태그 사이에 다음 속성을 추가합니다.
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
Hadoop 설치 확인
다음 단계는 Hadoop 설치를 확인하는 데 사용됩니다.
1 단계 : 이름 노드 설정
다음과 같이 "hdfs namenode -format"명령을 사용하여 namenode를 설정합니다.
$ cd ~
$ hdfs namenode -format
예상 결과는 다음과 같습니다.
10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to retain
1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/
2 단계 : Hadoop dfs 확인
다음 명령은 dfs를 시작하는 데 사용됩니다. 이 명령은 Hadoop 파일 시스템을 시작합니다.
$ start-dfs.sh
예상되는 출력은 다음과 같습니다.
10/24/14 21:37:56
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-namenode-localhost.out
localhost: starting datanode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]
3 단계 : Yarn 스크립트 확인
다음 명령은 yarn 스크립트를 시작하는 데 사용됩니다. 이 명령을 실행하면 실 악마가 시작됩니다.
$ start-yarn.sh
예상되는 출력은 다음과 같습니다.
starting yarn daemons
starting resource manager, logging to /home/hadoop/hadoop-2.4.1/logs/yarn-
hadoop-resourcemanager-localhost.out
localhost: starting node manager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-nodemanager-localhost.out
4 단계 : 브라우저에서 Hadoop 액세스
hadoop에 액세스하기위한 기본 포트 번호는 50070입니다. 다음 URL을 사용하여 브라우저에서 Hadoop 서비스를 가져옵니다.
http://localhost:50070/
5 단계 : 클러스터의 모든 애플리케이션 확인
클러스터의 모든 응용 프로그램에 액세스하기위한 기본 포트 번호는 8088입니다.이 서비스를 방문하려면 다음 URL을 사용하십시오.
http://localhost:8088/
Mahout 다운로드
Mahout은 웹 사이트 Mahout 에서 사용할 수 있습니다 . 웹 사이트에 제공된 링크에서 Mahout을 다운로드하십시오. 다음은 웹 사이트의 스크린 샷입니다.
1 단계
링크에서 Apache mahout 다운로드 http://mirror.nexcess.net/apache/mahout/ 다음 명령을 사용하십시오.
[Hadoop@localhost ~]$ wget
http://mirror.nexcess.net/apache/mahout/0.9/mahout-distribution-0.9.tar.gz
그때 mahout-distribution-0.9.tar.gz 시스템에 다운로드됩니다.
2 단계
폴더를 검색합니다. mahout-distribution-0.9.tar.gz 아래와 같이 다운로드 한 jar 파일을 저장하고 추출합니다.
[Hadoop@localhost ~]$ tar zxvf mahout-distribution-0.9.tar.gz
Maven 저장소
다음은 Eclipse를 사용하여 Apache Mahout을 빌드하는 pom.xml입니다.
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<version>0.9</version>
</dependency>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-math</artifactId>
<version>${mahout.version}</version>
</dependency>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-integration</artifactId>
<version>${mahout.version}</version>
</dependency>