前提是安装ansible

配置源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install -y ansible

1. ssh首次链接出现yes/no提示

需要执行一遍ssh,破除 需要输入yes的问题

修改文件: /etc/ssh/ssh_config

在文件中添加如下信息:StrictHostKeyChecking no

2. 添加 hadoop用户

首先 test用户,对远程服务器可以进行控制

准备hosts文件

hosts

[hadoop_test_hosts]
0.0.0.0 ansible_ssh_user=test ansible_ssh_pass=000
0.0.0.0 ansible_ssh_user=test ansible_ssh_pass=000
0.0.0.0 ansible_ssh_user=test ansible_ssh_pass=000
0.0.0.0 ansible_ssh_user=test ansible_ssh_pass=000

[hadoop_hosts]
0.0.0.0 ansible_ssh_user=hadoop ansible_ssh_pass=000
0.0.0.0 ansible_ssh_user=hadoop ansible_ssh_pass=000
0.0.0.0 ansible_ssh_user=hadoop ansible_ssh_pass=000
0.0.0.0 ansible_ssh_user=hadoop ansible_ssh_pass=000

准备添加hadoop playbook

useradd.yml

---
- hosts: hadoop_test_hosts
  remote_user: test
  sudo: yes
  vars:
    user: hadoop
 
  tasks:
    - name: add user
      action: user name={{ user }}  home=/home/{{ user }}
  tags:
    - user

ansible-playbook -i hosts useradd.yml

准备修改hadoop密码

change_pass_hadoop.yml

---
- hosts: hadoop_test_hosts
  gather_facts: False
  remote_user: test
  sudo: yes
  tasks:  
    - name: change user
      user: name={{ item.name }} password={{ item.new_pass | password_hash('sha512') }} update_password=always
      with_items:
        - { name: 'hadoop',new_pass: '000' }

hadoop用户下 执行 ssh-keygen 生成 ip_rsa.pub文件(每台hadoop上都需要)

ansible-playbook -i hosts change_pass_hadoop.yml

准备 hadoop ssh无秘钥 playbook

rsync_key.yml

- hosts: hadoop_hosts
  remote_user: hadoop
  tasks:
  - name: copy ssh key
    authorized_key:
      user: hadoop
      key: "{{ lookup('file', '/home/hadoop/.ssh/id_rsa.pub') }}"

ansible-playbook -i hosts rsync_key.yml

重新记录 ansible操作hadoop用户的问题的更多相关文章

  1. 操作hadoop的经验积累

    操作hadoop的经验积累 Hadoop namenode –format 在执行格式化-format命令时,要避免namenode的namdespaceid与datanode的namespaceid ...

  2. oracle "记录被另一个用户锁定"

    出现的原因是有人对某一条数据进行了修改,oracle会通过这个事务记住这条数据,若修改的人没有进行提交或进行回滚记录,oracle是不允许对这条数据在此进行修改的,在这种情况下你要进行修改数据,则会被 ...

  3. 操作Hadoop集群

    操作Hadoop集群 所有必要的配置完成后,将文件分发到所有机器上的HADOOP_CONF_DIR目录.这应该是所有机器上相同的目录. 一般来说,建议HDFS和YARN作为单独的用户运行.在大多数安装 ...

  4. C#操作域用户ADHelper

    在C#中操作域用户,在项目中写的帮助类: using System; using System.Collections.Generic; using System.DirectoryServices; ...

  5. 使用ansible控制Hadoop服务的启动和停止

    一.环境: 服务器一台,已安装centos7.5系统,做ansible服务器: 客户机三台:hadoop-master(192.168.1.18).hadoop-slave1(192.168.1.19 ...

  6. Python API 操作Hadoop hdfs详解

    1:安装 由于是windows环境(linux其实也一样),只要有pip或者setup_install安装起来都是很方便的 >pip install hdfs 2:Client——创建集群连接 ...

  7. Linux 用户操作之用户管理 (用户增删改操作)

    目录 添加用户 删除用户 修改用户 切换用户 配置用户密码 查看配置文件 cat /etc/pwsswd 添加用户 可选项 -c comment 指定一段注释性描述. -d 目录 指定用户主目录,如果 ...

  8. Hadoop用户配置免密登陆

    Hadoop用户配置免密登陆, 参考其他免密配置方法自己总结的更简洁的步骤. 要实现A免密登陆B,需要把A生成的公钥放到B的对应目录下, 要实现ABC之间免密登陆,把3者的公钥汇总到一个文件中, 然后 ...

  9. 解决root用户ssh配置无密码登陆/hadoop用户照仿可以实现相同功能:hadoop用户登录并且把命令的所有root换成home/hadoop

    http://inuyasha1027.blog.51cto.com/4003695/1132896/ 主机ip:192.168.163.100(hostname: node0) ssh无密码登陆的远 ...

随机推荐

  1. css查缺补漏2

    15.布局流程 一.确定页面的版心; 二.确定页面中的行模块,以及每个页面中的列模块 三.制作HTML结构 例:.top+.banner+(.main>.left+.right)+.footer ...

  2. 51NOD 1833 环

    考虑一下简单环覆盖这个图的意义,其实就是找出原序列的所有排列,满足所有<i,a[i]>都是原图中的一条有向边. 因为一个置换就是由很多简单环构成的. 于是我们可以设 f[i][S] 为考虑 ...

  3. PyTorch学习笔记之DataLoaders

    A DataLoader wraps a Dataset and provides minibatching, shuffling, multithreading, for you. import t ...

  4. System.Length 函数

    function _PCharLen(P: _PAnsiChr): Longint;{$IFNDEF LEGACY_PCHARLEN}begin  Result := 0;  if P <> ...

  5. 这道js面试题号称99%的人会做错

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Oracle SOA Suite OverView

    SOA是一场架构的变革,那既然是变革,那就一定是有内在的原因来推动这个架构的变革.在过去几十年的时间里面,应用程序架构已经经历了3次巨大的变革,从Terminal/主机--> Client/Se ...

  7. Java反射之Field用法

    在Java反射中Field用于获取某个类的属性或该属性的属性值 一:如何通过Field反射获取类的属性 Field提供如下几种方法: :1:Class.getDeclaredField(String ...

  8. c#中开发ActiveX的学习笔记【转】

    http://www.cnblogs.com/yjmyzz/archive/2009/12/14/1623396.html 1.为什么要用ActiveX? 网页本身的功能是有限的,要想实现一些网页本身 ...

  9. react className 有多个值时的处理 / react 样式使用 百分比(%) 报错

    1.react className 有多个值时的处理 <fieldset className={`${styles.formFieldset} ${styles.formItem}`}> ...

  10. sh脚本——#!/bin/bash

    #!/bin/bash是指此脚本使用/bin/bash来解释执行. 其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径. bash只是shell的一种,还有很多其它shell,如:sh ...