Implementación de clúster de Hadoop3

Preparación ambiental:

Prepare 3 máquinas virtuales (CentOS 7), una maestra y dos esclavas. El maestro funciona como NameNode, DataNode, ResourceManager y NodeManager, y el esclavo funciona como DataNode y NodeManager.

maestro: 10.0.83.71
esclavo1: 10.0.83.72
esclavo2: 10.0.83.73

Ejecutar en cada máquina:

Apague el firewall:

systemctl detener firewalld.service

systemctl deshabilitar firewalld.service

Modificar el nombre de host correspondiente a cada ip y modificar el archivo de hosts
vi / etc / hosts
10.0.83.71 nodo1
10.0.83.72
nodo2 10.0.83.73 nodo3

Configure 3 máquinas virtuales para iniciar sesión sin secreto

Ejecutar respectivamente en 71, 72, 73: ssh-keygen -t rsa

Realice una copia a las otras 2 direcciones de máquina en cada máquina:
ssh-copy-id 10.0.83.71
ssh-copy-id 10.0.83.72
ssh-copy-id 10.0.83.73

Cree almacenamiento de datos y otros directorios necesarios

mkdir -p / data / hdfs / nombre
mkdir -p / data / hdfs / data
mkdir -p / data / hdfs / tmp
mkdir -p / opt /

hora sincronizada:

yum -y install ntp
systemctl enable ntpd
systemctl start ntpd
timedatectl set-timezone Asia / Shanghai
timedatectl set-ntp yes

Ejecutar en el maestro:

cd / opt /
wget https://apache.mirrors.nublue.co.uk/hadoop/common/hadoop-3.1.4/hadoop-3.1.4.tar.gz
tar zxvf hadoop-3.1.4.tar.gz
mv hadoop-3.1.4 hadoop

scp -r hadoop root @ node2: / opt /
scp -r hadoop root @ node3: / opt /

Cree un grupo de usuarios separado hadoop para los componentes de hadoop, cree usuarios hdfs, yarn, mapred

groupadd hadoop
useradd hdfs -g hadoop
useradd yarn -g hadoop
useradd mapred -g hadoop

Crea directorios relacionados

Directorio de almacenamiento de datos
NameNode Directorio de almacenamiento de datos: / data / hadoop / namenode
DataNode Directorio de almacenamiento de datos: / data / hadoop / datanode
Directorio de almacenamiento de datos temporal: / data / hadoop / tmp
HADOOP_MAPRED_HOME:
mkdir -p / data / hadoop / namenode
mkdir -p / data / hadoop / datanode
mkdir -p / data / hadoop / tmp

chown -R hdfs: hadoop / opt / hadoop
chown -R hdfs: hadoop / data / hadoop

Cree un nuevo directorio de registro
mkdir / var / log / hadoop
chown hdfs: hadoop / var / log / hadoop
chmod -R 770 / var / log / hadoop

新建 pid 目录
mkdir / var / run / hadoop
chown hdfs: hadoop / var / run / hadoop
chmod -R 770 / var / run / hadoop

fuente / etc / profile

3. Prueba de funcionamiento del clúster

3.1 Iniciar el clúster

Formato namenode
su hdfs -c'hdfs namenode -format '

2. Iniciar namenode

su hdfs -c 'hdfs --daemon start namenode'

Inicie cada nodo de datanode por separado
su hdfs -c'hdfs --daemon start datanode '

启动 resourcemanager
su yarn -c 'yarn --daemon start resourcemanager'

Inicie cada nodo nodemanager por separado
su yarn -c'yarn --daemon start nodemanager '

启动 historyserver
su mapred -c 'mr-jobhistory-daemon.sh iniciar historyserver'

3.2 Acceso a WebUI

Interfaz de usuario de HDFS http://10.0.83.71:50070/
Implementación de clúster de Hadoop3

Interfaz de usuario de YARN http://10.0.83.71:8088/

Implementación de clúster de Hadoop3

3.3 Detener el clúster

1. Detener namenode
su hdfs -c'hdfs --daemon detener namenode '

Detenga el nodo datanode
su hdfs -c'hdfs --daemon stop datanode '

停止 resourcemanager
su yarn -c 'yarn --daemon detener resourcemanager'

Detenga el nodo nodemanager
su yarn -c'yarn --daemon stop nodemanager '

停止 historyserver
su mapred -c 'mr-jobhistory-daemon.sh detener historyserver'

3.4 Otras instrucciones de funcionamiento

Ver el directorio hdfs
su hdfs -c'hdfs dfs -ls / '

Cree un nuevo directorio hdfs
su hdfs -c'hdfs dfs -mkdir PATH '

Modifique el propietario del archivo
su hdfs -c'hdfs dfs -chown OWNER: GROUP PATH '

Modificar los permisos de archivo
su hdfs -c'hdfs dfs -chmod 644 PATH '

webhdfs 操作
curl -i " http: // <HOST>: <PUERTO> / webhdfs / v1 / <PATH>? op = LISTSTATUS "

curl -i -X ​​DELETE " http: // <host>: <port> / webhdfs / v1 / <path>? op = DELETE
[& recursive = <true | false>]"

curl -i -X ​​PUT " http: // <HOST>: <PUERTO> / webhdfs / v1 / <PATH>? op = CREATE
[& oversrite = <true | false>] [& blocksize = <LONG>] [& replication = < CORTO>]
[& permiso = <OCTAL>] [& tamaño de búfer = <INT>] [& noredirect = <verdadero | falso>] "

curl -i -X ​​PUT " http: // <HOST>: <PUERTO> / webhdfs / v1 / <PATH>? op = SETOWNER
[& owner = <USER>] [& group = <GROUP>]"

curl -i -X ​​PUT " http: // <HOST>: <PUERTO> / webhdfs / v1 / <PATH>? op = SETPERMISSION
[& permiso = <OCTAL>]"

Supongo que te gusta

Origin blog.51cto.com/mapengfei/2546950
Recomendado
Clasificación