반응형

현재 mongod 버전이 os centos7 의 mongodb-rhel70-4.2.15 이다. openssl 1.0.1

신규서버에 mongos를 추가적으로 설치를 진행하였다. 이 과정에서 os 호환되는 문제로 발생된 히스토리를 적어보고자 한다.

 

(1) ole9 , mongodb-rhel70-4.2.15 

openssl이 3점대버전으로 에러가 발생 되었고, 이것을 맞춰주고자 openssl 1.0.1을 설치하였다. 설치하는 방법은 추후에 작성하도록 하겠다.

이후 실행은 되었으나, 실행할때 "/lib64/libcrypto.so.10: no version information available" 문구를 계속 보여주고 있다.

디비에 접속하여 select 하는 것에 대해서는 문제가 되지 않았다.

 

(2) ole9 , mongodb-rhel90-6.0.9

openssl은 기존 버전대로 1.0.1을 계속 사용한다.

"code dumped"라는 에러 메세지를 보여주면서 실행이 되지 않는다.

 

(3) ole8, mongodb-rhel80-4.4.24

“remote host has incompatible wire version: Server min and max wire version...." 처럼 mongod와 호환성이 맞지 않는다는 에러를 보여주고 있다.

 

(4) ole8, mongodb-rhel80-4.2.24

정상적으로 설치가 되었다.

 

 - 참고로 mongodb-4.4 이후 버전부터 ./bin 파일을 보면 mongodump라던지 누락된 파일들이 많이 있다.

이것은 database tool 및 mongo shell 다운받아서 설치를 해줘야한다.

 

아래 다운로드 경로 및 documentation 를 참고하자

https://mongodb.com/try/download/shell

https://mongodb.com/try/download/database-tools

https://mongodb.com/docs/database-tools/

반응형

'BigData > mongoDB' 카테고리의 다른 글

mongos 정상종료  (0) 2023.08.30
반응형

$ ps -ef | grep mongo

root    50273          1    0    Aug29 ?     00:02:00     /mongo/bin/mongos -f /mongo/conf/mongos_44001.conf

 

프로세스를 kill시키지 않고 정상적으로 종료하는 방법

/mongo/bin/mongo localhost:32001/admin -quiet -u 'root' -p

mongos> use admin -> 이미 admin으로 접속했으나 만약 그렇지 않았을 경우 admin으로 접속후 실행하자.

mongos> db.shutdownServer();

> exit;

$ ps -ef | grep mongo : 프로세스가 없는 것을 볼 수있다.

 

반응형

'BigData > mongoDB' 카테고리의 다른 글

mongos 설치 호환성에 대한 요약  (0) 2023.09.07
반응형

1. 리눅스 설치(CentOS)

$ docker search centos

$ docker pull centos

$ docker run -it --name hadoop centos /bin/bash

 

2. wget, vim 설치

[hadoop] yum install wget -y && yum install vim -y

 

아래와 동일한 에러가 발생할 경우 클릭

Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

 

3. Java 설치

$ yum install java-1.8.0-openjdk-devel.x86_64 -y

$ java -version

openjdk version "1.8.0_312"

OpenJDK Runtime Environment (build 1.8.0_312-b07)

OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

 

4. java 환경변수 설정

$ which java

/usr/bin/java

$ readlink -f $(which java)

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java

$ vi ~/.bashrc

# java
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_OPTS="-Dfile.encoding=UTF8"
export CLASSPATH="."

5. Hadoop 설치 (독립 실행 모드)

1) 폴더 만들기

$ mkdir /hadoop_home
$ cd /hadoop_home

 

2) 다운로드
$ wget https://mirrors.sonic.net/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz

 

3) 압축 풀기

$ tar xvzf hadoop-3.3.1.tar.gz

 

4) 환경변수 설정

$ vi ~/.bashrc

# hadoop
export HADOOP_HOME=/hadoop_home/hadoop-3.3.1
export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

5) 설치 확인

$ hadoop version

Hadoop 3.3.1
Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2
Compiled by ubuntu on 2021-06-15T05:13Z
Compiled with protoc 3.7.1
From source with checksum 88a4ddb2299aca054416d6b7f81ca55
This command was run using /hadoop_home/hadoop-3.3.1/share/hadoop/common/hadoop-common-3.3.1.jar

6. Mapreduce 사용

$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount $HADOOP_HOME/LICENSE.txt wordcount_output

-> hadoop-mapreduce-examples-3.3.1.jar 파일에 wordcount를 이용하여, LICENSE.txt 의 파일내용의 단어를 count하여 결과값을 wordcount_output 폴더에 넣어 줄 것이다.

 

$ ls -ltr

drwxr-xr-x  2 root root      4096 Jun 21 12:48 wordcount_output

$ cd wordcount_output

$ ls -ltr

-rw-r--r-- 1 root root 9894 Jun 21 12:46 part-r-00000

-rw-r--r-- 1 root root    0 Jun 21 12:46 _SUCCESS

-> 결과 값은 part-r-00000에 존재한다.

 

7. 더 자세한 내용은 여기에서 확인

https://mungiyo.tistory.com/16

반응형

'BigData > Hadoop' 카테고리의 다른 글

hadoop 설치 & single node  (0) 2021.07.22
반응형

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

+ Recent posts