導航:首頁 > 文件管理 > shell修改配置文件

shell修改配置文件

發布時間:2023-10-13 08:08:58

linux添加、修改、刪除jar包內文件

項目現場使用堡壘機等安全措施時,有時不能用FTP方式訪問Linux系統。如果此時需要修改配置文件,或增刪jar包內文件,只能通過Shell命令行進行操作。

首先需要Linux系統中裝有vim和zip程序,使用 vim xxx.jar 打開jar包:

首先建一個目錄,將jar包內的文件解壓到目錄中:

下面是分解動作~

然後,你得到了一個目錄。自行處理好需要添加、刪除的文件後,在目錄中執行:

最後你就得到了一個嶄新的jar包( ̄▽ ̄)/~

Ⅱ shell腳本修改配置文件中內容,實現自動每次加1。求指導,不勝感謝!

#!/bin/bash
NUM=$(grep-oP'(?<=hello-)(d+)'$1)
sed-i"s/$NUM/$((NUM+1))/"$1



Ⅲ 在編寫shell腳本時,用什麼命令來修改配置文件,求解。越詳細越好,謝啦!

完全腳本修改不現實啊!一般的做法是提前定義好配置文件的內容,替換掉默認內的,容然後使用sed -i 『s/1/2/g』修改裡面的ip,打個比方說,nginx的配置文件,我所有的配置文件都一樣,然後用sed改掉裡面的域名和ip,和網頁根目錄。

Ⅳ 如何在shell腳本中修改添加替換指定文件中的內容

1、啟動Linux系統,用ssh工具連上Linux系統。

注意事項:

shell腳本在計算機科學中,是指「為使用者提供操作界面」的軟體(命令解析器)。類似於DOS下的command.com和後來的cmd.exe。它接收用戶命令,然後調用相應的應用程序。

Ⅳ shell 腳本編寫修改文件

修改腳本中的對應變數可以實現替換內容的修改,具體實現如下:




#!/usr/bin/env bash

PASS_MAX_DAYS=90
PASS_MIN_DAYS=2
PASS_MIN_LEN=8
PASS_WARN_AGE=7

login_path="/etc/login.defs"
pwquality_path="/etc/security/pwquality.conf"

if [ -f $login_path ]; then
sed -i -E "s/(^PASS_MAX_DAYS.)[0-9]+/1$PASS_MAX_DAYS/g" $login_path
sed -i -E "s/(^PASS_MIN_DAYS.)[0-9]+/1$PASS_MIN_DAYS/g" $login_path
sed -i -E "s/(^PASS_MIN_LEN.)[0-9]+/1$PASS_MIN_LEN/g" $login_path
sed -i -E "s/(^PASS_WARN_AGE.)[0-9]+/1$PASS_WARN_AGE/g" $login_path
echo "完成$login_path文件的替換"
else
echo "$login_path 文件不存在,請檢查配置"
fi

if [ -f $pwquality_path ]; then
echo password requisite pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 >>$pwquality_path
echo account required /lib/securtiy/pam tally.so deny=5 no_magic_root reset >>$pwquality_path
echo "對$pwquality_path完成追加"
else
echo "$pwquality_path 文件不存在,請檢查配置"
fi

Ⅵ 兩台伺服器手動部署大數據平台

兩台伺服器手動部署大數據平台

##### 初始伺服器數量

- 2台centos7

##### 建議配置

- 32G(RAM)

- 24cpu

- 10t(SATA)

### 1.環境

- 系統centos7

- jdk:1.8.0_171(64位)

- zookeeper:3.4.8

- spark-2.1.0-bin-hadoop2.6

- kafka_2.10-0.10.2.1

- hadoop-2.7.0

- hbase-1.2.6

- elasticsearch-6.3.0

### 2.系統准備

對應的安裝包文件:

elasticsearch-6.3.0.tar.gz

hadoop-2.7.0.tar.gz

hbase-1.2.6-bin.tar.gz

jdk-8u171-linux-x64.tar.gz

kafka_2.10-0.10.2.1.tgz

mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar

spark2.1.0hadoop2.6.tgz.gz

zookeeper-3.4.8.tar.gz

一、 配置好hosts

```

兩台設備的host

ip1 hello1

ip2 hello2

關閉防火牆

systemctl stop firewalld

systemctl disable firewalld

二、機器之間做好免密

1. 在hello1伺服器中,cd /root/

2. ssh-keygen -trsa  (全部按回車,走默認配置)

3. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

4. chmod 600 ~/.ssh/authorized_keys

5. scp ~/.ssh/authorized_keys root@hello2:~/.ssh/

到此處時可以實現hello1機器上通過root賬戶登錄到hello2中,但從hello2中無法通過免密碼登錄到hello1伺服器。

6. 在hello2伺服器中,cd /root/

7. ssh-keygen -trsa  (全部按回車,走默認配置)

8. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

9. scp ~/.ssh/authorized_keys root@hello1:~/.ssh/

到此處時可以實現hello1機器與hello2機器之間免密碼互通

三、建立一個用戶操作elasticsearch用戶,後期所有安裝軟體放在該目錄下(當前使用root賬戶安裝)

1.添加用戶:

useradd -m -s /bin/bash es

2.為該用戶設置密碼:

password es

四、安裝JDK

如果系統自帶openjdk,先將其卸載掉!

1.創建jdk安裝路徑(hello1、hello2都執行)

執行: mkdir /usr/java

2.解壓縮jdk到安裝目錄

執行: tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/

3.添加環境變數

vi /etc/profile,添加以下語句

export JAVA_HOME=/usr/java/jdk1.8.0_171

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

執行:source /etc/profile

4.復制安裝包和數據目錄到hello2

scp  -r /usr/java/jdk1.8.0_171 hello2:/usr/java/

scp /etc/profile hello2:/etc/

登錄到hello2上,進入/home/es目錄

執行: source /etc/profile

5、驗證:

兩台伺服器上分別執行: java -version,查看輸出的版本是否與安裝的版本一致。

五、安裝mysql

1.如果centos系統中自帶mariadb,先卸載mariadb。

2.解壓mysql安裝包程序

執行:tar -xvf  mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar

3.依次安裝裡面rpm包組建

rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.23-1.el7.x86_64.rpm

4.啟動MySQL

執行: systemctl start mysqld

5.登錄mysql伺服器

這種方式安裝好後,會再my.cnf文件中自動生成一個密碼,

執行:cat /var/log/mysqld.log | grep password, 出現如下記錄:

2017-09-15T01:58:11.863301Z 1 [Note] A temporary password is generated for root@localhost: m-NdrSG4ipuO

其中「m-NdrSG4ipuO」為mysql root賬戶的初始密碼。

登錄:

執行: mysql -uroot -p

輸入密碼: m-NdrSG4ipuO,即可進入mysql伺服器。

後續可自行修改root密碼,創建新賬戶等操作。

六、安裝zookeeper

1.解壓zookeeper安裝包到指定目錄(/home/es)

tar -zxvf zookeeper-3.4.8.tar.gz -C /home/es

2.創建程序軟連接

cd /home/es/

ln -s zookeeper-3.4.8 zookeeper

3.添加執行路徑環境

vi /etc/profile

添加

export ZOOKEEPER_HOME=/home/es/zookeeper

export PATH=$PATH:$ZOOKEEPER_HOME/bin

執行

source /etc/profile

4.修改配置文件

cd /home/es/zookeeper

cp conf/zoo_sample.cfg conf/zoo.cfg

在/home/data下創建對應的zookeeper數據存儲目錄

mkdir /home/data/zookeeper

mkdir /home/data/zookeeper/data

mkdir /home/data/zookeeper/log

修改配置文件:conf/zoo.cfg,添加以下語句

dataDir=/home/data/zookeeper/data

dataLogDir=/home/data/zookeeper/log

server.1=hello1:2888:3888

server.2=hello2:2888:3888

5.創建server表示符文件

touch /home/data/zookeeper/data/myid

echo echo 1>/home/data/zookeeper/data/myid

6.復制安裝包和數據目錄到hello2

scp -r /home/es/zookeeper-3.4.8 es@hello2:/home/es

scp -r /home/data/zookeeper es@hello2:/home/data

scp  /etc/profile es@hello2:/etc

登錄到hello2上

cd /home/es

ln -s zookeeper-3.4.8 zookeeper

echo echo 2>/home/data/zookeeper/data/myid

執行

source /etc/profile

7.兩台機器上分別執行

zkServer.sh start

8.驗證

jps | grep QuorumPeerMain,查看是否有該進程

zkServer.sh status,查看服務狀態

六、安裝kafka

1.解壓kafka安裝包到指定目錄(/home/es)

tar -zxvf kafka_2.10-0.10.2.1.tgz -C /home/es

2.創建程序軟連接

cd /home/es/

ln -s kafka_2.10-0.10.2.1 kafka

3.修改配置文件

備份:

cp config/server.properties config/server.properties.bak

創建kafka日誌目錄:

mkdir /home/data/kafka

mkdir /home/data/kafka/kafka-logs

修改:config/server.properties,具體對應欄位如下:

broker.id=0

delete.topic.enable=true

num.network.threads=10

num.io.threads=32

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/home/data/kafka/kafka-logs

num.partitions=1

num.recovery.threads.per.data.dir=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

zookeeper.connect=hello1:2181,hello2:2181

zookeeper.connection.timeout.ms=6000

6.復制安裝包和數據目錄到hello2

scp -r /home/es/kafka_2.10-0.10.2.1 es@hello2:/home/es

scp -r /home/data/kafka es@hello2:/home/data

修改hello2中的配置

登錄到hello2上,cd /home/es/kafka,修改config/server.properties中broker.id值為2.

7.啟動kafka

在兩台機器的/home/es/kafka中,創建一個日誌存放目錄:mkdir start_log,執行以下命令:

nohup bin/kafka-server-start.sh config/server.properties > start_log/kafka_start_log 2>&1 &

8.驗證運行情況

jps | grep Kafka,查看進程

通過kafka命令查看topic。

七、安裝hadoop

1.解壓hadoop安裝包到指定目錄(/home/es)

tar -zxvf hadoop-2.7.0.tar.gz -C /home/es

2.創建程序軟連接

cd /home/es/

ln -s hadoop-2.7.0 hadoop

3.創建數據存放目錄

mkdir /home/data/hadoop

mkdir /home/data/hadoop/tmp

mkdir /home/data/hadoop/dfs

mkdir /home/data/hadoop/dfs/data

mkdir /home/data/hadoop/dfs/name

4.修改配置文件

修改/home/es/hadoop/etc/hadoop/core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://hello1:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>file:/home/data/hadoop/tmp</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>131702</value>

</property>

</configuration>

修改/home/es/hadoop/etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/data/hadoop/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/data/hadoop/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>hello1:9001</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

</configuration>

修改/home/es/hadoop/etc/hadoop/mapred-site.xml

<configuration>

<property>

<name>maprece.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>maprece.jobhistory.address</name>

<value>hello1:10020</value>

</property>

<property>

<name>maprece.jobhistory.webapp.address</name>

<value>hello1:19888</value>

</property>

</configuration>

修改/home/es/hadoop/etc/hadoop/yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>maprece_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.auxservices.maprece.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>hello1:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheler.address</name>

<value>hello1:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>hello1:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>hello1:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>hello1:8088</value>

</property>

<property>

<name>yarn.nodemanager.resource.memory-mb</name>

<value>768</value>

</property>

</configuration>

配置/home/es/hadoop/etc/hadoop目錄下hadoop-env.sh、yarn-env.sh的JAVA_HOME(不設置的話,啟動不了)

export JAVA_HOME=/usr/java/jdk1.8.0_171

配置/home/es/hadoop/etc/hadoop目錄下的slaves,刪除默認的localhost,增加2個從節點,

hello1

hello2

5、將配置好的Hadoop復制到各個節點對應位置上,通過scp傳送

scp  -r /home/es/hadoop-2.7.0 hello2:/home/es/

scp  -r /home/data/hadoop hello2:/home/data/

登錄到hello2上,進入/home/es目錄

執行: ln -s hadoop-2.7.0 hadoop

6、格式化nameNode及啟動hadoop

在主伺服器啟動hadoop,從節點會自動啟動,進入/home/es/hadoop目錄

初始化,輸入命令,bin/hdfs namenode -format

全部啟動sbin/start-all.sh,也可以分開sbin/start-dfs.sh、sbin/start-yarn.sh

輸入命令,jps,可以看到相關信息

7、驗證hadoop運行情況

瀏覽器打開http://hello1:8088/

瀏覽器打開http://hello1:50070/

8、添加hadoop環境變數到/etc/profile

export HADOOP_HOME=/home/es/hadoop export PATH=$PATH:$HADOOP_HOME/sbin

export PATH=$PATH:$HADOOP_HOME/bin

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

執行: source /etc/profile

八、安裝Hbase

1.解壓hbase安裝包到指定目錄(/home/es)

tar -zxvf hbase-1.2.6-bin.tar.gz -C /home/es

2.創建程序軟連接

cd /home/es/

ln -s hbase-1.2.6 hbase

3.添加hbase環境變數到/etc/profile

export  HBASE_HOME=/home/es/hbase

export  PATH=$HBASE_HOME/bin:$PATH

執行:source /etc/profile

4.修改HBASE配置文件

vi /home/es/hbase/conf/hbase-env.sh

增加: export JAVA_HOME=/usr/java/jdk1.8.0_171

修改: export HBASE_MANAGES_ZK=false

vi /home/es/hbase/conf/hbase-site.xml

修改類容:

<configuration>

<property>

<name>hbase.rootdir</name> <!-- hbase存放數據目錄 -->

<value>hdfs://hello1:9000/hbase/hbase_db</value>

<!-- 埠要和Hadoop的fs.defaultFS埠一致-->

</property>

<property>

<name>hbase.cluster.distributed</name> <!-- 是否分布式部署 -->

<value>true</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name> <!-- list of  zookooper -->

<value>hello1,hello2</value>

</property>

<property><!--zookooper配置、日誌等的存儲位置 -->

<name>hbase.zookeeper.property.dataDir</name>

<value>/home/es/hbase/zookeeper</value>

</property>

</configuration>

配置regionservers,vi /home/es/hbase/conf/regionservers

去掉默認的localhost,加入hello1、hello2

5、將配置好的hbase復制到各個節點對應位置上,通過scp傳送

scp  -r /home/es/hbase-1.2.6 hello2:/home/es/

scp /etc/profile hello2:/etc/

登錄到hello2上,進入/home/es目錄

執行: ln -s hbase-1.2.6 hbase

source /etc/profile

6、hbase的啟動

hello1中執行: start-hbase.sh

7、驗證hbase運行情況

輸入jps命令查看進程是否啟動成功,若 hello1上出現HMaster、HRegionServer、HQuormPeer,hello2上出現HRegionServer、HQuorumPeer,就是啟動成功了。

輸入hbase shell 命令 進入hbase命令模式,輸入status命令,查看運行狀態。

在瀏覽器中輸入http://hello1:16010就可以在界面上看到hbase的配置

注意事項:

正常安裝後,創建普通不帶壓縮表可以正常讀寫,當使用snappy進行壓縮創建表時,該表無法再regionServer中啟動!

解決方法:

1.在hbase-site.xml文件中添加一下屬性

<property>

                <name>hbase.regionserver.codecs</name>

                <value>snappy</value>

        </property>

2.每台機器中將hadoop_native.zip解壓縮到hbase安裝目錄的lib下,執行 unzip hadoop_native.zip $HBASE_HOME/lib/

3.在$HBASE_HOME/conf/hbase-env.sh 中添加:export HBASE_LIBRARY_PATH=/home/es/hbase/lib/native

4.重啟Hbase服務即可

九、Spark安裝

1.解壓hbase安裝包到指定目錄(/home/es)

tar -zxvf spark2.1.0hadoop2.6.tgz.gz -C /home/es

2.創建程序軟連接

cd /home/es/

ln -s spark2.1.0hadoop2.6 spark

3.修改配置文件

mv /home/es/spark/conf/spark-env.sh.template  /home/es/spark/conf/spark-env.sh

vi /home/es/spark/conf/spark-env.sh

修改對應配置:

export JAVA_HOME=/usr/java/jdk1.8.0_171

export SPARK_MASTER_IP=hello1

export SPARK_MASTER_PORT=7077

export SPARK_LOCAL_IP=hello1

修改slaves文件

mv /home/es/spark/conf/slaves.template  /home/es/spark/conf/slaves

vi /home/es/spark/conf/slaves

將localhost修改成:

hello1

hello2

5、將配置好的hbase復制到各個節點對應位置上,通過scp傳送

scp  -r /home/es/spark2.1.0hadoop2.6 hello2:/home/es/

登錄到hello2上,進入/home/es目錄

執行: ln -s spark2.1.0hadoop2.6 spark

在hello2中修改/home/es/spark/conf/spark-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_171

export SPARK_MASTER_IP=hello1

export SPARK_MASTER_PORT=7077

export SPARK_LOCAL_IP=hello2

6、啟動spark

cd /home/es/spark

執行: sbin/start-all.sh

7、檢測執行結果

jps | grep Worker,看是否有相應的進程。

十、安裝elasticsearch

由於elasticsearch,用root賬戶無法啟動,故該組件用es賬戶安裝

1、切換到es賬戶: su es

2、解壓hbase安裝包到指定目錄(/home/es)

tar -zxvf elasticsearch-6.3.0.tar.gz -C /home/es/

創建程序軟連接

cd /home/es/

ln -s elasticsearch-6.3.0 elasticsearch

3、修改配置文件

vi /home/es/elasticsearch/config/elasticsearch.yml

# 集群的名字 

cluster.name: crrc-health

# 節點名字 

node.name: node-1 

# 數據存儲目錄(多個路徑用逗號分隔) 

path.data: /home/data1/elasticsearch/data

# 日誌目錄 

path.logs: /home/data1/elasticsearch/logs

#本機的ip地址

network.host: hello1 

#設置集群中master節點的初始列表,可以通過這些節點來自動發現新加入集群的節點

discovery.zen.ping.unicast.hosts: ["hello1", "hello2"]

# 設置節點間交互的tcp埠(集群),(默認9300) 

transport.tcp.port: 9300

# 監聽埠(默認) 

http.port: 9200

# 增加參數,使head插件可以訪問es 

http.cors.enabled: true

http.cors.allow-origin: "*"

4、創建elasticsearch數據和存儲目錄

mkdir /home/data1/elasticsearch

mkdir /home/data1/elasticsearch/data

mkdir /home/data1/elasticsearch/logs

5、修改linux系統的默認硬限制參數

切換至root用戶: su root

vim /etc/security/limits.conf

添加:

es soft nofile 65536

es hard nofile 65536

退出es登錄,重新用es賬戶登錄,使用命令:ulimit -Hn查看硬限制參數。

vi /etc/sysctl.conf

添加:

vm.max_map_count=655360

執行:

sysctl -p

6、將配置好的elasticsearch復制到各個節點對應位置上,通過scp傳送

scp  -r /home/es/elasticsearch-6.3.0 hello2:/home/es/

scp  -r /home/data1/elasticsearch hello2:/home/data1/

登錄到hello2上,進入/home/es目錄

執行: ln -s elasticsearch-6.3.0 elasticsearch-6.3.0

在hello2中修改/home/es/elasticsearch/config/elasticsearch.yml

修改: network.host: hello2

7、啟動elasticsearch

使用es賬戶

執行:

/home/es/elasticsearch/bin/elasticsearch -d

8、驗證

控制台中輸入:curl http://hello1:9200

閱讀全文

與shell修改配置文件相關的資料

熱點內容
bpn配置文件 瀏覽:932
501完美越獄工具 瀏覽:119
中間夾菜單裡面不能顯示壓縮文件 瀏覽:952
如何指導小學生參加編程比賽 瀏覽:275
物業的招標文件有哪些 瀏覽:452
保存游戲文件名非法或只讀 瀏覽:258
js怎麼做圖片時鍾 瀏覽:451
華為應用裡面有了app說明什麼 瀏覽:801
資料庫中xy是什麼意思 瀏覽:893
u盤打不開提示找不到應用程序 瀏覽:609
網站功能介紹怎麼寫 瀏覽:954
word在試圖打開文件時錯誤 瀏覽:108
主板無vga插槽怎麼連接編程器 瀏覽:521
錄視頻文件在哪裡刪除 瀏覽:881
word2013如何插入文件 瀏覽:233
proe教程百度網盤 瀏覽:197
如何控制遠程linux伺服器 瀏覽:740
it教學app有哪些 瀏覽:34
怎麼在ps摳的圖變成矢量文件 瀏覽:405
口袋妖怪銀魂安卓v11 瀏覽:1

友情鏈接