2021. 7. 22. 15:55ㆍBigData/Hadoop
0. 환경
- vmware fusion 12 (개인계정은 무료)
- root 계정에서 작업함.
1. java 설치
- 호환성 관계로 Java 8 설치
- https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
- 압축을 푼 후 폴더명 변경(jdk-8u301-linux -> jdk1.8)
- /usr/local 로 통채로 폴더 이동
- jdk1.8 안에 바로 bin폴더가 있어야 함. 혹시 폴더를 한번 더 감싸고 있다면 전체 폴더및파일을 앞으로 가져오라
2. vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8 export PATH=$PATH:$JAVA_HOME/bin export JAVA_OPTS=“-Dfile.encoding=UTF-8” export CLASSPATH=“.” |
$source /etc/profile
$java -version
3. hadoop 3.3.1 설치
- https://hadoop.apache.org/releases.html
- 압축을 푼 후 /home/사용자계정 으로 붙여넣기함.
4. vi /etc/profile
export HADOOP_HOME=/home/사용자계정/hadoop-3.3.1 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root -> SECONDARAYNAMENODE로 입력해서 계속 에러가 났었음 export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root |
$source /etc/profile
$hadoop version
5. 단어세기 프로그램 실행
$hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount $HADOOP_HOME/etc/hadoop/hadoop-env.sh wordcount_output
$vi ./wordcount_output/part-r-00000
# Single Node Cluster
1. ssh 설치
$ yum install openssh
$ /usr/sbin/sshd
$ ssh-keygen -t rsa -P “”
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost
……systemctl enable —now cockpit.socket Last login: Mon Aug 31 16:50:09 2021 |
위 처럼 나오면 접속 성공
$ exit 빠져 나오기
2. hadoop 환경설정
$ vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
# variable is REQUIRED on ALL platforms except OS X! export JAVA_HOME=/usr/local/jdk1.8 |
$ vi $HADOOP_HOME/etc/hadoop/core-site.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> |
$ vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> |
3. 하둡 실행
$ hdfs namenode -format
$ start-all.sh
$ jps -> 프로세스 확인 명령어
* 데이터 노드가 표기가 되지 않았다면 다시 실행한다.
$ rm -rf /tmp/hadoop-root/dfs/data/ $ stop-all.sh $ start-all.sh $ jps |
4. hadoop 폴더 생성
$ hdfs dfs -mkdir /user
$ hdfs dfs -mkdir /user/root
$ hdfs dfs -mkdir /user/root/conf
$ hdfs dfs -mkdir /input ->분석할 파일넣는 곳
$ hdfs dfs -copyFromLocal /home/사용자계정/hadoop-3.3.1/README.txt /input -> README.txt 파일을 분석하기위해 input폴더에 넣음.
$ hdfs dfs -ls /input
5. wordcount 실행
$ hdfs jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input/README.txt ~/wordcount-output
$ hdfs dfs -ls ~/wordcount-output
$ hdfs dfs -cat ~/wordcount-output
'BigData > Hadoop' 카테고리의 다른 글
[Docker] CentOS에 Hadoop 설치하기 (0) | 2022.06.20 |
---|