前提是安装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. git grep 或者 ag 进行快速代码搜索

    1.git grep foo 会自动map所有包含foo的文件 2.git grep -n foo  显示行号 3.git grep --name-only foo 只显示文件名 4.git grep ...

  2. JS没有contains方法,可以用indexof实现

    我们很多时候会不自觉的在js代码里对一个字符串进行如下操作: str.contains("substr"); 但是js里面没有这个方法去判断字符串str是不是包含substr,而j ...

  3. redis常用命令与使用分析

    redis-cli的使用 连接服务器 redis-cli -h 127.0.0.1 -p 6392  -a 123456 set操作 语法 sadd key [members.......]      ...

  4. android listview 添加数据

    <span style="white-space:pre"> </span>listView = (ListView) findViewById(R.id. ...

  5. Android --修改arr文件

    1. 改为zip文件 2. 修改 3. 改后缀

  6. Android 关于view的getLayoutParams().width,getWidth(),getMeasuredWidth();

    习惯了使用xml的布局方式,当动态布局的时候就有许多疑点,记录一下,帮助我这老头一样的记忆力. 网上也有许多解析这getLayoutParams().width,getWidth(),getMeasu ...

  7. 细说Redis持久化机制

    概述 Redis不仅能够作为缓存来使用,也能够作为内存数据库. Redis作为内存数据库使用时.必需要解决一个问题:数据的持久性.有些将Redis作为缓存使用的场景也需要将缓存的数据持久化到存储介质上 ...

  8. 在windows下安装gulp[转]

    一.准备工作 1.什么是 npm? npm 是 nodejs 的包管理工具,主要功能就是管理.更新.搜索.发布node的包.Gulp 就是通过 NPM 安装的.关于 NPM 中文介绍,这里有一篇非常不 ...

  9. 21. Spring Boot过滤器、监听器【从零开始学Spring Boot】

    转载:http://blog.csdn.net/linxingliang/article/details/52069490 上一篇文章已经对定义Servlet 的方法进行了说明,过滤器(Filter) ...

  10. C#.NET的TabControl如何隐藏和显示页面

    如果需要显示某个页面,则让他的Parent就是TabControl的控件名称,如果要隐藏,则等于null      private void ToolStripMenuItemTeachPanelBa ...